Files
gorpg/main.go
2023-07-04 10:22:22 +02:00

98 lines
1.7 KiB
Go

package main
import (
"game/domain"
"game/konstructor"
"github.com/hajimehoshi/ebiten"
)
func main() {
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: &d,
MenuMap: konstructor.MenuMap{
"MainMenu": {
CurrentSelected: 0,
MenuLayout: konstructor.MenuLayout{
DPI: 72,
Size: 24,
},
MenuItems: []konstructor.MenuItem{
{
ID: "start",
Label: "Start Game",
Handler: d.StartGame,
},
{
ID: "load",
Label: "Load Game",
Handler: d.LoadtGame,
},
{
ID: "exit",
Label: "Exit Game",
Handler: d.ExitGame,
},
},
},
"GameMenu": {
CurrentSelected: 0,
MenuLayout: konstructor.MenuLayout{
DPI: 72,
Size: 24,
},
MenuItems: []konstructor.MenuItem{
{
ID: "save",
Label: "Save Game",
Handler: d.SaveGame,
},
{
ID: "close",
Label: "Close Game",
Handler: d.CloseGame,
},
},
},
},
Controller: &konstructor.Controller{
KeyMap: konstructor.KeyMap{
Up: ebiten.KeyUp,
Down: ebiten.KeyDown,
Right: ebiten.KeyRight,
Left: ebiten.KeyLeft,
Action0: ebiten.KeySpace,
Action1: ebiten.KeyAlt,
Action2: ebiten.KeyControl,
Action3: ebiten.KeyEscape,
},
},
Settings: &konstructor.Settings{
Name: "Game",
Screen: &konstructor.ScreenSettings{
Width: 640,
Height: 480,
},
},
}
k.Init()
}