player_service.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package facade
  2. import (
  3. dbFacade "f1-game/internal/component/db/facade"
  4. ctime "github.com/cherry-game/cherry/extend/time"
  5. cproto "github.com/cherry-game/cherry/net/proto"
  6. )
  7. type (
  8. IPlayerService[T dbFacade.Table] interface {
  9. OnLogin(table T, session *cproto.Session) // 开始登录
  10. OnLogined(table T, session *cproto.Session) // 登录之后
  11. OnLogout(table T) // 退出登录
  12. OnReset(table T, time *ctime.CherryTime, byLogin bool) // 重置数据
  13. Push(table T, session *cproto.Session) // 推送数据
  14. }
  15. PlayerServiceBase[T dbFacade.Table] struct {
  16. }
  17. )
  18. func (*PlayerServiceBase[T]) OnInit(table T) {
  19. }
  20. func (*PlayerServiceBase[T]) OnLogin(table T, session *cproto.Session) {
  21. }
  22. func (*PlayerServiceBase[T]) OnLogined(table T, session *cproto.Session) {
  23. }
  24. func (*PlayerServiceBase[T]) OnLogout(table T) {
  25. }
  26. func (*PlayerServiceBase[T]) OnReset(table T, time *ctime.CherryTime, byLogin bool) {
  27. }
  28. func (*PlayerServiceBase[T]) Push(table T, session *cproto.Session) {
  29. }