package player import ( "f1-game/internal/code" "f1-game/internal/enum" nameRemote "f1-game/internal/name/remote" "f1-game/internal/pb" "f1-game/nodes/game/player/asset" "f1-game/nodes/game/player/gm" "strings" ) func (p *actorPlayer) initGM() { p.Remote().Register(nameRemote.Player_SendGM, p.sendGM) p.Remote().Register(nameRemote.Player_GetInfo, p.getPlayerInfo) } // gm操作 func (p *actorPlayer) sendGM(req *pb.Str) int32 { gmStr := req.Value if !strings.HasPrefix(gmStr, "/gm ") { return code.RequestParamsError } return gm.Service().SendGM(p.playerID, gmStr) } // 获取玩家信息 func (p *actorPlayer) getPlayerInfo(req *pb.I64) (*pb.PlayerDetailInfo, int32) { playerDetail := &pb.PlayerDetailInfo{} playerTable := p.PlayerTable() // 获取账号信息 account := &pb.AccountInfo{} account.AccountID = playerTable.OpenID playerDetail.Account = account // 获取玩家信息 playerDetail.Player = playerTable.ToPlayerInfo() playerDetail.Player.IsOnline = p.isOnline // 获取玩家资产 for _, itemID := range enum.OpsItemInfoList { count := asset.Service().Get(p.playerID, itemID) item := &pb.I32I64{ Key: itemID, Value: count, } playerDetail.Items = append(playerDetail.Items, item) } // 获取英雄列表 heroTable := p.HeroTable() playerDetail.Heroes = heroTable.Heroes.HeroGroupMap() // TODO 充值数据 return playerDetail, code.OK }