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); } }
public void CloseDoor() { if (DoorState == EDoorState.Opened) { m_StateChangeTimer = 0.0f; } if (DoorState != EDoorState.Closed) { DoorState = EDoorState.Opening; } }
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); } }
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); } }
public void SetState(EDoorState doorState) { state = doorState; }
public void CloseDoor() { if(DoorState == EDoorState.Opened) m_StateChangeTimer = 0.0f; if(DoorState != EDoorState.Closed) { DoorState = EDoorState.Opening; } }
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); } }