展前冒死重构
This commit is contained in:
@@ -1369,6 +1369,10 @@ ResolvedGroup:
|
||||
}
|
||||
catch { /* never break gameplay because of optional UI */ }
|
||||
|
||||
// Spawn the track skill popup as soon as the skill is confirmed for this frame.
|
||||
// This avoids later target-resolution branches swallowing the popup on early returns.
|
||||
SpawnTrackSkillPopup(slotIndex, smallSkillName, smallSkillIcon);
|
||||
|
||||
GameObject caster = GetAllyObjectBySlot(slotIndex);
|
||||
if (caster == null)
|
||||
{
|
||||
@@ -1926,7 +1930,10 @@ ResolvedGroup:
|
||||
}
|
||||
|
||||
// For listed skills: do not stack when retriggered, only refresh duration.
|
||||
if (appliedRefreshOnly) return;
|
||||
if (appliedRefreshOnly)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// For non-direct path, EffectSystem expects 'amount' to be total amount for sustained effects
|
||||
@@ -1986,7 +1993,6 @@ ResolvedGroup:
|
||||
GameplaySkillLogger.RecordSkillRelease(casterDisplayName, skillDisplayName, def.effectType.ToString(), effectSummary, targetSummary);
|
||||
}
|
||||
catch { }
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -2111,6 +2117,21 @@ ResolvedGroup:
|
||||
}
|
||||
}
|
||||
|
||||
private static readonly string[] s_trackSkillPopupColors = { "red", "green", "yellow", "purple", "blue" };
|
||||
|
||||
private void SpawnTrackSkillPopup(int slotIndex, string skillName, Sprite skillIcon)
|
||||
{
|
||||
if (slotIndex < 0 || slotIndex >= s_trackSkillPopupColors.Length)
|
||||
return;
|
||||
|
||||
var fx = Animation_GenerateJudgementSituationPrefab.Instance
|
||||
?? SceneObjectLookupCache.FindAny<Animation_GenerateJudgementSituationPrefab>();
|
||||
if (fx == null)
|
||||
return;
|
||||
|
||||
fx.SpawnTrackSkillPrefab(s_trackSkillPopupColors[slotIndex], skillIcon, skillName ?? string.Empty);
|
||||
}
|
||||
|
||||
private bool HandleEquipSkillGhoulSchool(int slotIndex)
|
||||
{
|
||||
_equipGhoulSchoolActiveSlots.Add(slotIndex);
|
||||
|
||||
Reference in New Issue
Block a user