overhauled physics engine
This commit is contained in:
@@ -6,7 +6,7 @@ using namespace Seele;
|
||||
Actor::Actor(PScene scene)
|
||||
: Entity(scene)
|
||||
{
|
||||
scene->attachComponent<Component::Transform>(identifier);
|
||||
attachComponent<Component::Transform>();
|
||||
}
|
||||
|
||||
Actor::~Actor()
|
||||
@@ -32,13 +32,9 @@ void Actor::removeChild(PActor child)
|
||||
children.remove(children.find(child), false);
|
||||
child->setParent(nullptr);
|
||||
}
|
||||
const Component::Transform& Actor::getTransform() const
|
||||
|
||||
Component::Transform& Actor::getTransform()
|
||||
{
|
||||
return scene->accessComponent<Component::Transform>(identifier);
|
||||
return accessComponent<Component::Transform>();
|
||||
}
|
||||
|
||||
//Component::Transform& Actor::getTransform()
|
||||
//{
|
||||
// return scene->accessComponent<Component::Transform>(identifier);
|
||||
//}
|
||||
|
||||
|
||||
@@ -18,8 +18,7 @@ public:
|
||||
void removeChild(PActor child);
|
||||
Array<PActor> getChildren();
|
||||
|
||||
// Returns a read-only copy of the actors transform
|
||||
const Component::Transform& getTransform() const;
|
||||
Component::Transform& getTransform();
|
||||
|
||||
protected:
|
||||
//Component::Transform& getTransform();
|
||||
|
||||
@@ -6,8 +6,8 @@ using namespace Seele;
|
||||
CameraActor::CameraActor(PScene scene)
|
||||
: Actor(scene)
|
||||
{
|
||||
scene->attachComponent<Component::Camera>(identifier);
|
||||
scene->accessComponent<Component::Transform>(identifier).setRelativeLocation(Math::Vector(10, 5, 14));
|
||||
attachComponent<Component::Camera>();
|
||||
attachComponent<Component::Transform>().setRelativeLocation(Vector(10, 5, 14));
|
||||
}
|
||||
|
||||
CameraActor::~CameraActor()
|
||||
@@ -16,10 +16,10 @@ CameraActor::~CameraActor()
|
||||
|
||||
Component::Camera& CameraActor::getCameraComponent()
|
||||
{
|
||||
return scene->accessComponent<Component::Camera>(identifier);
|
||||
return accessComponent<Component::Camera>();
|
||||
}
|
||||
|
||||
const Component::Camera& CameraActor::getCameraComponent() const
|
||||
{
|
||||
return scene->accessComponent<Component::Camera>(identifier);
|
||||
return accessComponent<Component::Camera>();
|
||||
}
|
||||
@@ -11,5 +11,5 @@ Entity::Entity(PScene scene)
|
||||
|
||||
Entity::~Entity()
|
||||
{
|
||||
|
||||
scene->destroyEntity(identifier);
|
||||
}
|
||||
@@ -13,9 +13,19 @@ public:
|
||||
virtual ~Entity();
|
||||
|
||||
template<typename Component, typename... Args>
|
||||
Component& attachComponent(Args... args)
|
||||
Component& attachComponent(Args&&... args)
|
||||
{
|
||||
return scene->attachComponent<Component>(identifier, args...);
|
||||
return scene->attachComponent<Component>(identifier, std::forward<Args>(args)...);
|
||||
}
|
||||
template<typename Component>
|
||||
Component& accessComponent()
|
||||
{
|
||||
return scene->accessComponent<Component>(identifier);
|
||||
}
|
||||
template<typename Component>
|
||||
const Component& accessComponent() const
|
||||
{
|
||||
return scene->accessComponent<Component>(identifier);
|
||||
}
|
||||
protected:
|
||||
PScene scene;
|
||||
|
||||
Reference in New Issue
Block a user