initial commit

This commit is contained in:
2023-06-27 20:17:48 +02:00
commit f2b64d4d05
11 changed files with 232 additions and 0 deletions

54
domain/menu.go Normal file
View File

@@ -0,0 +1,54 @@
package domain
type MenuItem struct {
ID string
Label string
Handler func()
}
type Menu struct {
MenuItems []MenuItem
}
type MenuManager struct {
MainMenu Menu
GameMenu Menu
}
func createMenu(menuItems []MenuItem) Menu {
menu := Menu{
MenuItems: menuItems,
}
return menu
}
func (mm MenuManager) Init() {
mo := MenuOperation{}
mm.MainMenu = createMenu([]MenuItem{
{
ID: "new",
Label: "New Game",
Handler: mo.StartGame,
},
{
ID: "load",
Label: "Load Game",
Handler: mo.LoadtGame,
},
})
mm.GameMenu = createMenu([]MenuItem{
{
ID: "save",
Label: "Save Game",
Handler: mo.SaveGame,
},
{
ID: "close",
Label: "Close Game",
Handler: mo.CloseGame,
},
})
}