StateManager is simple state management for ebiten games
Read GoDoc
stateManager := New()
stateManager.Add(menuState)
stateManager.SetActive(menuState.ID())
// Main game loop function
func GameLoop(screen *ebiten.Image) error {
if err := stateManager.Update(); err != nil {
return err
}
if ebiten.IsRunningSlowly() {
return nil
}
if err := stateManager.Draw(screen); err != nil {
return err
}
}