#pragma once #include #include "src/Vendors/imgui/imgui.h" #include #include "src/Core/FileSystem.h" #include "FileSystemUI.h" class Material; class EditorInterface { private: FileSystemUI filesystem = FileSystemUI(); Entity m_SelectedEntity; bool m_IsEntitySelected = false; bool m_DrawGrid = false; bool m_ShowImGuiDemo = false; bool m_DebugCollisions = false; bool m_ShowOverlay = true; ImGuizmo::OPERATION CurrentOperation = ImGuizmo::TRANSLATE; ImGuizmo::MODE CurrentMode = ImGuizmo::WORLD; Ref m_SelectedMaterial; Ref m_CurrentDirectory; bool m_IsMaterialSelected = false; public: static ImFont* bigIconFont; void BuildFonts(); void Init(); void Draw(); void DrawViewport(); void DrawEntityTree(Entity ent); void DrawSceneTree(); void DrawEntityPropreties(); void DrawGizmos(); void DrawFileSystem(); void DrawDirectoryExplorer(); void DrawLogger(); void DrawDirectory(Ref directory); bool EntityContainsItself(Entity ent1, Entity ent2); void DrawFile(Ref file); void DrawRessourceWindow(); void DrawInit(); void EditorInterfaceDrawFiletree(Ref dir); void Overlay(); };