mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-21 21:17:25 +00:00
Potential solution
This commit is contained in:
parent
a9dc0e0dac
commit
c8991666d2
@ -1768,6 +1768,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) {
|
||||
@ -1781,6 +1782,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<CDMissionTasksTable>("MissionTasks");
|
||||
|
@ -40,18 +40,6 @@ ControllablePhysicsComponent::ControllablePhysicsComponent(Entity* entity) : Com
|
||||
m_dpEntity = new dpEntity(m_Parent->GetObjectID(), radius, false);
|
||||
m_dpEntity->SetCollisionGroup(COLLISION_GROUP_DYNAMIC | COLLISION_GROUP_FRIENDLY);
|
||||
dpWorld::Instance().AddEntity(m_dpEntity);
|
||||
|
||||
auto triggers = EntityManager::Instance()->GetEntitiesByComponent(COMPONENT_TYPE_PHANTOM_PHYSICS);
|
||||
|
||||
for (auto* trigger : triggers) {
|
||||
for (const auto* event : trigger->GetTrigger()->events) {
|
||||
if (event->eventID == "OnEnter") {
|
||||
if (dpCollisionChecks::AreColliding(trigger->GetComponent<PhantomPhysicsComponent>()->GetdpEntity(), this->m_dpEntity)) {
|
||||
trigger->TriggerEvent("OnEnter", this->m_Parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user