BsLightProbeVolumeRTTI.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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 "BsLightProbeVolume.h"
  7. namespace bs
  8. {
  9. /** @cond RTTI */
  10. /** @addtogroup RTTI-Impl-Engine
  11. * @{
  12. */
  13. class BS_CORE_EXPORT LightProbeVolumeRTTI : public RTTIType <LightProbeVolume, IReflectable, LightProbeVolumeRTTI>
  14. {
  15. private:
  16. BS_BEGIN_RTTI_MEMBERS
  17. BS_RTTI_MEMBER_PLAIN(mPosition, 0)
  18. BS_RTTI_MEMBER_PLAIN(mRotation, 1)
  19. BS_END_RTTI_MEMBERS
  20. public:
  21. LightProbeVolumeRTTI()
  22. :mInitMembers(this)
  23. { }
  24. void onDeserializationEnded(IReflectable* obj, const UnorderedMap<String, UINT64>& params) override
  25. {
  26. // Note: Since this is a CoreObject I should call initialize() right after deserialization,
  27. // but since this specific type is used in Components we delay initialization until Component
  28. // itself does it. Keep this is mind in case this ever needs to be deserialized for non-Component
  29. // purposes (you'll need to call initialize manually).
  30. }
  31. const String& getRTTIName() override
  32. {
  33. static String name = "LightProbeVolume";
  34. return name;
  35. }
  36. UINT32 getRTTIId() override
  37. {
  38. return TID_LightProbeVolume;
  39. }
  40. SPtr<IReflectable> newRTTIObject() override
  41. {
  42. return LightProbeVolume::createEmpty();
  43. }
  44. };
  45. /** @} */
  46. /** @endcond */
  47. }