Exemple #1
0
        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;
        }
Exemple #2
0
 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;
 }
Exemple #3
0
        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);
            }
        }