diff options
| author | physcik <mynameisgennadiy@vk.com> | 2026-04-06 18:29:34 +0500 |
|---|---|---|
| committer | physcik <mynameisgennadiy@vk.com> | 2026-04-06 18:29:34 +0500 |
| commit | e211798077de88fe39d1e1c0add7a0f460d1da5a (patch) | |
| tree | de3163568818116a2ca43d31c66947d918cea2fd /engine/CoreObjects/Scene.go | |
| parent | e75d107899617446add49f00fb03837cb46d2543 (diff) | |
Diffstat (limited to 'engine/CoreObjects/Scene.go')
| -rw-r--r-- | engine/CoreObjects/Scene.go | 44 |
1 files changed, 2 insertions, 42 deletions
diff --git a/engine/CoreObjects/Scene.go b/engine/CoreObjects/Scene.go index b6b886c..8a11e29 100644 --- a/engine/CoreObjects/Scene.go +++ b/engine/CoreObjects/Scene.go @@ -2,54 +2,14 @@ package coreobjects import rl "github.com/gen2brain/raylib-go/raylib" -type SceneManager struct { - OverlayScene Scene - SelectedScene Scene -} +type UpdateFunction func() type Scene interface { Create(*SceneManager) Destroy() Update() + GetUpdateFunctions() []UpdateFunction Draw() GetMousePosition() rl.Vector2 } -func InitSceneManager() SceneManager { - return SceneManager{ - OverlayScene: &OveralyScene{}, - SelectedScene: nil, - } -} - -func (base *SceneManager) ChangeScene(newScene Scene) { - if base.SelectedScene != nil { - base.SelectedScene.Destroy() - } - base.SelectedScene = newScene - base.SelectedScene.Create(base) -} - -func (base *SceneManager) Update() { - if (base.SelectedScene != nil) { - base.SelectedScene.Update() - } - - if (base.OverlayScene != nil) { - base.OverlayScene.Update() - } - - if rl.IsKeyDown(rl.KeyF11) { - rl.ToggleFullscreen() - } -} - -func (base *SceneManager) Draw() { - if (base.SelectedScene != nil) { - base.SelectedScene.Draw() - } - - if (base.OverlayScene != nil) { - base.OverlayScene.Draw() - } -} |
