重构
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using IndianOceanAssets.Engine2_5D;
|
||||
using Architecture.Core;
|
||||
|
||||
namespace GameFramework
|
||||
{
|
||||
@@ -27,15 +28,32 @@ namespace GameFramework
|
||||
private float _currentAlpha;
|
||||
private bool _isFlashing;
|
||||
|
||||
[Header("SO 事件通道(替代 static HealthSystem.onPlayerDamaged 事件)")]
|
||||
[SerializeField] private GameEvent onPlayerDamagedEvent;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
if (onPlayerDamagedEvent == null)
|
||||
Debug.LogWarning("[DamageFlashOverlay] onPlayerDamagedEvent 未接线!请在场景中预置已接线的 DamageFlashOverlay 实例,否则受击不闪红。", this);
|
||||
else
|
||||
onPlayerDamagedEvent.Register(OnPlayerDamaged);
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
if (onPlayerDamagedEvent != null)
|
||||
onPlayerDamagedEvent.Unregister(OnPlayerDamaged);
|
||||
}
|
||||
|
||||
private void OnValidate()
|
||||
{
|
||||
if (onPlayerDamagedEvent == null)
|
||||
Debug.LogWarning($"[DamageFlashOverlay] On Player Damaged Event 未接线({gameObject.name})。受击泛红不会出现。", this);
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
CreateOverlay();
|
||||
HealthSystem.onPlayerDamaged += OnPlayerDamaged;
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
HealthSystem.onPlayerDamaged -= OnPlayerDamaged;
|
||||
}
|
||||
|
||||
private void Update()
|
||||
|
||||
Reference in New Issue
Block a user