CmRenderableRTTI.h 667 B

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. #include "CmRTTIType.h"
  4. #include "CmRenderable.h"
  5. namespace CamelotEngine
  6. {
  7. class CM_EXPORT RenderableRTTI : public RTTIType<Renderable, Component, RenderableRTTI>
  8. {
  9. private:
  10. public:
  11. RenderableRTTI()
  12. {
  13. }
  14. virtual const String& getRTTIName()
  15. {
  16. static String name = "Renderable";
  17. return name;
  18. }
  19. virtual UINT32 getRTTIId()
  20. {
  21. return TID_Renderable;
  22. }
  23. virtual std::shared_ptr<IReflectable> newRTTIObject()
  24. {
  25. return std::shared_ptr<Renderable>(CM_NEW(Renderable, PoolAlloc) Renderable(),
  26. &MemAllocDeleter<Renderable, PoolAlloc>::deleter);
  27. }
  28. };
  29. }