BsResourceMetaDataRTTI.h 1019 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include "BsCorePrerequisites.h"
  3. #include "BsRTTIType.h"
  4. #include "BsResourceMetaData.h"
  5. namespace BansheeEngine
  6. {
  7. /** @cond RTTI */
  8. /** @addtogroup RTTI-Impl-Core
  9. * @{
  10. */
  11. class BS_CORE_EXPORT ResourceMetaDataRTTI : public RTTIType<ResourceMetaData, IReflectable, ResourceMetaDataRTTI>
  12. {
  13. private:
  14. WString& getDisplayName(ResourceMetaData* obj) { return obj->displayName; }
  15. void setDisplayName(ResourceMetaData* obj, WString& name) { obj->displayName = name; }
  16. public:
  17. ResourceMetaDataRTTI()
  18. {
  19. addPlainField("displayName", 0, &ResourceMetaDataRTTI::getDisplayName, &ResourceMetaDataRTTI::setDisplayName);
  20. }
  21. const String& getRTTIName() override
  22. {
  23. static String name = "ResourceMetaData";
  24. return name;
  25. }
  26. UINT32 getRTTIId() override
  27. {
  28. return TID_ResourceMetaData;
  29. }
  30. std::shared_ptr<IReflectable> newRTTIObject() override
  31. {
  32. return bs_shared_ptr_new<ResourceMetaData>();
  33. }
  34. };
  35. /** @} */
  36. /** @endcond */
  37. }