package screens import ( "image/color" "mover/fonts" "mover/gamedata" "github.com/hajimehoshi/ebiten/v2" "github.com/hajimehoshi/ebiten/v2/inpututil" "github.com/hajimehoshi/ebiten/v2/text" ) type StartScreen struct { eHandler map[ScreenManagerEvent]func() dimensions gamedata.Area } func NewStartScreen() *StartScreen { s := &StartScreen{ eHandler: make(map[ScreenManagerEvent]func()), } return s } func (s *StartScreen) Update() error { if inpututil.IsKeyJustPressed(ebiten.KeyEnter) { s.eHandler[EventCompleted]() } return nil } func (s *StartScreen) Draw(screen *ebiten.Image) { screen.Clear() text.Draw(screen, "survive", fonts.SurviveFont.ArcadeLarge, 40, 80, color.White) } func (s *StartScreen) SetEventHandler(e ScreenManagerEvent, f func()) { s.eHandler[e] = f } func (s *StartScreen) SetDimensions(a gamedata.Area) { s.dimensions = a }