BsManagedResourceMetaDataRTTI.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsScriptEnginePrerequisites.h"
  5. #include "BsRTTIType.h"
  6. #include "BsManagedResourceMetaData.h"
  7. namespace BansheeEngine
  8. {
  9. /** @addtogroup RTTI-Impl-SEngine
  10. * @{
  11. */
  12. class BS_SCR_BE_EXPORT ManagedResourceMetaDataRTTI : public RTTIType<ManagedResourceMetaData, ResourceMetaData, ManagedResourceMetaDataRTTI>
  13. {
  14. private:
  15. String& getNamespace(ManagedResourceMetaData* obj)
  16. {
  17. return obj->typeNamespace;
  18. }
  19. void setNamespace(ManagedResourceMetaData* obj, String& val)
  20. {
  21. obj->typeNamespace = val;
  22. }
  23. String& getTypename(ManagedResourceMetaData* obj)
  24. {
  25. return obj->typeName;
  26. }
  27. void setTypename(ManagedResourceMetaData* obj, String& val)
  28. {
  29. obj->typeName = val;
  30. }
  31. public:
  32. ManagedResourceMetaDataRTTI()
  33. {
  34. addPlainField("mTypeNamespace", 0, &ManagedResourceMetaDataRTTI::getNamespace, &ManagedResourceMetaDataRTTI::setNamespace);
  35. addPlainField("mTypeName", 1, &ManagedResourceMetaDataRTTI::getTypename, &ManagedResourceMetaDataRTTI::setTypename);
  36. }
  37. const String& getRTTIName() override
  38. {
  39. static String name = "ManagedResourceMetaData";
  40. return name;
  41. }
  42. UINT32 getRTTIId() override
  43. {
  44. return TID_ManagedResourceMetaData;
  45. }
  46. std::shared_ptr<IReflectable> newRTTIObject() override
  47. {
  48. return bs_shared_ptr_new<ManagedResourceMetaData>();
  49. }
  50. };
  51. /** @} */
  52. }