diff --git a/src/Game.cs b/src/Game.cs index c5fcad6..93c7b26 100644 --- a/src/Game.cs +++ b/src/Game.cs @@ -3,6 +3,7 @@ using SDL2; using MoonWorks.Audio; using MoonWorks.Graphics; using MoonWorks.Input; +using MoonWorks.Window; namespace MoonWorks { @@ -16,7 +17,7 @@ namespace MoonWorks double accumulator = 0; bool debugMode; - public Window Window { get; } + public OSWindow Window { get; } public GraphicsDevice GraphicsDevice { get; } public AudioDevice AudioDevice { get; } public Inputs Inputs { get; } @@ -47,7 +48,7 @@ namespace MoonWorks Inputs = new Inputs(); - Window = new Window(windowCreateInfo); + Window = new OSWindow(windowCreateInfo); GraphicsDevice = new GraphicsDevice( Window.Handle, @@ -92,9 +93,11 @@ namespace MoonWorks accumulator -= timestep; } + double alpha = accumulator / timestep; + if (updateThisLoop) { - Draw(); + Draw(timestep, alpha); } } } @@ -115,6 +118,6 @@ namespace MoonWorks protected abstract void Update(double dt); - protected abstract void Draw(); + protected abstract void Draw(double dt, double alpha); } } diff --git a/src/Window.cs b/src/Window/OSWindow.cs similarity index 93% rename from src/Window.cs rename to src/Window/OSWindow.cs index 19bcdcd..ecdecb5 100644 --- a/src/Window.cs +++ b/src/Window/OSWindow.cs @@ -1,14 +1,14 @@ using System; using SDL2; -namespace MoonWorks +namespace MoonWorks.Window { - public class Window + public class OSWindow { internal IntPtr Handle { get; } public ScreenMode ScreenMode { get; } - public Window(WindowCreateInfo windowCreateInfo) + public OSWindow(WindowCreateInfo windowCreateInfo) { var windowFlags = SDL.SDL_WindowFlags.SDL_WINDOW_VULKAN; diff --git a/src/ScreenMode.cs b/src/Window/ScreenMode.cs similarity index 79% rename from src/ScreenMode.cs rename to src/Window/ScreenMode.cs index 2ba6f39..56c9d89 100644 --- a/src/ScreenMode.cs +++ b/src/Window/ScreenMode.cs @@ -1,4 +1,4 @@ -namespace MoonWorks +namespace MoonWorks.Window { public enum ScreenMode { diff --git a/src/WindowCreateInfo.cs b/src/Window/WindowCreateInfo.cs similarity index 87% rename from src/WindowCreateInfo.cs rename to src/Window/WindowCreateInfo.cs index 30b27b4..54c3849 100644 --- a/src/WindowCreateInfo.cs +++ b/src/Window/WindowCreateInfo.cs @@ -1,4 +1,4 @@ -namespace MoonWorks +namespace MoonWorks.Window { public struct WindowCreateInfo {