BsProjectLibrary.h 838 B

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "CmModule.h"
  4. #include "CmPath.h"
  5. namespace BansheeEditor
  6. {
  7. class ProjectLibrary : public CM::Module<ProjectLibrary>
  8. {
  9. struct LibraryEntry;
  10. struct ResourceEntry;
  11. struct DirectoryEntry;
  12. public:
  13. ProjectLibrary();
  14. ~ProjectLibrary();
  15. void checkForModifications(const CM::WString& folder);
  16. private:
  17. static const CM::WString INTERNAL_RESOURCES_DIR;
  18. DirectoryEntry* mRootEntry;
  19. void addResource(DirectoryEntry* parent, const CM::WPath& filePath);
  20. void reimportResource(ResourceEntry* resource);
  21. void deleteResource(ResourceEntry* resource);
  22. void deleteDirectory(DirectoryEntry* directory);
  23. bool isUpToDate(ResourceEntry* resource) const;
  24. DirectoryEntry* findDirectoryEntry(const CM::WString& folder) const;
  25. };
  26. }