BsProjectResourceMeta.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "BsIReflectable.h"
  4. namespace BansheeEngine
  5. {
  6. class ProjectResourceMeta : public IReflectable
  7. {
  8. private:
  9. struct ConstructPrivately {};
  10. public:
  11. explicit ProjectResourceMeta(const ConstructPrivately&);
  12. static ProjectResourceMetaPtr create(const String& uuid, UINT32 typeId, const ResourceMetaDataPtr& resourceMetaData,
  13. const ImportOptionsPtr& importOptions);
  14. const String& getUUID() const { return mUUID; }
  15. ResourceMetaDataPtr getResourceMetaData() const { return mResourceMeta; }
  16. const ImportOptionsPtr& getImportOptions() const { return mImportOptions; }
  17. UINT32 getTypeID() const { return mTypeId; }
  18. private:
  19. String mUUID;
  20. ResourceMetaDataPtr mResourceMeta;
  21. ImportOptionsPtr mImportOptions;
  22. UINT32 mTypeId;
  23. /************************************************************************/
  24. /* RTTI */
  25. /************************************************************************/
  26. static ProjectResourceMetaPtr createEmpty();
  27. public:
  28. friend class ProjectResourceMetaRTTI;
  29. static RTTITypeBase* getRTTIStatic();
  30. virtual RTTITypeBase* getRTTI() const;
  31. };
  32. }