Skip to content

File Application.h

File List > app > Application.h

Go to the documentation of this file

#pragma once

#include <memory>

#include "Input.h"
#include "Context.h"
#include "Controllers.h"
#include "Window.h"
#include "Renderer.h"
#include "ImguiManager.h"

class Application
{
public:
    Application();
    ~Application();

    Application(const Application&) = delete;
    Application& operator=(const Application&) = delete;

public:
    // TODO: separate Editor
    Input InputManager{};
    EventPool EventPool{};
    ControllerManager Controllers{};
    Window window;                      
    Context Ctx;                        
    std::unique_ptr<Renderer> renderer; 
    std::unique_ptr<ImguiManager> UI;   

public:
    int Run();
};