BsCCameraRTTI.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsCorePrerequisites.h"
  5. #include "BsRTTIType.h"
  6. #include "BsCCamera.h"
  7. #include "BsGameObjectRTTI.h"
  8. namespace BansheeEngine
  9. {
  10. /** @cond RTTI */
  11. /** @addtogroup RTTI-Impl-Engine
  12. * @{
  13. */
  14. class BS_CORE_EXPORT CCameraRTTI : public RTTIType<CCamera, Component, CCameraRTTI>
  15. {
  16. private:
  17. SPtr<Camera> getInternal(CCamera* obj) { return obj->mInternal; }
  18. void setInternal(CCamera* obj, SPtr<Camera> val) { obj->mInternal = val; }
  19. public:
  20. CCameraRTTI()
  21. {
  22. addReflectablePtrField("mInternal", 0, &CCameraRTTI::getInternal, &CCameraRTTI::setInternal);
  23. }
  24. const String& getRTTIName() override
  25. {
  26. static String name = "CCamera";
  27. return name;
  28. }
  29. UINT32 getRTTIId() override
  30. {
  31. return TID_CCamera;
  32. }
  33. SPtr<IReflectable> newRTTIObject() override
  34. {
  35. return GameObjectRTTI::createGameObject<CCamera>();
  36. }
  37. };
  38. /** @} */
  39. /** @endcond */
  40. }