| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- package player
- import (
- "f1-game/internal/code"
- "f1-game/internal/data"
- "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"
- cprofile "github.com/cherry-game/cherry/profile"
- )
- func (p *actorPlayer) initGM() {
- p.Remote().Register(nameRemote.Player_GMTimeOffset, p.gmTimeOffset)
- p.Remote().Register(nameRemote.Player_SendGM, p.sendGM)
- p.Remote().Register(nameRemote.Player_GetInfo, p.getPlayerInfo)
- }
- // gmTimeOffset 设置时间偏移
- func (p *actorPlayer) gmTimeOffset(req *pb.I64) {
- if !cprofile.Debug() || !data.NodeState.GmEnable {
- return
- }
- gm.Service().TimeOffset(req.Value)
- }
- // 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
- }
|