diff --git a/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/Assemblies/WulaFallenEmpire.dll index 2b898e73..56556321 100644 Binary files a/1.6/Assemblies/WulaFallenEmpire.dll and b/1.6/Assemblies/WulaFallenEmpire.dll differ diff --git a/1.6/Defs/EventDefs/EventDef_VariableTest.xml b/1.6/Defs/EventDefs/EventDef_VariableTest.xml new file mode 100644 index 00000000..e6c92970 --- /dev/null +++ b/1.6/Defs/EventDefs/EventDef_VariableTest.xml @@ -0,0 +1,57 @@ + + + + + Wula_Test_VariableEvent + + 测试员 + Textures/Wula/Events/Portraits/Wula_Leader + + +
  • + +
  • + testNumber + 100 +
  • + + +
    + + +
  • 变量 testNumber 的当前值为 {testNumber}。点击下面的按钮来改变它。
  • +
    + + +
  • + + +
  • + +
  • + testNumber + Add + 50 +
  • +
  • +
  • + Wula_Test_VariableEvent +
  • + + + + +
  • + + +
  • + +
  • + +
  • + + +
    +
    + +
    \ No newline at end of file diff --git a/Source/WulaFallenEmpire/EventSystem/Dialog_CustomDisplay.cs b/Source/WulaFallenEmpire/EventSystem/Dialog_CustomDisplay.cs index 2184bd81..75563575 100644 --- a/Source/WulaFallenEmpire/EventSystem/Dialog_CustomDisplay.cs +++ b/Source/WulaFallenEmpire/EventSystem/Dialog_CustomDisplay.cs @@ -84,6 +84,9 @@ namespace WulaFallenEmpire } HandleAction(def.immediateEffects); + + // Format the description AFTER immediate effects have run + selectedDescription = FormatDescription(selectedDescription); } public override void DoWindowContents(Rect inRect) @@ -256,5 +259,14 @@ namespace WulaFallenEmpire base.PostClose(); HandleAction(def.dismissEffects); } + private string FormatDescription(string description) + { + var variables = EventContext.GetAllVariables(); + foreach (var variable in variables) + { + description = description.Replace("{" + variable.Key + "}", variable.Value.ToString()); + } + return description; + } } } diff --git a/Source/WulaFallenEmpire/EventSystem/EventContext.cs b/Source/WulaFallenEmpire/EventSystem/EventContext.cs index 94a1b3fa..5760f2cf 100644 --- a/Source/WulaFallenEmpire/EventSystem/EventContext.cs +++ b/Source/WulaFallenEmpire/EventSystem/EventContext.cs @@ -48,6 +48,11 @@ namespace WulaFallenEmpire return variables.ContainsKey(name); } + public static Dictionary GetAllVariables() + { + return new Dictionary(variables); + } + public static void Clear() { variables.Clear();