private void SetStateAnimations(TensionState tensionState) { this.transform.DOKill(); this.transform.localScale = new Vector3(1, 1, 1); switch (tensionState) { case TensionState.Idle: this.transform.DOScale(1.05f, 0.85f).SetLoops(-1, LoopType.Yoyo).SetEase(Ease.Linear); break; case TensionState.Pushy: this.transform.DOScale(1.05f, 0.85f).SetEase(Ease.OutElastic).OnComplete(() => { this.transform.DOScale(1, 0.4f).OnComplete(() => { SetStateAnimations(TensionState.Pushy); }); }); break; case TensionState.Aggression: this.transform.DOScale(1.08f, 0.35f).SetLoops(-1, LoopType.Yoyo).SetEase(Ease.InBack); break; case TensionState.Outbreak: this.transform.DOScale(1.10f, 0.185f).SetLoops(-1, LoopType.Yoyo).SetEase(Ease.InBack); break; } }
public void SetTensionState(TensionState tensionState) { _preTensionState = tensionState; _currentState = tensionState; SetStateAnimations(tensionState); }
private void OnTensionStateChangedEvent(TensionState tensionState) { if (tensionState == TensionState.Outbreak) { SetTensionState(TensionState.Outbreak); } }
private void SetTensionState(TensionState tensionState) { TensionState = tensionState; float newRate = 1; switch (tensionState) { case TensionState.Aggression: newRate = _tensionManager.TensionRate + 3; break; case TensionState.Idle: newRate = 0; break; case TensionState.Pushy: newRate = _tensionManager.TensionRate + 1; break; case TensionState.Outbreak: newRate = _tensionManager.TensionRate + 4; break; } for (int i = 0; i < _policeCrowds.Length; i++) { _policeCrowds[i].SetTensionState(TensionState); } _tensionManager.SetTensionRate(newRate); }
public void setTensionStateSigns(TensionState state) { float percNormal = 0; switch (state) { case TensionState.Idle: percNormal = 100; break; case TensionState.Pushy: percNormal = 60; break; case TensionState.Aggression: percNormal = 50; break; case TensionState.Outbreak: percNormal = 0; break; } if (percNormal > (UnityEngine.Random.value * 100)) { _sign1.sprite = _normal[UnityEngine.Random.Range(0, (_normal.Length))]; } else { _sign1.sprite = _deadly[UnityEngine.Random.Range(0, (_deadly.Length))]; } if (percNormal > (UnityEngine.Random.value * 100)) { _sign2.sprite = _normal[UnityEngine.Random.Range(0, (_normal.Length))]; } else { _sign2.sprite = _deadly[UnityEngine.Random.Range(0, (_deadly.Length))]; } if (percNormal > (UnityEngine.Random.value * 100)) { _sign3.sprite = _normal[UnityEngine.Random.Range(0, (_normal.Length))]; } else { _sign3.sprite = _deadly[UnityEngine.Random.Range(0, (_deadly.Length))]; } }
public static TensionState GetNextNaturalTensionState(TensionState tensionState) { switch (tensionState) { case TensionState.Idle: return(TensionState.Pushy); case TensionState.Pushy: return(TensionState.Aggression); case TensionState.Aggression: return(TensionState.Outbreak); case TensionState.Outbreak: return(TensionState.Outbreak); } Debug.LogWarning("No Tension return state set for the following state: " + tensionState.ToString()); return(TensionState.Idle); }