BsPhysicsMeshRTTI.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 "BsPhysicsMesh.h"
  7. namespace BansheeEngine
  8. {
  9. /** @cond RTTI */
  10. /** @addtogroup RTTI-Impl-Core
  11. * @{
  12. */
  13. class BS_CORE_EXPORT PhysicsMeshRTTI : public RTTIType<PhysicsMesh, Resource, PhysicsMeshRTTI>
  14. {
  15. private:
  16. BS_PLAIN_MEMBER(mType)
  17. public:
  18. PhysicsMeshRTTI()
  19. {
  20. BS_ADD_PLAIN_FIELD(mType, 0)
  21. }
  22. const String& getRTTIName() override
  23. {
  24. static String name = "PhysicsMesh";
  25. return name;
  26. }
  27. UINT32 getRTTIId() override
  28. {
  29. return TID_PhysicsMesh;
  30. }
  31. std::shared_ptr<IReflectable> newRTTIObject() override
  32. {
  33. BS_EXCEPT(InternalErrorException, "Cannot instantiate an abstract class.");
  34. return nullptr;
  35. }
  36. };
  37. /** @} */
  38. /** @endcond */
  39. }