public override void Start() { base.Start(); _camera = this.GetComponent<Camera>(); _initialHsv = _camera.backgroundColor.GetHSV(); _targetHsv = this.TargetColor.GetHSV(); _hsv = _initialHsv; _initialHFlicker = this.HFlicker; _initialSFlicker = this.SFlicker; _initialVFlicker = this.VFlicker; _initialCooldown = this.FlickerCooldown; _initialCooldownWiggle = this.FlickerCooldownWiggle; }
void Update() { _t += Time.deltaTime; if (_t < this.HalfCycleTime) { float t = _t / this.HalfCycleTime; updateColor(Mathf.Lerp(_previousHSV.h, _nextHSV.h, t), Mathf.Lerp(_previousHSV.s, _nextHSV.s, t), Mathf.Lerp(_previousHSV.v, _nextHSV.v, t)); } else { updateColor(_nextHSV.h, _nextHSV.s, _nextHSV.v); _t = 0.0f; ColorExtensions.HSV temp = _nextHSV; _nextHSV = _previousHSV; _previousHSV = temp; } }