package facade import ( dbFacade "f1-game/internal/component/db/facade" ctime "github.com/cherry-game/cherry/extend/time" cproto "github.com/cherry-game/cherry/net/proto" ) type ( IPlayerService[T dbFacade.Table] interface { OnLogin(table T, session *cproto.Session) // 开始登录 OnLogined(table T, session *cproto.Session) // 登录之后 OnLogout(table T) // 退出登录 OnReset(table T, time *ctime.CherryTime, byLogin bool) // 重置数据 Push(table T, session *cproto.Session) // 推送数据 } PlayerServiceBase[T dbFacade.Table] struct { } ) func (*PlayerServiceBase[T]) OnInit(table T) { } func (*PlayerServiceBase[T]) OnLogin(table T, session *cproto.Session) { } func (*PlayerServiceBase[T]) OnLogined(table T, session *cproto.Session) { } func (*PlayerServiceBase[T]) OnLogout(table T) { } func (*PlayerServiceBase[T]) OnReset(table T, time *ctime.CherryTime, byLogin bool) { } func (*PlayerServiceBase[T]) Push(table T, session *cproto.Session) { }