package groovy

import "github.com/hajimehoshi/ebiten/v2"

type SceneEvent int64

const (
	NOOP      SceneEvent = 0
	RESET     SceneEvent = 1 // reset to initial scene
	LOAD      SceneEvent = 2
	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)
	SetEventHandler(e SceneEvent, f func())
	SetDimensions(a Area)
}
