diff --git a/konstructor/engine/engine.controller.go b/konstructor/engine/engine.controller.go index 5d760f7..72d47fb 100644 --- a/konstructor/engine/engine.controller.go +++ b/konstructor/engine/engine.controller.go @@ -9,7 +9,7 @@ import ( ) func (e *Engine) WatchKeyPress() { - values := reflect.ValueOf(e.KeyMap) + values := reflect.ValueOf(e.Settings.KeyMap) for i := 0; i < values.NumField(); i++ { key := values.Field(i).Interface().(ebiten.Key) @@ -25,33 +25,33 @@ func (e *Engine) ClearKeyPresed() { } func (e *Engine) UpPressed() bool { - return e.PressedKey == e.KeyMap.Up + return e.PressedKey == e.Settings.KeyMap.Up } func (e *Engine) DownPressed() bool { - return e.PressedKey == e.KeyMap.Down + return e.PressedKey == e.Settings.KeyMap.Down } func (e *Engine) RightPressed() bool { - return e.PressedKey == e.KeyMap.Right + return e.PressedKey == e.Settings.KeyMap.Right } func (e *Engine) LeftPressed() bool { - return e.PressedKey == e.KeyMap.Left + return e.PressedKey == e.Settings.KeyMap.Left } func (e *Engine) Action0Pressed() bool { - return e.PressedKey == e.KeyMap.Action0 + return e.PressedKey == e.Settings.KeyMap.Action0 } func (e *Engine) Action1Pressed() bool { - return e.PressedKey == e.KeyMap.Action1 + return e.PressedKey == e.Settings.KeyMap.Action1 } func (e *Engine) Action2Pressed() bool { - return e.PressedKey == e.KeyMap.Action2 + return e.PressedKey == e.Settings.KeyMap.Action2 } func (e *Engine) Action3Pressed() bool { - return e.PressedKey == e.KeyMap.Action3 + return e.PressedKey == e.Settings.KeyMap.Action3 } diff --git a/konstructor/engine/engine.go b/konstructor/engine/engine.go index ca0f246..1c858fd 100644 --- a/konstructor/engine/engine.go +++ b/konstructor/engine/engine.go @@ -11,7 +11,6 @@ type Engine struct { Domain entity.DomainInterface Settings *entity.Settings KContext *entity.KContext - KeyMap entity.KeyMap PressedKey ebiten.Key } diff --git a/konstructor/entity/entity.controller.go b/konstructor/entity/entity.controller.go deleted file mode 100644 index 853f29a..0000000 --- a/konstructor/entity/entity.controller.go +++ /dev/null @@ -1,14 +0,0 @@ -package entity - -import "github.com/hajimehoshi/ebiten" - -type KeyMap struct { - Up ebiten.Key - Down ebiten.Key - Right ebiten.Key - Left ebiten.Key - Action0 ebiten.Key - Action1 ebiten.Key - Action2 ebiten.Key - Action3 ebiten.Key -} diff --git a/konstructor/entity/entity.settings.go b/konstructor/entity/entity.settings.go index 41e18d5..c651383 100644 --- a/konstructor/entity/entity.settings.go +++ b/konstructor/entity/entity.settings.go @@ -1,5 +1,18 @@ package entity +import "github.com/hajimehoshi/ebiten" + +type KeyMap struct { + Up ebiten.Key + Down ebiten.Key + Right ebiten.Key + Left ebiten.Key + Action0 ebiten.Key + Action1 ebiten.Key + Action2 ebiten.Key + Action3 ebiten.Key +} + type ScreenSettings struct { Width int Height int @@ -8,4 +21,5 @@ type ScreenSettings struct { type Settings struct { Name string Screen *ScreenSettings + KeyMap *KeyMap } diff --git a/konstructor/konstructor.go b/konstructor/konstructor.go index 72e5dc7..21ed79d 100644 --- a/konstructor/konstructor.go +++ b/konstructor/konstructor.go @@ -9,7 +9,6 @@ import ( type Konstructor struct { Domain entity.DomainInterface - KeyMap entity.KeyMap Settings *entity.Settings KContext *entity.KContext } @@ -29,7 +28,6 @@ func (k Konstructor) Run() { ebiten.RunGame(&engine.Engine{ KContext: k.KContext, Domain: k.Domain, - KeyMap: k.KeyMap, Settings: k.Settings, }) } diff --git a/main.go b/main.go index 1c9d961..cc9df33 100644 --- a/main.go +++ b/main.go @@ -27,22 +27,22 @@ func main() { }, }, }, - KeyMap: entity.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: &entity.Settings{ Name: "Game", Screen: &entity.ScreenSettings{ Width: 640, Height: 480, }, + KeyMap: &entity.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()