diff --git a/dGame/Entity.cpp b/dGame/Entity.cpp index ad9b8cd5..dd6df1d4 100644 --- a/dGame/Entity.cpp +++ b/dGame/Entity.cpp @@ -1788,6 +1788,7 @@ void Entity::HandleTriggerCommand(std::string id, std::string target, std::strin else if (argArray[0] == "repulse") effectType = 2; else if (argArray[0] == "gravity") effectType = 3; else if (argArray[0] == "friction") effectType = 4; + phanPhys->SetEffectType(effectType); phanPhys->SetDirectionalMultiplier(std::stof(argArray[1])); if (argArray.size() > 4) { @@ -1801,6 +1802,10 @@ void Entity::HandleTriggerCommand(std::string id, std::string target, std::strin phanPhys->SetMin(std::stoi(argArray[6])); phanPhys->SetMax(std::stoi(argArray[7])); } + + if (target == "self") { + EntityManager::Instance()->ConstructEntity(this); + } } else if (id == "updateMission") { CDMissionTasksTable* missionTasksTable = CDClientManager::Instance()->GetTable("MissionTasks"); diff --git a/dGame/dComponents/ControllablePhysicsComponent.h b/dGame/dComponents/ControllablePhysicsComponent.h index 50ec4f26..1c1a4f44 100644 --- a/dGame/dComponents/ControllablePhysicsComponent.h +++ b/dGame/dComponents/ControllablePhysicsComponent.h @@ -7,6 +7,8 @@ #include "NiQuaternion.h" #include "tinyxml2.h" #include "Component.h" +#include "dpCollisionChecks.h" +#include "PhantomPhysicsComponent.h" class Entity; class dpEntity; @@ -218,6 +220,13 @@ public: */ bool GetStatic() const { return m_Static; } + /** + * Returns the Physics entity for the component + * @return Physics entity for the component + */ + + dpEntity* GetdpEntity() const { return m_dpEntity; } + private: /** * The entity that owns this component diff --git a/dGame/dComponents/PhantomPhysicsComponent.h b/dGame/dComponents/PhantomPhysicsComponent.h index fe1ee242..faf6362f 100644 --- a/dGame/dComponents/PhantomPhysicsComponent.h +++ b/dGame/dComponents/PhantomPhysicsComponent.h @@ -110,6 +110,13 @@ public: */ void SetEffectType(uint32_t type); + /** + * Returns the Physics entity for the component + * @return Physics entity for the component + */ + + dpEntity* GetdpEntity() const { return m_dpEntity; } + /** * Spawns an object at each of the vertices for debugging purposes */