private void StopStabilizingTargetedObject() { if (m_distanceJointObject != null) { m_distanceJointObject.Remove(); m_distanceJoint.Remove(); m_targetedObjectJoint.Remove(); } var player = ScriptHelper.CastPlayer(TargetedObject); if (player != null) { player.AddCommand(new PlayerCommand(PlayerCommandType.StopStagger)); player.SetInputEnabled(true); } m_pullJoint.SetTargetObject(null); if (TargetedObject != null) { if (Owner.IsBot) { TargetedObject.SetCollisionFilter(m_oldCollisionFilter); } if (TargetedObject.GetCollisionFilter().CategoryBits == CategoryBits.DynamicG2) { TargetedObject.TrackAsMissile(true); // must be called after updating CollisionFilter } TargetedObject.SetMass(m_oldMass); TargetedObject = null; } IsTargetedObjectStabilized = false; }
public void StopMovement(bool makeStatic = true) { if (RailJoint == null) { return; } RailAttachment.SetTargetObject(null); RailAttachment.SetRailJoint(null); if (makeStatic) { Hull.SetBodyType(BodyType.Static); } RailJoint.Remove(); TargetObject.Remove(); RailAttachment.Remove(); RailJoint = null; }
protected override void Destroy() { base.Destroy(); BlackholeLocations.Remove(HoverPosition); if (m_blackhole != null) { m_blackhole.Remove(); } foreach (var o in m_blackholes) { o.Remove(); } if (m_magnetJoint != null) { m_magnetJoint.Remove(); } foreach (var objectInfo in m_pulledObjects.Values) { StopPulling(objectInfo); } }