58 lines
1.4 KiB
Go
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)
|
|
}
|