public void Retire() { if (_mode == RainDecalState.Raining) { Dry(); } _mode = RainDecalState.Retired; _retiredAge = _progress; }
public void Rain(float initialProgress = 0) { _baseState = _rain.DryState; _state = _baseState; _progress = initialProgress; _rateScale = 1; _mode = RainDecalState.Raining; _state.Apply(_decal); _decal.gameObject.SetActive(true); }
public void Dry() { if (_progress > float.Epsilon) { _baseState = _state; _rateScale = 1 / _progress; _progress = 0; } else { _rateScale = 1; _progress = 1; } _mode = RainDecalState.Drying; }