コード例 #1
0
    private void StoreCurrentPosition()
    {
        for (var i = 0; i < positionKeys.Length; ++i)
        {
            if (Input.GetKeyDown(positionKeys[i]))
            {
                storedPositions[i] = new StoredPosition
                {
                    Position = this.transform.position,
                    Rotation = this.transform.rotation
                };
                break;
            }
        }

        SavePositionData();
    }
コード例 #2
0
 private bool GotoStoredPosition()
 {
     for (var i = 0; i < positionKeys.Length; ++i)
     {
         if (Input.GetKeyDown(positionKeys[i]))
         {
             StoredPosition pos = GetStoredPosition(i);
             if (pos != null)
             {
                 SetPosition(pos);
                 return(true);
             }
             return(false);
         }
     }
     return(false);
 }
コード例 #3
0
 public void FixedUpdate()
 {
     if (m_timeState == TimeState.Normal)
     {
         m_movementHistory.AddFirst(new StoredPosition(transform, m_robotState));
         if (m_movementHistory.Count >= 60 * 10)
         {
             m_movementHistory.RemoveLast();
         }
         GetComponent <RobotMovement>().Move();
     }
     else if (m_timeState == TimeState.Backward)
     {
         if (m_movementHistory.Count > 1)
         {
             StoredPosition sp = m_movementHistory.First.Value;
             transform.position = sp.position;
             transform.rotation = sp.rotation;
             GetComponent <RobotMovement>().SetRobotState(sp.robotState);
             m_movementHistory.RemoveFirst();
         }
     }
 }
コード例 #4
0
 private void SetPosition(StoredPosition pos)
 {
     this.transform.position = pos.Position;
     this.transform.rotation = pos.Rotation;
 }