From 85834170ab55d3dde46088e17b1e4b149ff78b1e Mon Sep 17 00:00:00 2001 From: dnesov Date: Sun, 21 Jan 2024 00:58:21 +0100 Subject: [PATCH] Add separate methods for beginning and ending drawing for Scene. --- DaggerFramework/Source/SceneGraph/Scene.cs | 13 +++++++++---- TestGame/TestGame.cs | 2 ++ TestGame/UiLayer.cs | 13 ------------- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/DaggerFramework/Source/SceneGraph/Scene.cs b/DaggerFramework/Source/SceneGraph/Scene.cs index 6bb4fdb..e77632e 100644 --- a/DaggerFramework/Source/SceneGraph/Scene.cs +++ b/DaggerFramework/Source/SceneGraph/Scene.cs @@ -48,7 +48,7 @@ namespace DaggerFramework.SceneGraph layer.Value.Update(DeltaTime); } - Draw(); + Audio.Update(); } public void AddLayer(string name, Layer layer) @@ -57,7 +57,7 @@ namespace DaggerFramework.SceneGraph _layers.Add(name, layer); } - private void Draw() + public void BeginDraw() { Renderer.BeginFrame(); Renderer.ClearBackground(Color.Black); @@ -66,12 +66,17 @@ namespace DaggerFramework.SceneGraph { layer.BeginDraw(_renderer); layer.Draw(_renderer); + } + } + + public void EndDraw() + { + foreach (var layer in _layers.Values) + { layer.EndDraw(_renderer); } Renderer.EndFrame(); - - Audio.Update(); } private void SetupRenderer() diff --git a/TestGame/TestGame.cs b/TestGame/TestGame.cs index 3da0959..6dae3ea 100644 --- a/TestGame/TestGame.cs +++ b/TestGame/TestGame.cs @@ -76,6 +76,8 @@ public class TestGame : Game while (_scene.ShouldRun) { _scene.Update(); + _scene.BeginDraw(); + _scene.EndDraw(); double frameTimeMs = _renderer.FrameTime * 1000f; diff --git a/TestGame/UiLayer.cs b/TestGame/UiLayer.cs index 887ab3b..5c199a3 100644 --- a/TestGame/UiLayer.cs +++ b/TestGame/UiLayer.cs @@ -81,19 +81,6 @@ public class UiLayer : Layer contentPanel.AddChild(verticalPanel); verticalPanel.AddChild(exampleText); - - // var verticalPanel = new VerticalPanel(new PanelStyle() - // { - // BackgroundColor = Color.White, - // }); - - // verticalPanel.ExpandRatio = new Vector2(1f, 0.5f); - - // _panel.AddChild(verticalPanel); - - // verticalPanel.AddChild(new Panel(new PanelStyle() { BackgroundColor = Color.Red })); - // verticalPanel.AddChild(new Panel(new PanelStyle() { BackgroundColor = Color.Green })); - // verticalPanel.AddChild(new Panel(new PanelStyle() { BackgroundColor = Color.Blue })); } private void GetResources()