package screens import ( "mover/gamedata" "github.com/hajimehoshi/ebiten/v2" ) type ScreenManagerEvent int const ( EventNoop ScreenManagerEvent = iota EventReset // reset to initial scene EventLoad // loading elements EventReload // reload current scene EventCompleted // current scene has completed EventEndgame // shutdown all scenes ) type Screen interface { Update() error Draw(screen *ebiten.Image) SetEventHandler(e ScreenManagerEvent, f func()) SetDimensions(a gamedata.Area) }