mirror of
https://github.com/overte-org/overte.git
synced 2025-07-28 21:50:24 +02:00
Merge pull request #12204 from druiz17/fix-dynamic-entities-not-colliding
Fix dynamic entities not colliding with avatar when a grab action is removed
This commit is contained in:
commit
61a5750b09
1 changed files with 4 additions and 3 deletions
|
@ -2086,6 +2086,10 @@ bool EntityItem::removeActionInternal(const QUuid& actionID, EntitySimulationPoi
|
||||||
|
|
||||||
EntityDynamicPointer action = _objectActions[actionID];
|
EntityDynamicPointer action = _objectActions[actionID];
|
||||||
auto removedActionType = action->getType();
|
auto removedActionType = action->getType();
|
||||||
|
action->setOwnerEntity(nullptr);
|
||||||
|
action->setIsMine(false);
|
||||||
|
_objectActions.remove(actionID);
|
||||||
|
|
||||||
if ((removedActionType == DYNAMIC_TYPE_HOLD || removedActionType == DYNAMIC_TYPE_FAR_GRAB) && !stillHasGrabActions()) {
|
if ((removedActionType == DYNAMIC_TYPE_HOLD || removedActionType == DYNAMIC_TYPE_FAR_GRAB) && !stillHasGrabActions()) {
|
||||||
_dirtyFlags &= ~Simulation::NO_BOOTSTRAPPING;
|
_dirtyFlags &= ~Simulation::NO_BOOTSTRAPPING;
|
||||||
_dirtyFlags |= Simulation::DIRTY_COLLISION_GROUP; // may need to not collide with own avatar
|
_dirtyFlags |= Simulation::DIRTY_COLLISION_GROUP; // may need to not collide with own avatar
|
||||||
|
@ -2101,9 +2105,6 @@ bool EntityItem::removeActionInternal(const QUuid& actionID, EntitySimulationPoi
|
||||||
// because they should have been set correctly when the action was added
|
// because they should have been set correctly when the action was added
|
||||||
// and/or when children were linked
|
// and/or when children were linked
|
||||||
}
|
}
|
||||||
action->setOwnerEntity(nullptr);
|
|
||||||
action->setIsMine(false);
|
|
||||||
_objectActions.remove(actionID);
|
|
||||||
|
|
||||||
if (simulation) {
|
if (simulation) {
|
||||||
action->removeFromSimulation(simulation);
|
action->removeFromSimulation(simulation);
|
||||||
|
|
Loading…
Reference in a new issue