Files
golsky/scene.go
Thomas von Dein 03e1101248 lots changes:
- renamed scene files
- fixed options back using scene.Prev
- fixed initial zooming (finally)
- fixed reset zoom (key r)
- fixed initial size, now works with state loading as well
2024-06-03 17:44:17 +02:00

28 lines
661 B
Go

package main
import "github.com/hajimehoshi/ebiten/v2"
// Wrapper for different screens to be shown, as Welcome, Options,
// About, Menu Level and of course the actual game
// Scenes are responsible for screen clearing! That way a scene is able
// to render its content onto the running level, e.g. the options scene
// etc.
type SceneName int
type Scene interface {
SetNext(SceneName)
GetNext() SceneName
SetPrevious(SceneName)
ResetNext()
Update() error
Draw(screen *ebiten.Image)
IsPrimary() bool // if true, this scene will be always drawn
}
const (
Menu = iota // main top level menu
Play // actual playing happens here
Options
)