| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #include "BsComponent.h"
- #include "BsSceneObject.h"
- #include "BsComponentRTTI.h"
- namespace BansheeEngine
- {
- Component::Component(const HSceneObject& parent)
- :mParent(parent)
- {
- setName("Component");
- }
- Component::~Component()
- {
- }
- bool Component::typeEquals(const Component& other)
- {
- return getRTTI()->getRTTIId() == other.getRTTI()->getRTTIId();
- }
- bool Component::calculateBounds(Bounds& bounds)
- {
- Vector3 position = SO()->getWorldPosition();
- bounds = Bounds(AABox(position, position), Sphere(position, 0.0f));
- return false;
- }
- void Component::destroy(bool immediate)
- {
- SO()->destroyComponent(this, immediate);
- }
- void Component::destroyInternal(GameObjectHandleBase& handle, bool immediate)
- {
- if (immediate)
- GameObjectManager::instance().unregisterObject(handle);
- else
- GameObjectManager::instance().queueForDestroy(handle);
- }
- RTTITypeBase* Component::getRTTIStatic()
- {
- return ComponentRTTI::instance();
- }
- RTTITypeBase* Component::getRTTI() const
- {
- return Component::getRTTIStatic();
- }
- }
|