#pragma once #include "Nuake/FileSystem/FileSystem.h" #include #include "EditorInterface.h" namespace Nuake { class FileSystemUI { private: EditorInterface* Editor; public: static Ref m_CurrentDirectory; bool m_HasClickedOnFile; std::string m_SearchKeyword; FileSystemUI(EditorInterface* editor) { m_CurrentDirectory = FileSystem::RootDirectory; m_HasClickedOnFile = false; Editor = editor; } void Draw(); void DrawDirectoryContent(); void DrawFiletree(); void EditorInterfaceDrawFiletree(Ref dir); void DrawDirectory(Ref directory, uint32_t drawId); bool EntityContainsItself(Entity source, Entity target); void DrawFile(Ref file, uint32_t drawId); void DrawDirectoryExplorer(); bool DeletePopup(); void DrawContextMenu(); void RefreshFileBrowser(); Color GetColorByFileType(FileType fileType); void Scan(); }; }