private IEnumerator ChangeState() { while(true) { while(_currentCWState == CrosswalkState.CWS_Green) { curTimeToOrange -= Time.deltaTime; if(curTimeToOrange <= 0.0f) { _currentCWState = CrosswalkState.CWS_Orange; curTimeToRed = timeToRed; greenLightObj.SetActive(false); orangeLightObj.SetActive(true); myCrossWalkTrigger.UpdateState(currentCWState); break; } yield return null; } while(_currentCWState == CrosswalkState.CWS_Orange) { curTimeToRed -= Time.deltaTime; if(curTimeToRed <= 0.0f) { _currentCWState = CrosswalkState.CWS_Red; curTimeToGreen = timeToGreen; orangeLightObj.SetActive(false); redLightObj.SetActive(true); myCrossWalkTrigger.UpdateState(currentCWState); break; } yield return null; } while(_currentCWState == CrosswalkState.CWS_Red) { curTimeToGreen -= Time.deltaTime; if(curTimeToGreen <= 0.0f) { _currentCWState = CrosswalkState.CWS_Green; curTimeToOrange = timeToOrange; redLightObj.SetActive(false); greenLightObj.SetActive(true); myCrossWalkTrigger.UpdateState(currentCWState); break; } yield return null; } yield return null; } }
private IEnumerator ChangeState() { while (true) { while (_currentCWState == CrosswalkState.CWS_Green) { curTimeToOrange -= Time.deltaTime; if (curTimeToOrange <= 0.0f) { _currentCWState = CrosswalkState.CWS_Orange; curTimeToRed = timeToRed; greenLightObj.SetActive(false); orangeLightObj.SetActive(true); myCrossWalkTrigger.UpdateState(currentCWState); break; } yield return(null); } while (_currentCWState == CrosswalkState.CWS_Orange) { curTimeToRed -= Time.deltaTime; if (curTimeToRed <= 0.0f) { _currentCWState = CrosswalkState.CWS_Red; curTimeToGreen = timeToGreen; orangeLightObj.SetActive(false); redLightObj.SetActive(true); myCrossWalkTrigger.UpdateState(currentCWState); break; } yield return(null); } while (_currentCWState == CrosswalkState.CWS_Red) { curTimeToGreen -= Time.deltaTime; if (curTimeToGreen <= 0.0f) { _currentCWState = CrosswalkState.CWS_Green; curTimeToOrange = timeToOrange; redLightObj.SetActive(false); greenLightObj.SetActive(true); myCrossWalkTrigger.UpdateState(currentCWState); break; } yield return(null); } yield return(null); } }