map_player.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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 int64, req *pb.LeagueJoinNotice) int32 {
  31. // 通知map_player 玩家加入联盟
  32. targetPath := cfacade.NewChildPath(capp.NodeID(), nameActor.Map_Player, playerID)
  33. return capp.CallWait(targetPath, nameRemote.MapLeague_JoinNotice, req, nil)
  34. }