pet_home_server/src/server/game/admin.go
2024-12-23 17:12:15 +08:00

58 lines
1.4 KiB
Go

package game
import (
"encoding/json"
"server/msg"
"server/pkg/github.com/name5566/leaf/gate"
"server/pkg/github.com/name5566/leaf/log"
"google.golang.org/protobuf/proto"
)
var AdminFuncMap = map[string]func([]interface{}) error{
"ReqAdminInfo": AdminPlayerInfo,
}
func AdminProcess(Func string, args []interface{}) {
if f, ok := AdminFuncMap[Func]; ok {
err := f(args)
if err != nil {
log.Debug("AdminProcess error: %v", err)
}
return
}
log.Debug("AdminProcess error: %v", "Func not found")
}
func AdminPlayerInfo(args []interface{}) error {
a, buf := ParseAdminArgs(args)
req := &msg.ReqAdminInfo{}
proto.Unmarshal(buf, req)
player := G_GameLogicPtr.GetPlayer(req.Uid)
if player == nil {
player = new(Player)
player.M_DwUin = req.Uid
player.InitPlayerOnly()
}
res := make(map[string]interface{})
res["Name"] = player.PlayMod.getBaseMod().NickName
res["AreaId"] = player.PlayMod.getDecorateMod().GetAreaId()
res["ChargeMoney"] = player.PlayMod.getChargeMod().Charge
res["Level"] = player.GetPlayerBaseMod().GetLevel()
res["Diamond"] = player.GetPlayerBaseMod().GetDiamond()
res["Star"] = player.GetPlayerBaseMod().GetStar()
JsonBuff, err := json.Marshal(res)
if err != nil {
return err
}
AdminPlayerBack(a, JsonBuff)
return nil
}
func AdminPlayerBack(a gate.Agent, buf []byte) {
response := &msg.AdminRes{}
response.Func = "admin"
response.Info = buf
a.WriteMsg(response)
}