BsManagedResourceMetaDataRTTI.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. class BS_SCR_BE_EXPORT ManagedResourceMetaDataRTTI : public RTTIType<ManagedResourceMetaData, ResourceMetaData, ManagedResourceMetaDataRTTI>
  10. {
  11. private:
  12. String& getNamespace(ManagedResourceMetaData* obj)
  13. {
  14. return obj->typeNamespace;
  15. }
  16. void setNamespace(ManagedResourceMetaData* obj, String& val)
  17. {
  18. obj->typeNamespace = val;
  19. }
  20. String& getTypename(ManagedResourceMetaData* obj)
  21. {
  22. return obj->typeName;
  23. }
  24. void setTypename(ManagedResourceMetaData* obj, String& val)
  25. {
  26. obj->typeName = val;
  27. }
  28. public:
  29. ManagedResourceMetaDataRTTI()
  30. {
  31. addPlainField("mTypeNamespace", 0, &ManagedResourceMetaDataRTTI::getNamespace, &ManagedResourceMetaDataRTTI::setNamespace);
  32. addPlainField("mTypeName", 1, &ManagedResourceMetaDataRTTI::getTypename, &ManagedResourceMetaDataRTTI::setTypename);
  33. }
  34. virtual const String& getRTTIName()
  35. {
  36. static String name = "ManagedResourceMetaData";
  37. return name;
  38. }
  39. virtual UINT32 getRTTIId()
  40. {
  41. return TID_ManagedResourceMetaData;
  42. }
  43. virtual std::shared_ptr<IReflectable> newRTTIObject()
  44. {
  45. return bs_shared_ptr_new<ManagedResourceMetaData>();
  46. }
  47. };
  48. }