| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- package proto
- import (
- "bet24.com/log"
- "bet24.com/servers/micros/common"
- "context"
- )
- type Request_GetItem struct {
- ItemId int
- }
- type Response_GetItem struct {
- Itm *Item
- }
- func GetItem(itemId int) *Item {
- xclient := getClient()
- //defer xclient.Close()
- args := &Request_GetItem{
- ItemId: itemId,
- }
- reply := &Response_GetItem{}
- err := xclient.Call(context.Background(), "GetItem", args, reply)
- if err != nil {
- log.Debug("item_invenroty failed to call: %v", err)
- common.GetClientPool().RemoveClient(ServiceName)
- return nil
- }
- return reply.Itm
- }
- type Response_GetItems struct {
- Itms map[int]*Item
- }
- func GetItems() map[int]*Item {
- xclient := getClient()
- //defer xclient.Close()
- args := &Request{}
- reply := &Response_GetItems{}
- err := xclient.Call(context.Background(), "GetItems", args, reply)
- if err != nil {
- log.Debug("item_invenroty failed to call: %v", err)
- common.GetClientPool().RemoveClient(ServiceName)
- return nil
- }
- return reply.Itms
- }
- type Request_GetItemValue struct {
- ItemId int
- Count int
- }
- type Response_GetItemValue struct {
- Value int
- }
- func GetItemValue(itemId int, count int) int {
- xclient := getClient()
- args := &Request_GetItemValue{
- ItemId: itemId,
- Count: count,
- }
- reply := &Response_GetItemValue{}
- err := xclient.Call(context.Background(), "GetItemValue", args, reply)
- if err != nil {
- log.Debug("item_invenroty failed to call: %v", err)
- common.GetClientPool().RemoveClient(ServiceName)
- return 0
- }
- return reply.Value
- }
- type Request_ItemPack struct {
- Items []ItemPack
- }
- func ChangeItemCountToDuracion(items []ItemPack) []ItemPack {
- xclient := getClient()
- args := &Request_ItemPack{
- Items: items,
- }
- reply := &Request_ItemPack{}
- err := xclient.Call(context.Background(), "ChangeItemCountToDuracion", args, reply)
- if err != nil {
- log.Debug("item_invenroty failed to call: %v", err)
- common.GetClientPool().RemoveClient(ServiceName)
- return items
- }
- return reply.Items
- }
- func GetItemEffect(itemId int) EffectInfo {
- itm := GetItem(itemId)
- if itm == nil {
- return EffectInfo{}
- }
- return itm.EffectInfo
- }
|