Files
gorpg/konstructor/konstructor.go
2023-07-04 19:36:40 +02:00

49 lines
805 B
Go

package konstructor
import (
"log"
"github.com/hajimehoshi/ebiten"
)
type ContextInterface interface {
}
type DomainInterface interface {
Init()
GetDialog() Dialog
}
type ScreenSettings struct {
Width int
Height int
}
type Settings struct {
Name string
Screen *ScreenSettings
}
type Konstructor struct {
Domain DomainInterface
Controller *Controller
Settings *Settings
KContext *KContext
MenuMap MenuMap
}
func (k Konstructor) Init() {
k.Domain.Init()
ebiten.SetWindowSize(k.Settings.Screen.Width, k.Settings.Screen.Height)
ebiten.SetWindowTitle(k.Settings.Name)
if err := ebiten.RunGame(&Engine{
MenuMap: k.MenuMap,
KContext: k.KContext,
Domain: k.Domain,
Controller: k.Controller,
Settings: k.Settings,
}); err != nil {
log.Fatal(err)
}
}