Exemplo n.º 1
0
    public void UpdateDoorStateTransitions()
    {
        if (DoorState == EDoorState.Opening)
        {
            m_StateChangeTimer += Time.deltaTime;

            if (m_StateChangeTimer > m_DoorOpenTime)
            {
                m_StateChangeTimer = m_DoorOpenTime;
                DoorState          = EDoorState.Opened;
            }

            transform.position = Vector3.Lerp(m_ClosedPosition, m_OpenedPosition, m_StateChangeTimer / m_DoorOpenTime);
        }
        else if (DoorState == EDoorState.Closing)
        {
            m_StateChangeTimer += Time.deltaTime;

            if (m_StateChangeTimer > m_CloseTime)
            {
                m_StateChangeTimer = m_CloseTime;
                DoorState          = EDoorState.Closed;
            }

            transform.position = Vector3.Lerp(m_OpenedPosition, m_ClosedPosition, m_StateChangeTimer / m_CloseTime);
        }
    }
Exemplo n.º 2
0
    public void CloseDoor()
    {
        if (DoorState == EDoorState.Opened)
        {
            m_StateChangeTimer = 0.0f;
        }

        if (DoorState != EDoorState.Closed)
        {
            DoorState = EDoorState.Opening;
        }
    }
Exemplo n.º 3
0
    void ClosingDoor()
    {
        if (closeLeftXCoord > leftDoor.transform.position.x)
        {
            leftDoor.transform.position += Vector3.right * moveSpeed * 0.01f;
        }

        if (closeRightXCoord < rightDoor.transform.position.x)
        {
            rightDoor.transform.position += Vector3.left * moveSpeed * 0.01f;
        }
        else
        {
            state = EDoorState.Idle;
            gate.SetActive(false);
        }
    }
Exemplo n.º 4
0
    void OpeningDoor()
    {
        if (openLeftXCoord < leftDoor.transform.position.x)
        {
            leftDoor.transform.position += Vector3.left * moveSpeed * 0.01f;
        }

        if (openRightXCoord > rightDoor.transform.position.x)
        {
            rightDoor.transform.position += Vector3.right * moveSpeed * 0.01f;
        }
        else
        {
            state = EDoorState.Idle;
            gate.SetActive(true);
        }
    }
Exemplo n.º 5
0
 public void SetState(EDoorState doorState)
 {
     state = doorState;
 }
Exemplo n.º 6
0
    public void CloseDoor()
    {
		if(DoorState == EDoorState.Opened)
			m_StateChangeTimer = 0.0f;

		if(DoorState != EDoorState.Closed)
		{
			DoorState = EDoorState.Opening;
		}
    }
Exemplo n.º 7
0
	public void UpdateDoorStateTransitions()
	{
		if(DoorState == EDoorState.Opening)
		{
			m_StateChangeTimer += Time.deltaTime;
			
			if(m_StateChangeTimer > m_DoorOpenTime)
			{
				m_StateChangeTimer = m_DoorOpenTime;
				DoorState = EDoorState.Opened;
			}
			
			transform.position = Vector3.Lerp(m_ClosedPosition, m_OpenedPosition, m_StateChangeTimer/m_DoorOpenTime);
		}
		else if(DoorState == EDoorState.Closing)
		{
			m_StateChangeTimer += Time.deltaTime;
			
			if(m_StateChangeTimer > m_CloseTime)
			{
				m_StateChangeTimer = m_CloseTime;
				DoorState = EDoorState.Closed;
			}
			
			transform.position = Vector3.Lerp(m_OpenedPosition, m_ClosedPosition, m_StateChangeTimer/m_CloseTime);
		}
	}