Beispiel #1
0
        private FlagElevator()
        {
            elevatorMotor = new TalonSRX(ELEVATOR_CAN_ID);

            elevatorMotor.SetInverted(true);  //can change if the motor is mounted the wrong way.

            m_currentState = ELEVATORSTATE.StoppedLocation;
        }
Beispiel #2
0
    // Update is called once per frame
    void Update()
    {
        switch (state)
        {
        case ELEVATORSTATE.IDLE:
            // do nothing
            break;

        case ELEVATORSTATE.MOVING:
            elevator.transform.position = Vector3.Lerp(elevator.transform.position, waypoint[currentWaypoint].transform.position, speed * Time.deltaTime);
            if ((elevator.transform.position - waypoint[currentWaypoint].transform.position).magnitude < minDistance)
            {
                state = ELEVATORSTATE.IDLE;
            }
            break;
        }
    }
Beispiel #3
0
    // Update is called once per frame
    void Update()
    {
        switch (elevatorState)
        {
        case ELEVATORSTATE.WAITING:

            /// <summary
            /// BAH HUMBUG I HATE THIS CODE
            /// </summary

            waitTimer += Time.deltaTime;
            // Wait on point for X seconds
            if (waitTimer >= 2)
            {
                elevatorState = ELEVATORSTATE.MOVING;
            }

            break;

        case ELEVATORSTATE.MOVING:
            // Swap the waypoint
            if ((waypoints[currentWaypoint].transform.position - transform.position).magnitude < 1)
            {
                if (currentWaypoint == 0)
                {
                    currentWaypoint++;
                }
                else
                {
                    currentWaypoint--;
                }
            }
            // if within distance of waypoint, pause so player cana get on or off
            if ((waypoints[currentWaypoint].transform.position - transform.position).magnitude < 1.1f)
            {
                waitTimer     = 0;
                elevatorState = ELEVATORSTATE.WAITING;
            }

            // Move to next waypoint
            transform.position = Vector3.MoveTowards(transform.position, waypoints[currentWaypoint].transform.position, moveSpeed * Time.deltaTime);

            break;
        }
    }
Beispiel #4
0
 void OnTriggerStay(Collider other)
 {
     if (other.CompareTag("Player"))
     {
         if (Input.GetKeyDown(KeyCode.V))
         {
             if (currentWaypoint == 0)
             {
                 currentWaypoint++;
                 state = ELEVATORSTATE.MOVING;
             }
             else
             {
                 currentWaypoint--;
                 state = ELEVATORSTATE.MOVING;
             }
         }
     }
 }
Beispiel #5
0
 public void setState(ELEVATORSTATE elevator)
 {
     m_currentState = elevator;
 }
Beispiel #6
0
 // Use this for initialization
 void Start()
 {
     elevatorState = ELEVATORSTATE.WAITING;
 }
Beispiel #7
0
 // Use this for initialization
 void Start()
 {
     state = ELEVATORSTATE.IDLE;
 }