コード例 #1
0
            public void Retire()
            {
                if (_mode == RainDecalState.Raining)
                {
                    Dry();
                }

                _mode       = RainDecalState.Retired;
                _retiredAge = _progress;
            }
コード例 #2
0
            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);
            }
コード例 #3
0
            public void Dry()
            {
                if (_progress > float.Epsilon)
                {
                    _baseState = _state;
                    _rateScale = 1 / _progress;
                    _progress  = 0;
                }
                else
                {
                    _rateScale = 1;
                    _progress  = 1;
                }

                _mode = RainDecalState.Drying;
            }