BsCReflectionProbeRTTI.h 1.3 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 "Reflection/BsRTTIType.h"
  6. #include "Components/BsCReflectionProbe.h"
  7. #include "RTTI/BsGameObjectRTTI.h"
  8. namespace bs
  9. {
  10. /** @cond RTTI */
  11. /** @addtogroup RTTI-Impl-Engine
  12. * @{
  13. */
  14. class BS_CORE_EXPORT CReflectionProbeRTTI : public RTTIType <CReflectionProbe, Component, CReflectionProbeRTTI>
  15. {
  16. private:
  17. SPtr<ReflectionProbe> getInternal(CReflectionProbe* obj) { return obj->mInternal; }
  18. void setInternal(CReflectionProbe* obj, SPtr<ReflectionProbe> val) { obj->mInternal = val; }
  19. public:
  20. CReflectionProbeRTTI()
  21. {
  22. addReflectablePtrField("mInternal", 0, &CReflectionProbeRTTI::getInternal, &CReflectionProbeRTTI::setInternal);
  23. }
  24. const String& getRTTIName() override
  25. {
  26. static String name = "CReflectionProbe";
  27. return name;
  28. }
  29. UINT32 getRTTIId() override
  30. {
  31. return TID_CReflectionProbe;
  32. }
  33. SPtr<IReflectable> newRTTIObject() override
  34. {
  35. return GameObjectRTTI::createGameObject<CReflectionProbe>();
  36. }
  37. };
  38. /** @} */
  39. /** @endcond */
  40. }