private void _Deactivate() { IsActive = false; IsSelected = false; SpawnVersion++; if (onDeactivation.IsNotNull()) { onDeactivation(this); } abilityManager.Deactivate(); PhysicsManager.Dessimilate(Body); if (Influencer.IsNotNull()) { Influencer.Deactivate(); } if (StatsBarer != null) { StatsBarer.Deactivate(); } if (Ringer.IsNotNull()) { Ringer.Deactivate(); } }
public void Deactivate() { Partition.UpdateObject(this, false); foreach (var collisionPair in CollisionPairs.Values) { collisionPair.Body2.CollisionPairHolders.Remove(ID); DeactivatePair(collisionPair); } CollisionPairs.Clear(); foreach (var id in CollisionPairHolders) { LSBody other = PhysicsManager.SimObjects[id]; if (other.IsNotNull()) { CollisionPair collisionPair; if (other.CollisionPairs.TryGetValue(ID, out collisionPair)) { other.CollisionPairs.Remove(this.ID); DeactivatePair(collisionPair); } else { Debug.Log("nope " + ID); } } } CollisionPairHolders.Clear(); PhysicsManager.Dessimilate(this); Active = false; }
public void Deactivate() { PhysicsManager.Dessimilate(Body); }
public void Deactivate() { Partition.UpdateObject(this, false); PhysicsManager.Dessimilate(this); }
public void Deactivate() { PhysicsManager.Dessimilate(this); }