重写事件再暂存

This commit is contained in:
2025-07-31 16:42:02 +08:00
parent f17760ced8
commit e8284917f1
9 changed files with 483 additions and 212 deletions

View File

@@ -18,6 +18,7 @@ namespace WulaFallenEmpire
// New system: list of descriptions
public List<string> descriptions;
public DescriptionSelectionMode descriptionMode = DescriptionSelectionMode.Random;
public bool hiddenWindow = false;
// Backwards compatibility: old single description field
public new string description = null;
@@ -26,9 +27,8 @@ namespace WulaFallenEmpire
public List<EventOption> options;
public string backgroundImagePath;
public List<Effect> onOpenEffects;
public List<Effect> dismissEffects;
public List<ConditionalEffects> immediateEffects;
public List<ConditionalEffects> dismissEffects;
public override void PostLoad()
{
base.PostLoad();
@@ -44,14 +44,30 @@ namespace WulaFallenEmpire
description = null; // Clear the old field to prevent confusion
}
#pragma warning restore 0618
// If hiddenWindow is true, merge immediateEffects into dismissEffects at load time.
if (hiddenWindow && !immediateEffects.NullOrEmpty())
{
if (dismissEffects.NullOrEmpty())
{
dismissEffects = new List<ConditionalEffects>();
}
dismissEffects.AddRange(immediateEffects);
immediateEffects = null; // Clear to prevent double execution
}
}
}
public class EventOption
{
public string label;
public List<Effect> effects;
public List<ConditionalEffects> optionEffects;
public List<Condition> conditions;
public string disabledReason;
}
public class ConditionalEffects
{
public List<Condition> conditions;
public List<Effect> effects;
}
}