#pragma once #include "ScriptEngine.h" #include "HotReload.h" #include "GuiManager.h" #include "raylib.h" class Application { public: Application(); ~Application(); bool Initialize(int argc, char* argv[]); void Run(); void Shutdown(); bool IsEditorEnabled() const { return enableEditor; } bool HasScriptCompilationError() const { return scriptCompilationError; } private: ScriptEngine scriptEngine; HotReload* hotReload; bool scriptCompilationError; FILE* logFile; GuiManager guiManager; bool enableEditor; RenderTexture2D renderTexture; // renderTexture for Raylib rendering static const int WINDOW_WIDTH = 1280; static const int WINDOW_HEIGHT = 720; static const int TARGET_FPS = 60; static const char* WINDOW_TITLE; static const char* SCRIPT_FILE; void Update(float deltaTime); void Draw(); };