移除了 logic/controller/room.go 中已废弃的房间相关控制器方法,包括获取基地物品、展示精灵及房间家具的方法。同时,在 logic/service/room/FitmentShowInfo.go 中对家具展示信息结构进行了重构,引入了 model.FitmentShowInfo 并新增 SET_FITMENT 和 NullInfo 结构体以支持新的数据协议。另外,在 pet.go 中增加 PetInfo_One_ohter 方法用于查询指定用户的宠物信息,并在 user.go 中为 UserService 添加 RoomService 支持。
28 lines
632 B
Go
28 lines
632 B
Go
package controller
|
|
|
|
import (
|
|
"blazing/common/data/xmlres"
|
|
"blazing/common/socket/errorcode"
|
|
"blazing/logic/service/player"
|
|
"blazing/logic/service/room"
|
|
)
|
|
|
|
// 购买家具
|
|
func (h Controller) BUY_FITMENT(data *room.C2S_BUY_FITMENT, c *player.Player) (result *room.S2C_BUY_FITMENT, err errorcode.ErrorCode) {
|
|
|
|
result = &room.S2C_BUY_FITMENT{}
|
|
|
|
used := xmlres.ItemsMAP[int(data.ID)].Price * int(data.Count)
|
|
|
|
if !c.UseCoins(uint32(used)) {
|
|
return nil, errorcode.ErrorCodes.ErrPurchaseFailed
|
|
|
|
}
|
|
c.Service.Room.Add(data.ID, data.Count)
|
|
c.Info.Coins -= uint32(used)
|
|
result.ID = data.ID
|
|
result.Coins = c.Info.Coins
|
|
|
|
return
|
|
}
|