清理各个 Component 里的判断以及调用规范
This commit is contained in:
@@ -13,26 +13,17 @@ namespace SepCore.DamageText
|
||||
private const float FadeDuration = 0.35f;
|
||||
private static readonly Color NormalColor = new Color(1f, 0.32f, 0.23f, 1f);
|
||||
|
||||
[SerializeField] private RectTransform _cachedTransform;
|
||||
[SerializeField] private RectTransform _cachedTransform = null;
|
||||
|
||||
[SerializeField] private CanvasGroup _canvasGroup;
|
||||
[SerializeField] private CanvasGroup _canvasGroup = null;
|
||||
|
||||
[SerializeField] private TMP_Text _text;
|
||||
[SerializeField] private TMP_Text _text = null;
|
||||
|
||||
private Sequence _sequence;
|
||||
private Action<DamageTextItem> _onComplete;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
if (_cachedTransform == null) _cachedTransform = GetComponent<RectTransform>();
|
||||
if (_canvasGroup == null) _canvasGroup = GetComponent<CanvasGroup>();
|
||||
if (_text == null) _text = GetComponent<TMP_Text>();
|
||||
}
|
||||
|
||||
public void Show(Vector3 worldPosition, int damage, Canvas canvas, Action<DamageTextItem> onComplete)
|
||||
{
|
||||
if (canvas == null || GameEntry.Scene.MainCamera == null) return;
|
||||
|
||||
_onComplete = onComplete;
|
||||
gameObject.SetActive(true);
|
||||
KillSequence();
|
||||
@@ -53,7 +44,7 @@ namespace SepCore.DamageText
|
||||
.SetEase(Ease.OutQuad));
|
||||
_sequence.Join(_cachedTransform.DOPunchScale(new Vector3(0.15f, 0.15f, 0f), 0.18f, 6, 0.75f));
|
||||
_sequence.Join(_canvasGroup.DOFade(0f, FadeDuration).SetDelay(FadeDelay));
|
||||
_sequence.OnComplete(() => _onComplete?.Invoke(this));
|
||||
_sequence.OnComplete(() => _onComplete(this));
|
||||
}
|
||||
|
||||
public void ResetItem()
|
||||
@@ -73,6 +64,7 @@ namespace SepCore.DamageText
|
||||
private void KillSequence()
|
||||
{
|
||||
if (_sequence == null) return;
|
||||
|
||||
_sequence.Kill();
|
||||
_sequence = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user