BsComponent.cpp 730 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include "BsComponent.h"
  2. #include "BsSceneObject.h"
  3. #include "BsComponentRTTI.h"
  4. namespace BansheeEngine
  5. {
  6. Component::Component(const HSceneObject& parent)
  7. :mParent(parent)
  8. {
  9. setName("Component");
  10. }
  11. Component::~Component()
  12. {
  13. }
  14. void Component::destroy(bool immediate)
  15. {
  16. SO()->destroyComponent(this, immediate);
  17. }
  18. void Component::destroyInternal(GameObjectHandleBase& handle, bool immediate)
  19. {
  20. if (immediate)
  21. GameObjectManager::instance().unregisterObject(handle);
  22. else
  23. GameObjectManager::instance().queueForDestroy(handle);
  24. }
  25. RTTITypeBase* Component::getRTTIStatic()
  26. {
  27. return ComponentRTTI::instance();
  28. }
  29. RTTITypeBase* Component::getRTTI() const
  30. {
  31. return Component::getRTTIStatic();
  32. }
  33. }