facade.go 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package gameFacade
  2. import (
  3. "f1-game/internal/enum"
  4. facade "f1-game/internal/facade"
  5. "f1-game/internal/types"
  6. "f1-game/nodes/game/internal/db"
  7. dbEquip "f1-game/nodes/game/internal/db/data/equip"
  8. dbHero "f1-game/nodes/game/internal/db/data/hero"
  9. ao "f1-game/nodes/game/player/asset/origin"
  10. )
  11. // asset 资产
  12. type (
  13. asset interface {
  14. Add(playerID int64, id int32, num int64, origin ao.Origin, push bool) (types.Assets, int32)
  15. Adds(playerID int64, assets types.Assets, origin ao.Origin, push bool) (types.Assets, int32)
  16. Sub(playerID int64, id int32, num int64, origin ao.Origin) (types.Assets, int32)
  17. }
  18. )
  19. // // currency 货币接口
  20. // type currency interface {
  21. // ChangePush(playerID int64, idList ...int32) // 货币变更推送
  22. // Add(playerID int64, id int32, num int64, origin ao.Origin, save, push bool) (types.Asset, int32) // 加
  23. // Sub(playerID int64, id int32, num int64, origin ao.Origin, save, push bool) int32 // 减
  24. // }
  25. // // item 道具接口
  26. // type item interface {
  27. // ChangePush(playerID int64, idList ...int32) // 道具变更推送
  28. // Add(playerID int64, id int32, num int64, origin ao.Origin, save, push bool) (types.Asset, int32) // 加
  29. // Sub(playerID int64, id int32, num int64, origin ao.Origin, save, push bool) int32
  30. // }
  31. // hero 英雄
  32. type hero interface {
  33. facade.IPlayerService[*db.PlayerTable]
  34. UpdateAttrs(playerID int64, heroEntity *dbHero.Hero) // 更新英雄属性
  35. AddOne(playerID int64, heroCfgID int32, num int32, ao ao.Origin, push bool) (types.Assets, int32)
  36. ChangePush(playerID int64, removeHeroes []int64, updateHeroes ...*dbHero.Hero)
  37. HeroBookChangePush(playerID int64, updateHeroBooks ...int32)
  38. }
  39. type lord interface {
  40. facade.IPlayerService[*db.PlayerTable]
  41. AddExp(playerID, exp int64) int32
  42. }
  43. type equip interface {
  44. facade.IPlayerService[*db.PlayerTable]
  45. Add(playerID int64, equipID int32, num int64, ao ao.Origin, push bool) (types.Assets, int32)
  46. ChangePush(playerID int64, removeEquips []int64, updateEquips ...*dbEquip.Equip)
  47. }
  48. type chat interface {
  49. facade.IPlayerService[*db.PlayerTable]
  50. CreateChatRoom(playerID int64, chatType enum.ChatType, chatID int64) // 创建关联聊天室,进入联盟,地图
  51. RemoveChatRoom(playerID int64, chatType enum.ChatType, chatID int64) // 移除关联聊天室,退出联盟,地图
  52. }
  53. type lineup interface {
  54. facade.IPlayerService[*db.PlayerTable]
  55. LineupChangePush(playerID int64, lineupType int32, lineupIDList ...int32)
  56. }
  57. type vip interface {
  58. facade.IPlayerService[*db.PlayerTable]
  59. AddExp(playerID int64, exp int64) int32
  60. AddDay(playerID int64, day int32) int32
  61. }
  62. type charge interface {
  63. facade.IPlayerService[*db.PlayerTable]
  64. ChargePush(playerID int64)
  65. }
  66. type chapter interface {
  67. facade.IPlayerService[*db.PlayerTable]
  68. GetStaminaLimit(playerID int64) int64
  69. GetStaminaPoolLimit(playerID int64) int64
  70. }