public void OnChange(IScriptableVariable <float> variable) { var nextClipList = GetNext(); _nextClipList = nextClipList; if (_nextClipList != null && _nextClipList.PlayAudioClipList == _currentClipList) { if (_currentClipList != null) { _currentClipList.Shedule = null; } return; } if (_currentClipList != null) { if (_nextClipList == null) { StartCoroutine(Stop()); } else if (_nextClipList.Transition == TransitionType.Cut) { _currentClipList.Stop(); PlayNext(); } else if (_nextClipList.Transition == TransitionType.Transition) { Debug.Log(_currentClipList); Debug.Log(_currentClipList.CurrentTime); var position = _currentClipList.CurrentTime; _currentClipList.FadeOut(_transitionDuration); PlayNext(); position %= _currentClipList.Length; _currentClipList.FadeIn(_transitionDuration, position); } else { _currentClipList.Shedule = this; } } else { PlayNext(); } _lastClipList = nextClipList; }
public void OnChange(IScriptableVariable <float> variable) { var input = Mathf.Clamp01(_floatScriptable.Value); float volume = 0f; if (input > _fadeIn.x && input < _fadeIn.y) { volume = (input - _fadeIn.x) / _fadeIn.y; } else if (input >= _fadeIn.y && input <= _fadeOut.x) { volume = 1f; } else if (input > _fadeOut.x && input < _fadeOut.y) { volume = 1f - (input - _fadeOut.x) / _fadeOut.y; } _playAudioClipList.Volume = volume; }
public void OnChange(IScriptableVariable <float> variable) { _text.text = _floatScriptable.Value.ToString("F2"); }