53 lines
1.1 KiB
Go
53 lines
1.1 KiB
Go
package game
|
|
|
|
import (
|
|
"server/msg"
|
|
|
|
"google.golang.org/protobuf/proto"
|
|
)
|
|
|
|
func ReqPetFur(player *Player, buf []byte) error {
|
|
FurMod := player.GetFurMod()
|
|
player.PushClientRes(FurMod.BackData())
|
|
return nil
|
|
}
|
|
|
|
func ReqPetFurBuy(player *Player, buf []byte) error {
|
|
var req msg.ReqPetFurBuy
|
|
err := proto.Unmarshal(buf, &req)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
FurMod := player.GetFurMod()
|
|
costList, AddItem := FurMod.GetFurBuyCost(int(req.FurId))
|
|
// 扣除物品
|
|
err = player.HandleLoseItem(costList, msg.ITEM_POP_LABEL_PetFurShop.String())
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// 增加物品
|
|
err = player.HandleItem(AddItem, msg.ITEM_POP_LABEL_PetFurShop.String())
|
|
if err != nil {
|
|
return err
|
|
}
|
|
player.PlayMod.save()
|
|
return nil
|
|
}
|
|
|
|
func ReqFurSet(player *Player, buf []byte) error {
|
|
var req msg.ReqFurSet
|
|
err := proto.Unmarshal(buf, &req)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
FurMod := player.GetFurMod()
|
|
err = FurMod.SetFur(int(req.FurId))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
player.UpdateUserInfo()
|
|
player.PlayMod.save()
|
|
player.PushClientRes(FurMod.BackData())
|
|
return nil
|
|
}
|