26 lines
616 B
Go
26 lines
616 B
Go
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)
|
|
}
|