展前冒死重构

This commit is contained in:
FloatGaming
2026-07-24 04:43:13 +08:00
parent d09597472b
commit 4eb70b0ac9
61 changed files with 74951 additions and 328 deletions
+23 -2
View File
@@ -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);