清理各个 Component 里的判断以及调用规范

This commit is contained in:
2026-09-14 18:35:02 +08:00
parent 5fbeec2476
commit 17ee268416
30 changed files with 769 additions and 1326 deletions
@@ -11,11 +11,11 @@ namespace SepCore.DamageText
[SerializeField] private string _poolName = "DamageTextItem";
[SerializeField] private RectTransform _instanceRoot;
[SerializeField] private RectTransform _instanceRoot = null;
[SerializeField] private Canvas _canvas;
[SerializeField] private Canvas _canvas = null;
[SerializeField] private GameObject _damageTextItemPrefab;
[SerializeField] private GameObject _damageTextItemPrefab = null;
private IObjectPool<DamageTextItemObject> _damageTextItemPool;
@@ -30,11 +30,9 @@ namespace SepCore.DamageText
public void ShowDamage(Vector3 worldPosition, int damage)
{
if (damage <= 0 || _damageTextItemPool == null || _canvas == null) return;
if (damage <= 0) return;
DamageTextItem item = CreateDamageTextItem();
if (item == null) return;
item.Show(worldPosition, damage, _canvas, OnItemComplete);
_activeDamageTextItems.Add(item);
}
@@ -62,7 +60,6 @@ namespace SepCore.DamageText
private void OnItemComplete(DamageTextItem item)
{
if (item == null) return;
item.ResetItem();
_activeDamageTextItems.Remove(item);
_damageTextItemPool.Unspawn(item);
@@ -72,7 +69,6 @@ namespace SepCore.DamageText
{
_activeDamageTextItems.Clear();
_damageTextItemPool.Release();
_damageTextItemPool = null;
}
}
}
@@ -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;
}