引雷标记extender

This commit is contained in:
SoulliesOfficial
2026-07-26 09:42:03 -04:00
parent 39b43680a9
commit b047eb5e6d
22 changed files with 530 additions and 76 deletions

View File

@@ -19,9 +19,24 @@ namespace Cielonos.MainGame.UI
private Sequence _frameOutlineSequence;
private ItemBase.RuntimeFunctionUnit _functionUnit;
private Color _defaultIconColor;
private Color _defaultFrameColor;
private void Awake()
{
_defaultIconColor = iconImage.color;
_defaultFrameColor = frame.color;
}
public void Initialize(ItemBase.RuntimeFunctionUnit functionUnit)
{
if (_functionUnit != null)
{
_functionUnit.OnPresentationChanged -= RefreshPresentation;
}
this._functionUnit = functionUnit;
_functionUnit.OnPresentationChanged += RefreshPresentation;
iconImage.sprite = functionUnit.data.icon != null ? functionUnit.data.icon : null;
if (_functionUnit.maxCooldown <= 0)
@@ -39,7 +54,15 @@ namespace Cielonos.MainGame.UI
costText.text = Mathf.CeilToInt(_functionUnit.data.energyCost).ToString("D");
}
if (_functionUnit.data.tags.Contains("Disruption"))
RefreshPresentation();
}
private void RefreshPresentation()
{
iconImage.color = _defaultIconColor;
frame.color = _defaultFrameColor;
if (_functionUnit.HasTag(FunctionData.FunctionUnit.DisruptionTag))
{
Color newColor = Color.yellow;
iconImage.color = newColor;
@@ -48,6 +71,14 @@ namespace Cielonos.MainGame.UI
}
}
private void OnDestroy()
{
if (_functionUnit != null)
{
_functionUnit.OnPresentationChanged -= RefreshPresentation;
}
}
public override void UpdateUI()
{
if (_functionUnit.maxCooldown <= 0f)