#pragma once #include #include #ifdef LINUX #define GLFW_EXPOSE_NATIVE_X11 #elif MACOS //until i can figure out a way to stop the Component class conflicting //#define GLFW_EXPOSE_NATIVE_COCOA #endif #include #include class Entity; class Engine; struct GlobalState { int selectedID = 0; bool isSelectionEntity = true; GLFWwindow* window = nullptr; Engine* engine = nullptr; EntityPool temporaryEntityState; std::string projectRoot; bool isCurrentlyPlaying = false; Entity* editorCamera; }; inline GlobalState& GetState() { static GlobalState state; return state; }