public void Fade(float to, float time, OnFinishFade onFinish = null) { LeanTween.alpha(gameObject.GetComponent <RectTransform>(), to, time).setOnComplete(() => { if (onFinish != null) { onFinish(); } }); }
private void Update() { if (!IsFading) { return; } float delta = Mathf.Abs(Current.a - Target.a); if (delta < Threshold) { IsFading = false; Renderer.color = Target; OnFinishFade?.Invoke(); if (Current.a <= 0) { Disable(); } } else { Renderer.color = Color.Lerp(Current, Target, Speed * Time.deltaTime); } }