BsManagedResourceMetaDataRTTI.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsRTTIType.h"
  4. #include "BsManagedResourceMetaData.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_SCR_BE_EXPORT ManagedResourceMetaDataRTTI : public RTTIType<ManagedResourceMetaData, ResourceMetaData, ManagedResourceMetaDataRTTI>
  8. {
  9. private:
  10. String& getNamespace(ManagedResourceMetaData* obj)
  11. {
  12. return obj->typeNamespace;
  13. }
  14. void setNamespace(ManagedResourceMetaData* obj, String& val)
  15. {
  16. obj->typeNamespace = val;
  17. }
  18. String& getTypename(ManagedResourceMetaData* obj)
  19. {
  20. return obj->typeName;
  21. }
  22. void setTypename(ManagedResourceMetaData* obj, String& val)
  23. {
  24. obj->typeName = val;
  25. }
  26. public:
  27. ManagedResourceMetaDataRTTI()
  28. {
  29. addPlainField("mTypeNamespace", 0, &ManagedResourceMetaDataRTTI::getNamespace, &ManagedResourceMetaDataRTTI::setNamespace);
  30. addPlainField("mTypeName", 1, &ManagedResourceMetaDataRTTI::getTypename, &ManagedResourceMetaDataRTTI::setTypename);
  31. }
  32. virtual const String& getRTTIName()
  33. {
  34. static String name = "ManagedResourceMetaData";
  35. return name;
  36. }
  37. virtual UINT32 getRTTIId()
  38. {
  39. return TID_ManagedResourceMetaData;
  40. }
  41. virtual std::shared_ptr<IReflectable> newRTTIObject()
  42. {
  43. return bs_shared_ptr_new<ManagedResourceMetaData>();
  44. }
  45. };
  46. }