Implemented scene events and callback handlers for those events. Manager defaults also added.
This commit is contained in:
17
scene.go
17
scene.go
@@ -2,8 +2,23 @@ package groovy
|
||||
|
||||
import "github.com/hajimehoshi/ebiten/v2"
|
||||
|
||||
type SceneEvent int64
|
||||
|
||||
const (
|
||||
NOOP SceneEvent = 0
|
||||
RESET SceneEvent = 1 // reset to initial scene
|
||||
RELOAD SceneEvent = 3 // reload current scene
|
||||
COMPLETED SceneEvent = 4 // current scene has completed
|
||||
ENDGAME SceneEvent = 5 // shutdown all scenes
|
||||
)
|
||||
|
||||
type Scene interface {
|
||||
Update() error
|
||||
Draw(screen *ebiten.Image)
|
||||
Completed() bool
|
||||
SetEventHandler(e SceneEvent, f func())
|
||||
}
|
||||
|
||||
type ArgoScale interface {
|
||||
Draw(screen *ebiten.Image)
|
||||
GetSceneEvents() []SceneEvent
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user