增加playroom道具购买接口
This commit is contained in:
parent
a69ea709a3
commit
fd96d805af
@ -125,3 +125,11 @@ func GetDecorateList() []int {
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func GetBuyItem(Id int) ([]*item.Item, []*item.Item) {
|
||||
data, err := gamedata.GetDataByIntKey(CFG_PLAYROOM_MOOD, Id)
|
||||
if err != nil {
|
||||
return nil, nil
|
||||
}
|
||||
return gamedata.GetItemList(data, "Cost2"), gamedata.GetItemList(data, "Buy")
|
||||
}
|
||||
|
||||
@ -775,6 +775,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() {
|
||||
RegisterMsgProcessFunc("ReqFriendTreasureStart", ReqFriendTreasureStart) // 开始游戏
|
||||
RegisterMsgProcessFunc("ReqFriendTreasureFilp", ReqFriendTreasureFilp) // 翻牌
|
||||
RegisterMsgProcessFunc("ReqFriendTreasureEnd", ReqFriendTreasureEnd) // 结束游戏
|
||||
RegisterMsgProcessFunc("ReqPlayroomBuyItem", ReqPlayroomBuyItem) // 购买playroom物品
|
||||
|
||||
RegisterMsgProcessFunc("ReqKafkaLog", ReqKafkaLog) // 客户端日志
|
||||
RegisterMsgProcessFunc("ReqCreateOrderSn", ReqCreateOrderSn) // 创建订单号
|
||||
|
||||
@ -3161,6 +3161,44 @@ func ReqPlayroomFlipReward(args []interface{}) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func ReqPlayroomBuyItem(args []interface{}) error {
|
||||
_, player, buf := ParseArgs(args)
|
||||
req := &msg.ReqPlayroomBuyItem{}
|
||||
proto.Unmarshal(buf, req)
|
||||
PlayroomMod := player.PlayMod.getPlayroomMod()
|
||||
AddItems, CostItem := PlayroomMod.BuyItem(int(req.Id))
|
||||
if CostItem == nil {
|
||||
err := fmt.Errorf("can not buy item")
|
||||
player.SendErrClienRes(&msg.ResPlayroomBuyItem{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: err.Error(),
|
||||
})
|
||||
return err
|
||||
}
|
||||
err := player.HandleLoseItem(CostItem, msg.ITEM_POP_LABEL_PlayroomBuyItem.String())
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResPlayroomBuyItem{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: err.Error(),
|
||||
})
|
||||
return err
|
||||
}
|
||||
err = player.HandleItem(AddItems, msg.ITEM_POP_LABEL_PlayroomBuyItem.String())
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResPlayroomBuyItem{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: err.Error(),
|
||||
})
|
||||
return err
|
||||
}
|
||||
player.PlayMod.save()
|
||||
// PlayroomBackData(player)
|
||||
player.PushClientRes(&msg.ResPlayroomBuyItem{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
func ReqOfflineReconnectFunc(args []interface{}) error {
|
||||
a := args[0].(gate.Agent)
|
||||
|
||||
|
||||
@ -455,3 +455,7 @@ func (p *PlayroomMod) GetFlipReward() ([]*item.Item, error) {
|
||||
}
|
||||
return Items, fmt.Errorf("GetFlipReward check is not 3")
|
||||
}
|
||||
|
||||
func (p *PlayroomMod) BuyItem(Id int) ([]*item.Item, []*item.Item) {
|
||||
return playroomCfg.GetBuyItem(Id)
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user