package controller import ( "blazing/common/data/xmlres" "blazing/common/socket/errorcode" "blazing/logic/service/fight" "blazing/logic/service/item" "blazing/logic/service/player" "github.com/gogf/gf/v2/util/gconv" ) // ItemSale 出售道具 // data: 包含道具ID和数量的输入信息 // c: 当前玩家对象 // 返回: 空结果和错误码 func (h Controller) ItemSale(data *item.C2S_ITEM_SALE, c *player.Player) (result *fight.NullOutboundInfo, err errorcode.ErrorCode) { if c.Service.Item.CheakItem(data.ItemId) < data.Amount { return nil, errorcode.ErrorCodes.ErrSystemError } itemConfig := xmlres.ItemsMAP[int(data.ItemId)] if itemConfig.SellPrice != 0 { c.Info.Coins += uint32(int64(data.Amount) * int64(itemConfig.SellPrice)) } c.Service.Item.UPDATE(data.ItemId, -gconv.Int(data.Amount)) return result, 0 }