league.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. package mapCall
  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. ao "f1-game/nodes/game/player/asset/origin"
  10. cfacade "github.com/cherry-game/cherry/facade"
  11. )
  12. var (
  13. League = &leagueCall{}
  14. )
  15. type leagueCall struct {
  16. }
  17. func (p *leagueCall) ForceResidenceBack(leagueID, playerID int64) {
  18. target := p.targetPath(leagueID)
  19. capp.Call(target, nameRemote.MapLeague_ForceResidenceBack, &pb.I64{Value: playerID})
  20. }
  21. func (p *leagueCall) BuildUpdate(leagueID int64, req *pb.BuildUpdate) {
  22. target := p.targetPath(leagueID)
  23. capp.Call(target, nameRemote.MapLeague_BuildUpdate, req)
  24. }
  25. // 获取联盟列表
  26. func (p *leagueCall) LeagueList(playerID int64) (*pb.LeagueList, int32) {
  27. var (
  28. req = &pb.I64{
  29. Value: playerID,
  30. }
  31. resp = &pb.LeagueList{}
  32. target = p.target()
  33. )
  34. errCode := capp.CallWait(target, nameRemote.MapLeague_List, req, resp)
  35. if code.IsFail(errCode) {
  36. return nil, errCode
  37. }
  38. return resp, code.OK
  39. }
  40. // 联盟搜索
  41. func (p *leagueCall) LeagueSearch(keyword string) (*pb.LeagueList, int32) {
  42. var (
  43. req = &pb.Str{Value: keyword}
  44. resp = &pb.LeagueList{}
  45. target = p.target()
  46. )
  47. errCode := capp.CallWait(target, nameRemote.MapLeague_Search, req, resp)
  48. if code.IsFail(errCode) {
  49. return nil, errCode
  50. }
  51. return resp, code.OK
  52. }
  53. // 创建联盟
  54. func (p *leagueCall) LeagueCreate(playerID int64, leagueName, leagueAbbName string, flagBg, flagIcon int32) (int64, int32) {
  55. var (
  56. target = p.target()
  57. resp = &pb.I64{}
  58. )
  59. errCode := capp.CallWait(target, nameRemote.MapLeague_Create, &pb.CreateLeague{
  60. PlayerID: playerID,
  61. LeagueName: leagueName,
  62. LeagueAbbName: leagueAbbName,
  63. FlagBg: flagBg,
  64. FlagIcon: flagIcon,
  65. }, resp)
  66. if code.IsFail(errCode) {
  67. return 0, errCode
  68. }
  69. return resp.Value, code.OK
  70. }
  71. // 加入联盟
  72. func (p *leagueCall) LeagueJoin(playerID, leagueID int64, lordLevel int32) int32 {
  73. var (
  74. target = p.targetPath(leagueID)
  75. req = &pb.I64I32{
  76. Key: playerID,
  77. Value: lordLevel,
  78. }
  79. )
  80. errCode := capp.Call(target, nameRemote.MapLeague_Join, req)
  81. if code.IsFail(errCode) {
  82. return errCode
  83. }
  84. return code.OK
  85. }
  86. func (p *leagueCall) LeagueOnLogin(playerID, leagueID int64) {
  87. var (
  88. req = &pb.I64{
  89. Value: playerID,
  90. }
  91. target = p.targetPath(leagueID)
  92. )
  93. capp.Call(target, nameRemote.MapLeague_OnLogin, req)
  94. }
  95. func (p *leagueCall) MapLeagueAddAssets(playerID, leagueID int64, mapLeagueAssets types.Assets) {
  96. if leagueID <= 0 {
  97. return
  98. }
  99. req := &pb.AddAssets{
  100. PlayerID: playerID,
  101. Assets: mapLeagueAssets.ToProto(),
  102. }
  103. target := p.targetPath(leagueID)
  104. capp.Call(target, nameRemote.MapLeague_AddAssets, req)
  105. }
  106. func (p *leagueCall) AddRatioAssets(playerID, leagueID int64, asset types.Assets, origin ao.Origin) {
  107. if leagueID <= 0 {
  108. return
  109. }
  110. req := &pb.AddAssets{
  111. PlayerID: playerID,
  112. Assets: asset.ToProto(),
  113. Origin: origin.ID,
  114. }
  115. target := p.targetPath(leagueID)
  116. capp.Call(target, nameRemote.MapLeague_AddRatioAssets, req)
  117. }
  118. func (p *leagueCall) BattleReportAdd(leagueID int64, reportGroup *pb.ReportGroup) {
  119. target := p.targetPath(leagueID)
  120. capp.Call(target, nameRemote.MapLeague_ReportAdd, reportGroup)
  121. }
  122. func (p *leagueCall) AssembleAdd(leagueID int64, req *pb.NewAssemble) {
  123. target := p.targetPath(leagueID)
  124. capp.Call(target, nameRemote.MapLeague_AssembleAdd, req)
  125. }
  126. func (p *leagueCall) AssembleUpdate(leagueID int64, req *pb.AssembleUpdate) {
  127. target := p.targetPath(leagueID)
  128. capp.Call(target, nameRemote.MapLeague_AssembleUpdate, req)
  129. }
  130. func (p *leagueCall) targetPath(leagueID int64) string {
  131. return cfacade.NewChildPath("", nameActor.Map_League, leagueID)
  132. }
  133. func (p *leagueCall) target() string {
  134. return cfacade.NewPath("", nameActor.Map_League)
  135. }