CmResourcesRTTI.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. #include "CmRTTIType.h"
  4. #include "CmResources.h"
  5. namespace CamelotFramework
  6. {
  7. class ResourceMetaDataRTTI : public RTTIType<Resources::ResourceMetaData, IReflectable, ResourceMetaDataRTTI>
  8. {
  9. String& getUUID(Resources::ResourceMetaData* obj) { return obj->mUUID; }
  10. void setUUID(Resources::ResourceMetaData* obj, String& val) { obj->mUUID = val; }
  11. String& getPath(Resources::ResourceMetaData* obj) { return obj->mPath; }
  12. void setPath(Resources::ResourceMetaData* obj, String& val) { obj->mPath = val; }
  13. public:
  14. ResourceMetaDataRTTI()
  15. {
  16. addPlainField("mUUID", 0, &ResourceMetaDataRTTI::getUUID, &ResourceMetaDataRTTI::setUUID);
  17. addPlainField("mPath", 1, &ResourceMetaDataRTTI::getPath, &ResourceMetaDataRTTI::setPath);
  18. }
  19. virtual std::shared_ptr<IReflectable> newRTTIObject()
  20. {
  21. return cm_shared_ptr<Resources::ResourceMetaData, PoolAlloc>();
  22. }
  23. virtual const String& getRTTIName()
  24. {
  25. static String name = "ResourceMetaData";
  26. throw name;
  27. }
  28. virtual UINT32 getRTTIId()
  29. {
  30. return TID_ResourceMetaData;
  31. }
  32. };
  33. }