IEnumerator UpdateDecision() { // wait after decision was made to make a new decision yield return(new WaitForSeconds(updateDecisionDelay)); decisionMade = false; if (!dead && started) { forwardTicker = forwardTimer; decision = 0; if (decisionScr.choice1.GetComponent <ChoiceScript>().description == "PowerUp") { powerUp.ActivatePowerUp(); } if (decisionsAlive == 0) { GameObject _newDecision = GetDecisionWithProb(); if (_newDecision == lastDecision) { //Debug.Log("That decision just happened! Try again!"); _newDecision = GetDecisionWithProb(); } decisionScr = Instantiate(_newDecision.GetComponent <DecisionScript>()); decisionsAlive++; lastDecision = _newDecision; } } }
void Start() { // init length of how many times you've made certain choices choiceCounts = new int[choices.Length]; // move lever lever.eulerAngles = new Vector3(lever.transform.eulerAngles.x, lever.transform.eulerAngles.y, defaultState); // Start with a decision decisionScr = Instantiate(decisions[Random.Range(0, decisions.Length)]).GetComponent <DecisionScript>(); decisionsAlive++; // init ticker forwardTicker = forwardTimer; timerText = GameObject.Find("Timer").GetComponent <Text>(); powerUp = this.gameObject.GetComponent <PowerUp>(); StartCoroutine("InitStart"); }