namespace XmobiTea.UIEffect.Effect.Show { using UnityEngine; using UnityEngine.UI; using DG.Tweening; [DisallowMultipleComponent] public class FadeShowEffect : BaseEffect { [SerializeField] private Graphic _image; [SerializeField] private float _toAlpha = 0; protected override Tween OnShowEffect() { var color = _image.color; color.a = 0; _image.color = color; _image.DOKill(); return _image.DOFade(_toAlpha, _time); } protected override Tween OnHideEffect() { return _image.DOFade(0, _time / 2f); } private void OnValidate() { _image.DOKill(); _image = gameObject.GetComponent(); var color = _image.color; _toAlpha = color.a; } } }