Editor dummy code
This commit is contained in:
parent
dd3bbf1d5b
commit
16b04ea22a
30
Nerfed.Editor/Editor/EditorGui.cs
Normal file
30
Nerfed.Editor/Editor/EditorGui.cs
Normal 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.
|
||||
}
|
||||
}
|
||||
}
|
@ -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>
|
||||
|
@ -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()
|
||||
{
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user