Files
survive/screens/scene.go

26 lines
616 B
Go
Raw Normal View History

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)
}