move menu and playground to konstructor
This commit is contained in:
@@ -5,9 +5,4 @@ type Domain struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (d Domain) Init() {
|
func (d Domain) Init() {
|
||||||
menu_manager := MenuManager{}
|
|
||||||
menu_manager.Init()
|
|
||||||
// level_manager := LevelManager{}
|
|
||||||
screen_manager := ScreenManager{}
|
|
||||||
screen_manager.GetCurrent()
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,54 +1,61 @@
|
|||||||
package domain
|
package domain
|
||||||
|
|
||||||
type MenuItem struct {
|
import (
|
||||||
ID string
|
"game/konstructor"
|
||||||
Label string
|
"os"
|
||||||
Handler func()
|
)
|
||||||
}
|
|
||||||
|
|
||||||
type Menu struct {
|
func (d Domain) GetMenuMap() konstructor.MenuMap {
|
||||||
MenuItems []MenuItem
|
|
||||||
}
|
|
||||||
|
|
||||||
type MenuManager struct {
|
return map[string]konstructor.Menu{
|
||||||
MainMenu Menu
|
"MainMenu": {
|
||||||
GameMenu Menu
|
MenuItems: []konstructor.MenuItem{
|
||||||
}
|
|
||||||
|
|
||||||
func createMenu(menuItems []MenuItem) Menu {
|
|
||||||
menu := Menu{
|
|
||||||
MenuItems: menuItems,
|
|
||||||
}
|
|
||||||
return menu
|
|
||||||
}
|
|
||||||
|
|
||||||
func (mm MenuManager) Init() {
|
|
||||||
|
|
||||||
mo := MenuOperation{}
|
|
||||||
|
|
||||||
mm.MainMenu = createMenu([]MenuItem{
|
|
||||||
{
|
{
|
||||||
ID: "new",
|
ID: "new",
|
||||||
Label: "New Game",
|
Label: "New Game",
|
||||||
Handler: mo.StartGame,
|
Handler: d.StartGame,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ID: "load",
|
ID: "load",
|
||||||
Label: "Load Game",
|
Label: "Load Game",
|
||||||
Handler: mo.LoadtGame,
|
Handler: d.LoadtGame,
|
||||||
},
|
},
|
||||||
})
|
{
|
||||||
|
ID: "exit",
|
||||||
mm.GameMenu = createMenu([]MenuItem{
|
Label: "Exit Game",
|
||||||
|
Handler: d.ExitGame,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"GameMenu": {
|
||||||
|
MenuItems: []konstructor.MenuItem{
|
||||||
{
|
{
|
||||||
ID: "save",
|
ID: "save",
|
||||||
Label: "Save Game",
|
Label: "Save Game",
|
||||||
Handler: mo.SaveGame,
|
Handler: d.SaveGame,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ID: "close",
|
ID: "close",
|
||||||
Label: "Close Game",
|
Label: "Close Game",
|
||||||
Handler: mo.CloseGame,
|
Handler: d.CloseGame,
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
})
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *Domain) CloseGame() {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *Domain) LoadtGame() {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *Domain) SaveGame() {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *Domain) StartGame() {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *Domain) ExitGame() {
|
||||||
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
package domain
|
|
||||||
|
|
||||||
type MenuOperation struct {
|
|
||||||
}
|
|
||||||
|
|
||||||
func (mo MenuOperation) CloseGame() {
|
|
||||||
}
|
|
||||||
|
|
||||||
func (mo MenuOperation) LoadtGame() {
|
|
||||||
}
|
|
||||||
|
|
||||||
func (mo MenuOperation) SaveGame() {
|
|
||||||
}
|
|
||||||
|
|
||||||
func (mo MenuOperation) StartGame() {
|
|
||||||
}
|
|
||||||
@@ -1,12 +1,11 @@
|
|||||||
package domain
|
package domain
|
||||||
|
|
||||||
type Screen struct {
|
import "game/konstructor"
|
||||||
}
|
|
||||||
|
|
||||||
type ScreenManager struct {
|
type PlaygroundManager struct {
|
||||||
Context Context
|
Context Context
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sm ScreenManager) GetCurrent() Screen {
|
func (pm PlaygroundManager) GetCurrent() konstructor.Playground {
|
||||||
return Screen{}
|
return konstructor.Playground{}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ type ContextInterface interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type DomainInterface interface {
|
type DomainInterface interface {
|
||||||
|
GetMenuMap() MenuMap
|
||||||
Init()
|
Init()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
18
konstructor/menu.go
Executable file
18
konstructor/menu.go
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
package konstructor
|
||||||
|
|
||||||
|
type MenuMap map[string]Menu
|
||||||
|
|
||||||
|
type MenuLayout struct {
|
||||||
|
Background string
|
||||||
|
}
|
||||||
|
|
||||||
|
type MenuItem struct {
|
||||||
|
ID string
|
||||||
|
Label string
|
||||||
|
Handler func()
|
||||||
|
}
|
||||||
|
|
||||||
|
type Menu struct {
|
||||||
|
MenuLayout MenuLayout
|
||||||
|
MenuItems []MenuItem
|
||||||
|
}
|
||||||
12
konstructor/playground.go
Executable file
12
konstructor/playground.go
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
package konstructor
|
||||||
|
|
||||||
|
type PlaygroundObject struct {
|
||||||
|
Image string
|
||||||
|
PosX int
|
||||||
|
PosY int
|
||||||
|
}
|
||||||
|
|
||||||
|
type Playground struct {
|
||||||
|
Background string
|
||||||
|
Objects []PlaygroundObject
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user