BsResourceMetaRTTI.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma once
  2. #include "BsPrerequisites.h"
  3. #include "BsRTTIType.h"
  4. #include "BsResourceMeta.h"
  5. #include "BsImportOptions.h"
  6. namespace BansheeEngine
  7. {
  8. class ResourceMetaRTTI : public RTTIType<ResourceMeta, IReflectable, ResourceMetaRTTI>
  9. {
  10. private:
  11. String& getUUID(ResourceMeta* obj) { return obj->mUUID; }
  12. void setUUID(ResourceMeta* obj, String& val) { obj->mUUID = val; }
  13. ImportOptionsPtr getImportOptions(ResourceMeta* obj) { return obj->mImportOptions; }
  14. void setImportOptions(ResourceMeta* obj, ImportOptionsPtr val) { obj->mImportOptions = val; }
  15. public:
  16. ResourceMetaRTTI()
  17. {
  18. addPlainField("mUUID", 0, &ResourceMetaRTTI::getUUID, &ResourceMetaRTTI::setUUID);
  19. addReflectablePtrField("mImportOptions", 1, &ResourceMetaRTTI::getImportOptions, &ResourceMetaRTTI::setImportOptions);
  20. }
  21. virtual const String& getRTTIName()
  22. {
  23. static String name = "ResourceMeta";
  24. return name;
  25. }
  26. virtual UINT32 getRTTIId()
  27. {
  28. return TID_ResourceMeta;
  29. }
  30. virtual std::shared_ptr<IReflectable> newRTTIObject()
  31. {
  32. return ResourceMeta::createEmpty();
  33. }
  34. };
  35. }