map_player.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package actorRemote
  2. import (
  3. capp "f1-game/internal/cherry_app"
  4. "f1-game/internal/code"
  5. nameActor "f1-game/internal/name/actor"
  6. nameRemote "f1-game/internal/name/remote"
  7. "f1-game/internal/pb"
  8. "f1-game/internal/types"
  9. assetOrigin "f1-game/nodes/game/player/asset/origin"
  10. cfacade "github.com/cherry-game/cherry/facade"
  11. clog "github.com/cherry-game/cherry/logger"
  12. )
  13. type mapPlayer struct {
  14. }
  15. func newMapPlayer() *mapPlayer {
  16. return &mapPlayer{}
  17. }
  18. func (p *mapPlayer) AddAssets(mapNodeID string, playerID int64, addAssets types.Assets, ao assetOrigin.Origin) int32 {
  19. if len(mapNodeID) <= 0 {
  20. clog.Warnf("[AddAssets] map node not found. playerID = %d, addAssets = %+v, ao=%+v", playerID, addAssets, ao)
  21. return code.NodeMapNotFound
  22. }
  23. target := cfacade.NewChildPath(mapNodeID, nameActor.Map_Player, playerID)
  24. capp.Call(target, nameRemote.MapPlayer_AssetAdd, &pb.PlayerAddAssets{
  25. AddAssets: addAssets.ToProto(),
  26. Origin: ao.ID,
  27. })
  28. return code.OK
  29. }
  30. func (p *mapPlayer) LeagueJoin(playerID, leagueID int64, leagueName string) int32 {
  31. joinReq := &pb.I64Str{Key: leagueID, Value: leagueName}
  32. // 通知map_player 玩家加入联盟
  33. targetPath := cfacade.NewChildPath(capp.NodeID(), nameActor.Map_Player, playerID)
  34. return capp.CallWait(targetPath, nameRemote.MapLeague_JoinNotice, joinReq, nil)
  35. }