Editor dummy code

This commit is contained in:
max 2024-07-12 17:27:01 +02:00
parent dd3bbf1d5b
commit 16b04ea22a
4 changed files with 72 additions and 4 deletions

View File

@ -0,0 +1,30 @@
namespace Nerfed.Editor.Editor
{
internal static class EditorGui
{
internal static void Initialize()
{
// Create GuiController.
// Subscribe to GUI update.
// GuiController.OnGui call => UpdateDock;
// GuiController.OnGui call => UpdateEditorWindows;
// GuiController.OnGui call => ...;
}
internal static void Update()
{
// Update GuiController.
}
internal static void Render()
{
// Reneder GuiController.
}
private static void UpdateDock()
{
// Setup default dockspace for the main window.
}
}
}

View File

@ -23,8 +23,8 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Nerfed.Runtime\Nerfed.Runtime.csproj"/>
<ProjectReference Include="..\Nerfed.Runtime\Nerfed.Runtime.csproj" />
</ItemGroup>
<Import Project=".\CopyLibs.targets"/>
<Import Project=".\CopyLibs.targets" />
</Project>

View File

@ -6,6 +6,33 @@ internal class Program
{
private static void Main(string[] args)
{
Engine.OnInitialize += HandleOnInitialize;
Engine.OnUpdate += HandleOnUpdate;
Engine.OnRender += HandleOnRender;
Engine.OnQuit += HandleOnQuit;
Engine.Run(args);
}
}
private static void HandleOnInitialize()
{
// Open project.
// Setip EditorGui.
}
private static void HandleOnUpdate()
{
// Editor Update.
// Try Catch UserCode Update.
}
private static void HandleOnRender()
{
// Editor GUI Render.
}
private static void HandleOnQuit()
{
}
}

View File

@ -1,12 +1,17 @@
using System.Diagnostics;
using Nerfed.Runtime.Audio;
using Nerfed.Runtime.Graphics;
using SDL2;
using System.Diagnostics;
namespace Nerfed.Runtime;
public static class Engine
{
public static event Action OnInitialize;
public static event Action OnUpdate;
public static event Action OnRender;
public static event Action OnQuit;
public static TimeSpan MaxDeltaTime { get; set; } = TimeSpan.FromMilliseconds(100);
public static bool VSync { get; set; }
@ -65,11 +70,15 @@ public static void Run(string[] args)
AudioDevice = new AudioDevice();
OnInitialize?.Invoke();
while (!quit)
{
Tick();
}
OnQuit?.Invoke();
GraphicsDevice.UnclaimWindow(MainWindow);
MainWindow.Dispose();
GraphicsDevice.Dispose();
@ -146,6 +155,7 @@ private static void Tick()
ProcessSDLEvents();
// Tick game here...
OnUpdate?.Invoke();
AudioDevice.WakeThread();
accumulatedUpdateTime -= Timestep;
@ -154,6 +164,7 @@ private static void Tick()
double alpha = accumulatedUpdateTime / Timestep;
// Render here..
OnRender?.Invoke();
accumulatedDrawTime -= framerateCapTimeSpan;
}