game_sync/gamesrv/base/scene_event.go

38 lines
663 B
Go

package base
import (
"mongo.games.com/goserver/core/basic"
)
type SceneEventHandler interface {
Handler(*Scene, interface{})
}
type SceneEventHandlerWrapper func(*Scene, interface{})
func (sehw SceneEventHandlerWrapper) Handler(s *Scene, d interface{}) {
sehw(s, d)
}
type SceneEvent struct {
d interface{}
h SceneEventHandler
}
type SceneEventCommand struct {
*Scene
*SceneEvent
}
func (this *SceneEventCommand) Done(o *basic.Object) error {
defer o.ProcessSeqnum()
this.SceneEvent.h.Handler(this.Scene, this.SceneEvent.d)
return nil
}
type SceneTimerHandlerWrapper func(*Scene, interface{})
type SceneTimer struct {
d interface{}
c int32
}