Files
bl/logic/controller/room_buy.go
昔念 d198e7446a feat(room): 移除旧版房间控制器逻辑并重构家具展示信息结构
移除了 logic/controller/room.go 中已废弃的房间相关控制器方法,包括获取基地物品、展示精灵及房间家具的方法。同时,在 logic/service/room/FitmentShowInfo.go 中对家具展示信息结构进行了重构,引入了 model.FitmentShowInfo 并新增 SET_FITMENT 和 NullInfo 结构体以支持新的数据协议。另外,在 pet.go 中增加 PetInfo_One_ohter 方法用于查询指定用户的宠物信息,并在 user.go 中为 UserService 添加 RoomService 支持。
2025-12-13 22:51:39 +08:00

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
}