BsResourceMetaDataRTTI.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsCorePrerequisites.h"
  5. #include "Reflection/BsRTTIType.h"
  6. #include "Resources/BsResourceMetaData.h"
  7. namespace bs
  8. {
  9. /** @cond RTTI */
  10. /** @addtogroup RTTI-Impl-Core
  11. * @{
  12. */
  13. class BS_CORE_EXPORT ResourceMetaDataRTTI : public RTTIType<ResourceMetaData, IReflectable, ResourceMetaDataRTTI>
  14. {
  15. private:
  16. WString& getDisplayName(ResourceMetaData* obj) { return obj->displayName; }
  17. void setDisplayName(ResourceMetaData* obj, WString& name) { obj->displayName = name; }
  18. public:
  19. ResourceMetaDataRTTI()
  20. {
  21. addPlainField("displayName", 0, &ResourceMetaDataRTTI::getDisplayName, &ResourceMetaDataRTTI::setDisplayName);
  22. }
  23. const String& getRTTIName() override
  24. {
  25. static String name = "ResourceMetaData";
  26. return name;
  27. }
  28. UINT32 getRTTIId() override
  29. {
  30. return TID_ResourceMetaData;
  31. }
  32. SPtr<IReflectable> newRTTIObject() override
  33. {
  34. return bs_shared_ptr_new<ResourceMetaData>();
  35. }
  36. };
  37. /** @} */
  38. /** @endcond */
  39. }