2023-08-21 08:04:25 -04:00
|
|
|
package groovy
|
|
|
|
|
|
|
|
|
|
import "github.com/hajimehoshi/ebiten/v2"
|
|
|
|
|
|
2023-08-23 01:24:43 -04:00
|
|
|
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
|
|
|
|
|
)
|
|
|
|
|
|
2023-08-21 08:04:25 -04:00
|
|
|
type Scene interface {
|
|
|
|
|
Update() error
|
|
|
|
|
Draw(screen *ebiten.Image)
|
2023-08-23 01:24:43 -04:00
|
|
|
SetEventHandler(e SceneEvent, f func())
|
|
|
|
|
}
|