private void StopUpdater() { _canvasGroup.alpha = _needcgAlpha; if (!_destroy) { AlphaUpdater = () => { } } ; else { Destroy(this); } OnUpdateDoneEvent(); // stop listening OnUpdateDoneEvent -= RestartDoneMethod; RestartDoneMethod = () => { }; }
/// <summary> /// /// </summary> /// <param name="_cg">canvasGroup to control</param> /// <param name="_alpha"> current value in alpha filed</param> /// <param name="_smoothness">lerp smoothnnes</param> /// <param name="_destroy"> destroy CanvasGroupController at the end</param> public void Fade(CanvasGroup _cg, float _alpha, float _smoothness, bool _destroy) { _needcgAlpha = _alpha; _canvasGroup = _cg; this._smoothness = _smoothness; this._destroy = _destroy; if (_alpha > 0.5f) { _canvasGroup.interactable = true; _canvasGroup.blocksRaycasts = true; AlphaUpdater = new AlphaUpdate(AlphaTo_1); } else { _canvasGroup.interactable = false; _canvasGroup.blocksRaycasts = false; AlphaUpdater = new AlphaUpdate(AlphaTo_0); } }
/// <summary> /// /// </summary> /// <param name="_cg">canvasGroup to control</param> /// <param name="_alpha">current value in alpha filed</param> /// <param name="_smoothness">lerp smoothnnes</param> /// <param name="_destroy"></param> /// <param name="_restartDoneMethod">destroy CanvasGroupController at the end</param> public void Fade(CanvasGroup _cg, float _alpha, float _smoothness, bool _destroy, AlphaUpdate _restartDoneMethod) { _needcgAlpha = _alpha; _canvasGroup = _cg; this._smoothness = _smoothness; this._destroy = _destroy; if (_alpha > 0.5f) { _canvasGroup.interactable = true; _canvasGroup.blocksRaycasts = true; AlphaUpdater = new AlphaUpdate(AlphaTo_1); } else { _canvasGroup.interactable = false; _canvasGroup.blocksRaycasts = false; AlphaUpdater = new AlphaUpdate(AlphaTo_0); } RestartDoneMethod = _restartDoneMethod; OnUpdateDoneEvent += RestartDoneMethod; }