#pragma once

#include <Core/Application/IApplication.h>

namespace Juliet
{
    enum class JulietInit_Flags : uint8;

    struct Engine
    {
        IApplication* Application   = nullptr;
        Arena*        PlatformArena = nullptr;
    };

    void InitializeEngine(JulietInit_Flags flags);
    void ShutdownEngine();

    void LoadApplication(IApplication& app);
    void UnloadApplication();

    void RunEngine();
} // namespace Juliet
