package controller import ( "blazing/common/data/xmlres" "blazing/common/socket/errorcode" "blazing/logic/service/player" "blazing/logic/service/room" ) // BuyFitment 购买基地家具 // data: 包含家具ID和购买数量的输入信息 // c: 当前玩家对象 // 返回: 购买结果和错误码 func (h Controller) BuyFitment(data *room.C2S_BUY_FITMENT, c *player.Player) (result *room.S2C_BUY_FITMENT, err errorcode.ErrorCode) { result = &room.S2C_BUY_FITMENT{} itemConfig := xmlres.ItemsMAP[int(data.ID)] totalCost := itemConfig.Price * int(data.Count) if !c.GetCoins(uint32(totalCost)) { return nil, errorcode.ErrorCodes.ErrSunDouInsufficient10016 } c.Service.Item.UPDATE(data.ID, int(data.Count)) c.Info.Coins -= uint32(totalCost) result.ID = data.ID result.Coins = c.Info.Coins return }