mirror of
https://github.com/overte-org/overte.git
synced 2025-08-07 17:30:37 +02:00
Committing checkpoint changes, then testing
This commit is contained in:
parent
8dec066c2b
commit
ebe6ce9c8d
1 changed files with 22 additions and 17 deletions
|
@ -1092,24 +1092,29 @@ void EntityTreeRenderer::entityCollisionWithEntity(const EntityItemID& idA, cons
|
||||||
// trigger scripted collision sounds and events for locally owned objects
|
// trigger scripted collision sounds and events for locally owned objects
|
||||||
EntityItemPointer entityA = entityTree->findEntityByEntityItemID(idA);
|
EntityItemPointer entityA = entityTree->findEntityByEntityItemID(idA);
|
||||||
EntityItemPointer entityB = entityTree->findEntityByEntityItemID(idB);
|
EntityItemPointer entityB = entityTree->findEntityByEntityItemID(idB);
|
||||||
QUuid entityASimulatorID = entityA->getSimulatorID();
|
if ((bool)entityA && (bool)entityB) {
|
||||||
QUuid entityBSimulatorID = entityB->getSimulatorID();
|
QUuid entityASimulatorID = entityA->getSimulatorID();
|
||||||
if ((bool)entityA && (myNodeID == entityASimulatorID || ((bool)entityB && myNodeID == entityBSimulatorID && entityASimulatorID.isNull()))) {
|
QUuid entityBSimulatorID = entityB->getSimulatorID();
|
||||||
playEntityCollisionSound(entityA, collision);
|
bool entityAIsStatic = !entityA->getDynamic() && !entityA->isMoving();
|
||||||
emit collisionWithEntity(idA, idB, collision);
|
bool entityBIsStatic = !entityB->getDynamic() && !entityB->isMoving();
|
||||||
if (_entitiesScriptEngine) {
|
|
||||||
_entitiesScriptEngine->callEntityScriptMethod(idA, "collisionWithEntity", idB, collision);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((bool)entityB && (myNodeID == entityBSimulatorID || ((bool)entityA && myNodeID == entityASimulatorID && entityBSimulatorID.isNull()))) {
|
if (myNodeID == entityASimulatorID || (myNodeID == entityBSimulatorID && entityAIsStatic)) {
|
||||||
playEntityCollisionSound(entityB, collision);
|
playEntityCollisionSound(entityA, collision);
|
||||||
// since we're swapping A and B we need to send the inverted collision
|
emit collisionWithEntity(idA, idB, collision);
|
||||||
Collision invertedCollision(collision);
|
if (_entitiesScriptEngine) {
|
||||||
invertedCollision.invert();
|
_entitiesScriptEngine->callEntityScriptMethod(idA, "collisionWithEntity", idB, collision);
|
||||||
emit collisionWithEntity(idB, idA, invertedCollision);
|
}
|
||||||
if (_entitiesScriptEngine) {
|
}
|
||||||
_entitiesScriptEngine->callEntityScriptMethod(idB, "collisionWithEntity", idA, invertedCollision);
|
|
||||||
|
if (myNodeID == entityBSimulatorID || (myNodeID == entityASimulatorID && entityBIsStatic)) {
|
||||||
|
playEntityCollisionSound(entityB, collision);
|
||||||
|
// since we're swapping A and B we need to send the inverted collision
|
||||||
|
Collision invertedCollision(collision);
|
||||||
|
invertedCollision.invert();
|
||||||
|
emit collisionWithEntity(idB, idA, invertedCollision);
|
||||||
|
if (_entitiesScriptEngine) {
|
||||||
|
_entitiesScriptEngine->callEntityScriptMethod(idB, "collisionWithEntity", idA, invertedCollision);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue