public void OnStateChanged(StateScriptableObject oldState, StateScriptableObject newState) { if (newState == _gameMode) { _timerRef.Value = 0; _meatballTimeSplit.Value = 0f; _isMeatballRun.Value = false; _isMeatballTouched.Value = false; StartCoroutine("CountTimer"); } else { StopCoroutine("CountTimer"); } }
// Compare State Values and Trigger Appropriate Animation event when state changes public void OnStateChanged(StateScriptableObject oldState, StateScriptableObject newState) { if (newState == _start) { _animator.SetTrigger("ToStart"); } else if (newState == _instructions) { _animator.SetTrigger("ToInstructions"); } else if (newState == _gameMode) { _animator.SetTrigger("ToGameMode"); } else if (newState == _levelComplete) { _animator.SetTrigger("ToLevelComplete"); } else if (newState == _backstory) { _animator.SetTrigger("ToBackStory"); } }
void OnStateChanged(ExternalVariable <StateScriptableObject> sender, StateScriptableObject oldState, StateScriptableObject newState) { _onStateChange.Invoke(oldState, newState); }