#pragma once
/*
ApplicationFramework
by John Ryland
Copyright (c) 2023
*/
////////////////////////////////////////////////////////////////////////////////////
// Application
#include "IApplication.h"
#include <vector>
namespace ApplicationFramework {
class Application : public IApplication
{
public:
Application();
void MainLoop() override;
IWindowSystem* WindowSystem() const override { return m_windowSystem; }
IUiSystem* UiSystem() const override { return m_uiSystem; }
IRenderSystem* RenderSystem() const override { return m_renderSystem; }
IWindowRenderSurfaceSystem* WindowRenderSurfaceSystem() const override { return m_windowRenderSurfaceSystem; }
private:
IWindowSystem* m_windowSystem;
IUiSystem* m_uiSystem;
IRenderSystem* m_renderSystem;
IWindowRenderSurfaceSystem* m_windowRenderSurfaceSystem;
};
} // ApplicationFramework namespace