Implemented scene events and callback handlers for those events. Manager defaults also added.
This commit is contained in:
@@ -11,13 +11,16 @@ import (
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
//setup manager
|
||||
manager := groovy.NewManager()
|
||||
|
||||
loadScenes(&manager)
|
||||
|
||||
manager.SetDimensions(groovy.Area{Width: 1280, Height: 720})
|
||||
ebiten.SetWindowSize(manager.Info.Dimension.Width, manager.Info.Dimension.Height)
|
||||
ebiten.SetWindowTitle(manager.Info.Name)
|
||||
|
||||
loadScenes(&manager)
|
||||
|
||||
//identification
|
||||
fmt.Println(manager.Info.Name + ": v" + manager.Info.Version)
|
||||
|
||||
if err := ebiten.RunGame(&manager); err != nil {
|
||||
@@ -28,14 +31,31 @@ func main() {
|
||||
|
||||
// Example loading of two scenes
|
||||
func loadScenes(m *groovy.Manager) {
|
||||
//call the loaders for each scene
|
||||
loadSplash(m)
|
||||
loadMenu(m)
|
||||
|
||||
//reset the manager to start scene 1
|
||||
m.ResetScenes()
|
||||
}
|
||||
|
||||
// creates splash screen, sets completion handler
|
||||
func loadSplash(m *groovy.Manager) {
|
||||
//create splash screen and append as first scene in manager
|
||||
sceneSplash := splashmenu.NewSplash()
|
||||
m.AddScene(&sceneSplash)
|
||||
|
||||
sceneMenu := splashmenu.NewMenu()
|
||||
m.AddScene(&sceneMenu)
|
||||
|
||||
//sets current scene to the splash menu
|
||||
m.SetCurrentScene(0)
|
||||
|
||||
m.SetDimensions(groovy.Area{Width: 1280, Height: 720})
|
||||
}
|
||||
|
||||
// creates menu screen, populates the options, sets key event handler
|
||||
func loadMenu(m *groovy.Manager) {
|
||||
//create menu with defined options, append to manager
|
||||
sceneMenu := splashmenu.NewMenu()
|
||||
sceneMenu.SetOptions(map[int]splashmenu.MenuOption{
|
||||
1: {Description: "splash", SelectionEvent: groovy.RESET, Mapping: ebiten.Key1},
|
||||
2: {Description: "menu"},
|
||||
3: {Description: "swing"},
|
||||
4: {Description: "exit", SelectionEvent: groovy.ENDGAME, Mapping: ebiten.Key4},
|
||||
})
|
||||
|
||||
m.AddScene(&sceneMenu)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user