move initial konstructor structs from main.go to init.go
This commit is contained in:
51
domain/init.go
Normal file
51
domain/init.go
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
package domain
|
||||||
|
|
||||||
|
import (
|
||||||
|
"game/konstructor"
|
||||||
|
"image/color"
|
||||||
|
|
||||||
|
"github.com/hajimehoshi/ebiten"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (d *Domain) GetInitialKContext() *konstructor.KContext {
|
||||||
|
return &konstructor.KContext{
|
||||||
|
ScreenType: konstructor.PlaygroundScreenType,
|
||||||
|
ActiveMenu: MainMenu,
|
||||||
|
ActiveDialog: DialogTest,
|
||||||
|
CurrentLevel: 0,
|
||||||
|
CurrentPlayground: 0,
|
||||||
|
Multiplayer: false,
|
||||||
|
LiveCount: 3,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *Domain) GetInitialConfig() *konstructor.Config {
|
||||||
|
return &konstructor.Config{
|
||||||
|
Name: "Teletype Adventure",
|
||||||
|
Screen: &konstructor.ScreenConfig{
|
||||||
|
Width: 640,
|
||||||
|
Height: 480,
|
||||||
|
Scale: 2,
|
||||||
|
},
|
||||||
|
Header: &konstructor.HeaderConfig{
|
||||||
|
BackgroundColor: color.RGBA{
|
||||||
|
R: 0,
|
||||||
|
G: 255,
|
||||||
|
B: 0,
|
||||||
|
A: 200,
|
||||||
|
},
|
||||||
|
Height: 20,
|
||||||
|
FontLayout: GetHeaderFontLayout(),
|
||||||
|
},
|
||||||
|
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,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -13,6 +13,9 @@ type DomainBaseFields struct {
|
|||||||
type DomainInterface interface {
|
type DomainInterface interface {
|
||||||
Init()
|
Init()
|
||||||
|
|
||||||
|
GetInitialKContext() *KContext
|
||||||
|
GetInitialConfig() *Config
|
||||||
|
|
||||||
GetMenuMap() MenuMap
|
GetMenuMap() MenuMap
|
||||||
GetMenu(name MenuMapKey) Menu
|
GetMenu(name MenuMapKey) Menu
|
||||||
SetMenu(name MenuMapKey, menu Menu)
|
SetMenu(name MenuMapKey, menu Menu)
|
||||||
|
|||||||
@@ -2,8 +2,6 @@ package konstructor
|
|||||||
|
|
||||||
type Konstructor struct {
|
type Konstructor struct {
|
||||||
Domain DomainInterface
|
Domain DomainInterface
|
||||||
KContext *KContext
|
|
||||||
Config *Config
|
|
||||||
EngineWrapper EngineWrapperInterface
|
EngineWrapper EngineWrapperInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -11,8 +9,8 @@ func (k Konstructor) Init() {
|
|||||||
k.Domain.Init()
|
k.Domain.Init()
|
||||||
k.EngineWrapper.Init(EngineArgs{
|
k.EngineWrapper.Init(EngineArgs{
|
||||||
Domain: k.Domain,
|
Domain: k.Domain,
|
||||||
KContext: k.KContext,
|
KContext: k.Domain.GetInitialKContext(),
|
||||||
Config: k.Config,
|
Config: k.Domain.GetInitialConfig(),
|
||||||
})
|
})
|
||||||
k.EngineWrapper.Run()
|
k.EngineWrapper.Run()
|
||||||
}
|
}
|
||||||
|
|||||||
40
main.go
40
main.go
@@ -4,52 +4,12 @@ import (
|
|||||||
"game/domain"
|
"game/domain"
|
||||||
"game/konstructor"
|
"game/konstructor"
|
||||||
"game/konstructor/engines/easy_ebitengine"
|
"game/konstructor/engines/easy_ebitengine"
|
||||||
"image/color"
|
|
||||||
|
|
||||||
"github.com/hajimehoshi/ebiten"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
k := konstructor.Konstructor{
|
k := konstructor.Konstructor{
|
||||||
EngineWrapper: &easy_ebitengine.EngineWrapper{},
|
EngineWrapper: &easy_ebitengine.EngineWrapper{},
|
||||||
Domain: &domain.Domain{},
|
Domain: &domain.Domain{},
|
||||||
KContext: &konstructor.KContext{
|
|
||||||
ScreenType: konstructor.PlaygroundScreenType,
|
|
||||||
ActiveMenu: domain.MainMenu,
|
|
||||||
ActiveDialog: domain.DialogTest,
|
|
||||||
CurrentLevel: 0,
|
|
||||||
CurrentPlayground: 0,
|
|
||||||
Multiplayer: false,
|
|
||||||
LiveCount: 3,
|
|
||||||
},
|
|
||||||
Config: &konstructor.Config{
|
|
||||||
Name: "Teletype Adventure",
|
|
||||||
Screen: &konstructor.ScreenConfig{
|
|
||||||
Width: 640,
|
|
||||||
Height: 480,
|
|
||||||
Scale: 2,
|
|
||||||
},
|
|
||||||
Header: &konstructor.HeaderConfig{
|
|
||||||
BackgroundColor: color.RGBA{
|
|
||||||
R: 0,
|
|
||||||
G: 255,
|
|
||||||
B: 0,
|
|
||||||
A: 200,
|
|
||||||
},
|
|
||||||
Height: 20,
|
|
||||||
FontLayout: domain.GetHeaderFontLayout(),
|
|
||||||
},
|
|
||||||
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,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
k.Init()
|
k.Init()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user