BsProjectLibraryEntries.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "BsProjectLibrary.h"
  4. #include "CmIReflectable.h"
  5. namespace BansheeEditor
  6. {
  7. class ProjectLibraryEntries : public CM::IReflectable
  8. {
  9. struct ConstructPrivately { };
  10. public:
  11. explicit ProjectLibraryEntries(const ConstructPrivately& dummy);
  12. ProjectLibraryEntries(const ProjectLibrary::DirectoryEntry& rootEntry);
  13. static std::shared_ptr<ProjectLibraryEntries> create(const ProjectLibrary::DirectoryEntry& rootEntry);
  14. static std::shared_ptr<ProjectLibraryEntries> createEmpty();
  15. const ProjectLibrary::DirectoryEntry& getRootEntry() const { return mRootEntry; }
  16. private:
  17. ProjectLibrary::DirectoryEntry mRootEntry;
  18. /************************************************************************/
  19. /* SERIALIZATION */
  20. /************************************************************************/
  21. public:
  22. friend class ProjectLibraryEntriesRTTI;
  23. static CM::RTTITypeBase* getRTTIStatic();
  24. virtual CM::RTTITypeBase* getRTTI() const;
  25. };
  26. }