BsDbgTestGameObjectRefRTTI.h 1018 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. #include "BsPrerequisites.h"
  3. #include "BsRTTIType.h"
  4. #include "BsDbgTestGameObjectRef.h"
  5. #include "BsGameObjectRTTI.h"
  6. namespace BansheeEngine
  7. {
  8. class DbgTestGameObjectRefRTTI : public RTTIType<DbgTestGameObjectRef, Component, DbgTestGameObjectRefRTTI>
  9. {
  10. private:
  11. HRenderable& getRenderable(DbgTestGameObjectRef* obj) { return obj->mRenderable; }
  12. void setRenderable(DbgTestGameObjectRef* obj, HRenderable& val)
  13. {
  14. obj->mRenderable = val;
  15. }
  16. public:
  17. DbgTestGameObjectRefRTTI()
  18. {
  19. addReflectableField("mRenderable", 0, &DbgTestGameObjectRefRTTI::getRenderable, &DbgTestGameObjectRefRTTI::setRenderable);
  20. }
  21. virtual const String& getRTTIName()
  22. {
  23. static String name = "DbgTestGameObjectRef";
  24. return name;
  25. }
  26. virtual UINT32 getRTTIId()
  27. {
  28. return 600001; // NOTE: Just a debug value
  29. }
  30. virtual std::shared_ptr<IReflectable> newRTTIObject()
  31. {
  32. return GameObjectRTTI::createGameObject<DbgTestGameObjectRef>();
  33. }
  34. };
  35. }