diff --git a/domain/menu.go b/domain/menu.go index e9dae78..a57b346 100644 --- a/domain/menu.go +++ b/domain/menu.go @@ -1,21 +1,27 @@ package domain import ( + "fmt" "os" ) func (d *Domain) CloseGame() { + fmt.Println("Close game") } func (d *Domain) LoadtGame() { + fmt.Println("Load game") } func (d *Domain) SaveGame() { + fmt.Println("Save game") } func (d *Domain) StartGame() { + fmt.Println("Start game") } func (d *Domain) ExitGame() { + fmt.Println("Exit game") os.Exit(1) } diff --git a/konstructor/menu.go b/konstructor/menu.go index 3b6cb96..f36eb88 100644 --- a/konstructor/menu.go +++ b/konstructor/menu.go @@ -55,6 +55,10 @@ func (e *Engine) MenuUpdate() { menu.CurrentSelected-- } + if e.Controller.Action0Pressed() { + menu.MenuItems[menu.CurrentSelected].Handler() + } + e.MenuMap[e.KContext.Screen.Value] = menu } diff --git a/main.go b/main.go index 76277f5..5554e30 100644 --- a/main.go +++ b/main.go @@ -8,23 +8,26 @@ import ( ) func main() { - konstructor := konstructor.Konstructor{ + + d := domain.Domain{ + Context: domain.Context{ + Player: domain.Player{ + Name: "Player One", + }, + User: domain.User{ + Name: "John Doe", + }, + }, + } + + k := konstructor.Konstructor{ KContext: &konstructor.KContext{ Screen: konstructor.KContextScreen{ Type: "menu", Value: "MainMenu", }, }, - Domain: &domain.Domain{ - Context: domain.Context{ - Player: domain.Player{ - Name: "Player One", - }, - User: domain.User{ - Name: "John Doe", - }, - }, - }, + Domain: &d, MenuMap: konstructor.MenuMap{ "MainMenu": { CurrentSelected: 0, @@ -34,16 +37,19 @@ func main() { }, MenuItems: []konstructor.MenuItem{ { - ID: "new", - Label: "New Game", + ID: "start", + Label: "Start Game", + Handler: d.StartGame, }, { - ID: "load", - Label: "Load Game", + ID: "load", + Label: "Load Game", + Handler: d.LoadtGame, }, { - ID: "exit", - Label: "Exit Game", + ID: "exit", + Label: "Exit Game", + Handler: d.ExitGame, }, }, }, @@ -55,12 +61,14 @@ func main() { }, MenuItems: []konstructor.MenuItem{ { - ID: "save", - Label: "Save Game", + ID: "save", + Label: "Save Game", + Handler: d.SaveGame, }, { - ID: "close", - Label: "Close Game", + ID: "close", + Label: "Close Game", + Handler: d.CloseGame, }, }, }, @@ -85,5 +93,5 @@ func main() { }, }, } - konstructor.Init() + k.Init() }