define.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package mapFacade
  2. import (
  3. facade "f1-game/internal/facade"
  4. "f1-game/nodes/map/internal/db"
  5. ctime "github.com/cherry-game/cherry/extend/time"
  6. cproto "github.com/cherry-game/cherry/net/proto"
  7. )
  8. var (
  9. Storage IMapStorage // 货币
  10. )
  11. var (
  12. playerServiceList []facade.IPlayerService[*db.MapPlayerTable]
  13. leagueServiceList []ILeagueService[*db.MapLeagueTable]
  14. )
  15. func ServiceRegister(service facade.IPlayerService[*db.MapPlayerTable]) {
  16. playerServiceList = append(playerServiceList, service)
  17. }
  18. func ServiceOnLogin(playerTable *db.MapPlayerTable, session *cproto.Session) {
  19. for _, service := range playerServiceList {
  20. service.OnLogin(playerTable, session)
  21. }
  22. }
  23. func ServiceOnLogined(playerTable *db.MapPlayerTable, session *cproto.Session) {
  24. for _, service := range playerServiceList {
  25. service.OnLogined(playerTable, session)
  26. }
  27. }
  28. func ServiceOnLogout(playerTable *db.MapPlayerTable) {
  29. for _, service := range playerServiceList {
  30. service.OnLogout(playerTable)
  31. }
  32. }
  33. func ServiceOnReset(playerTable *db.MapPlayerTable, time *ctime.CherryTime, byLogin bool) {
  34. for _, service := range playerServiceList {
  35. service.OnReset(playerTable, time, byLogin)
  36. }
  37. }
  38. func ServicePush(playerTable *db.MapPlayerTable, session *cproto.Session) {
  39. for _, service := range playerServiceList {
  40. service.Push(playerTable, session)
  41. }
  42. }
  43. func LeagueServiceRegister(service ILeagueService[*db.MapLeagueTable]) {
  44. leagueServiceList = append(leagueServiceList, service)
  45. }
  46. func LeagueServiceOnInit(leagueTable *db.MapLeagueTable) {
  47. for _, service := range leagueServiceList {
  48. service.OnInit(leagueTable)
  49. }
  50. }
  51. func LeagueServiceOnReset(leagueTable *db.MapLeagueTable, dayReset bool, weekReset bool) {
  52. for _, service := range leagueServiceList {
  53. service.OnReset(leagueTable, dayReset, weekReset)
  54. }
  55. }
  56. func LeagueServicePush(leagueTable *db.MapLeagueTable, session *cproto.Session) {
  57. for _, service := range leagueServiceList {
  58. service.Push(leagueTable, session)
  59. }
  60. }