Beispiel #1
0
        public override float Run()
        {
            if (runtimeDragObject == null)
            {
                isRunning = false;
                return(0f);
            }

            if (runtimeNewTrack != null)
            {
                runtimeDragObject.SnapToTrack(runtimeNewTrack, positionAlong);
                isRunning = false;
                return(0f);
            }

            if (!isRunning)
            {
                isRunning = true;

                if (isInstant)
                {
                    runtimeDragObject.AutoMoveAlongTrack(positionAlong, 0f, removePlayerControl);
                }
                else
                {
                    if (stopOnCollide)
                    {
                        runtimeDragObject.AutoMoveAlongTrack(positionAlong, speed, removePlayerControl, layerMask);
                    }
                    else
                    {
                        runtimeDragObject.AutoMoveAlongTrack(positionAlong, speed, removePlayerControl);
                    }
                }

                if (willWait && !isInstant && speed > 0f)
                {
                    return(defaultPauseTime);
                }
                isRunning = false;
                return(0f);
            }
            else
            {
                if (runtimeDragObject.IsAutoMoving(false))
                {
                    return(defaultPauseTime);
                }
                isRunning = false;
                return(0f);
            }
        }
Beispiel #2
0
        override public float Run()
        {
            if (dragObject == null)
            {
                isRunning = false;
                return(0f);
            }

            if (!isRunning)
            {
                isRunning = true;

                if (isInstant)
                {
                    dragObject.AutoMoveAlongTrack(positionAlong, 0f, removePlayerControl);
                }
                else
                {
                    dragObject.AutoMoveAlongTrack(positionAlong, speed, removePlayerControl);
                }

                if (willWait && !isInstant && speed > 0f)
                {
                    return(defaultPauseTime);
                }
                isRunning = false;
                return(0f);
            }
            else
            {
                if (dragObject.IsAutoMoving())
                {
                    return(defaultPauseTime);
                }
                isRunning = false;
                return(0f);
            }
        }
Beispiel #3
0
 /**
  * <summary>Moves a draggable object towards the snap point</summary>
  * <param name = "draggable">The object to move</param>
  * <param name = "speed">How fast to move the object by</param>
  */
 public void MoveTo(Moveable_Drag draggable, float speed)
 {
     draggable.AutoMoveAlongTrack(positionAlong, speed, true, 1 << 0, ID);
 }