public void Update() { if (machine.failedState != null) { machine.RetryFailedState(); } recountTick--; if (recountTick < 0) { recountTick = 10; blueCount = livingActors.FindAll(x => x.team == ActorTeam.BLUE).Count; blueText.text = "BLUE: " + blueCount.ToString(); redCount = livingActors.FindAll(x => x.team == ActorTeam.RED).Count; redText.text = "RED: " + redCount.ToString(); if (redCount == 0 || blueCount == 0) { GameState currentState = (GameState)machine.GetActiveState(); if (currentState == GameState.ACTION) { machine.SetState(GameState.INTRO); } } } }
public void OnChange(int prevIdx) { Color color = Color.white; switch (machine.GetActiveState()) { case 0: color = Color.white; break; case 1: color = thisBody.mainColor; break; case 2: color = selectedColor; break; case 3: color = Color.red; break; case 4: color = Color.magenta; break; case 5: color = Color.cyan; break; case 6: color = Color.yellow; break; case 7: color = Color.white; break; } debugState = (PartState)machine.GetActiveState(); //PartState lastState = (PartState)prevIdx; SetColor(color); }