From ffc0241f4365f5c716136607af6bc6637a75e046 Mon Sep 17 00:00:00 2001 From: "ProjectKoi-Kalo\\Kalo" Date: Mon, 11 Aug 2025 22:45:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.6/1.6/Assemblies/WulaFallenEmpire.dll | Bin 178176 -> 178176 bytes .../EventDef_Examples_HideWhenDisabled.xml | 34 +++---- .../EventSystem_Documentation.md | 95 +++++++++++++++--- Source/WulaFallenEmpire/EventSystem/Effect.cs | 40 ++++---- 4 files changed, 119 insertions(+), 50 deletions(-) diff --git a/1.6/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/1.6/Assemblies/WulaFallenEmpire.dll index d076174710c33c25ca196ea8e306061e92905fc5..7cba7d46a293a195b94532cb56e6b0f60e84dbce 100644 GIT binary patch delta 30252 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%0DgM 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 G2>m|@-tpQ1 diff --git a/1.6/1.6/Defs/EventDefs/EventDef_Examples_HideWhenDisabled.xml b/1.6/1.6/Defs/EventDefs/EventDef_Examples_HideWhenDisabled.xml index 52eaf1ed..aa3f9622 100644 --- a/1.6/1.6/Defs/EventDefs/EventDef_Examples_HideWhenDisabled.xml +++ b/1.6/1.6/Defs/EventDefs/EventDef_Examples_HideWhenDisabled.xml @@ -3,10 +3,10 @@ Wula_TestEvent_HideWhenDisabled - - 测试者 + + 测试者]]> -
  • 这是一个用于演示新功能的测试事件。它包含多个选项,展示了不同的条件和可见性行为。当前机械族好感度: {MechanoidGoodwill}
  • +
  • 富文本功能的测试事件。你可以看到红色、绿色和蓝色的文本,以及斜体粗体样式。当前机械族好感度: {MechanoidGoodwill}]]>
  • @@ -17,14 +17,14 @@ 1 - 变量 TestVar 的值现在是 1,所以你看到了这段额外的描述。 + 变量 TestVar 的值现在是 1,所以你看到了这段额外的描述。]]>
  • - +
  • @@ -32,8 +32,8 @@ TestVar 1
  • -
  • - Wula_TestEvent_HideWhenDisabled +
  • + Wula_TestEvent_HideWhenDisabled
  • @@ -42,7 +42,7 @@
  • - +
  • TestVar @@ -60,7 +60,7 @@
  • - + true
  • @@ -76,18 +76,18 @@
  • - +
  • - +
  • -
  • +
  • TestVar
  • -
  • - Wula_TestEvent_HideWhenDisabled +
  • + Wula_TestEvent_HideWhenDisabled
  • @@ -96,7 +96,7 @@
  • - +
  • @@ -104,8 +104,8 @@ Mechanoid MechanoidGoodwill
  • -
  • - Wula_TestEvent_HideWhenDisabled +
  • + Wula_TestEvent_HideWhenDisabled
  • diff --git a/Source/Documentation/EventSystem_Documentation.md b/Source/Documentation/EventSystem_Documentation.md index 7d21f2c8..950e41f2 100644 --- a/Source/Documentation/EventSystem_Documentation.md +++ b/Source/Documentation/EventSystem_Documentation.md @@ -71,17 +71,53 @@ ### `EventDef` 参数 +- **defName**: (string) Def的唯一标识符。 - **label**: (string) 窗口的标题。 -- **characterName**: (string) 显示在肖像下方的角色名称。 -- **portraitPath**: (string) 角色肖像的纹理路径。 -- **descriptions**: (List) 一个描述文本列表。可以通过 `descriptionMode` 控制是随机选择一个还是按顺序显示。 -- **options**: (List) 对话框中显示的选项列表。 -- **immediateEffects**: (List) 当对话框打开时立即执行的效果列表。 -- **dismissEffects**: (List) 当对话框关闭时(通过关闭按钮或`Effect_CloseDialog`)执行的效果列表。 +- **characterName**: (string) (可选) 显示在肖像下方的角色名称。 +- **portraitPath**: (string) (可选) 角色肖像的纹理路径。 - **backgroundImagePath**: (string) (可选) 对话框的背景图片路径。 -- **windowSize**: (Vector2) (可选) 自定义窗口大小。 +- **descriptions**: (List) 一个描述文本列表。 +- **descriptionMode**: (enum) (可选) 决定如何从 `descriptions` 列表中选择文本。可以是 `Random` (默认) 或 `Sequential`。 +- **conditionalDescriptions**: (List) (可选) 一个条件描述列表,允许你根据特定条件在主描述后附加额外的文本块。 +- **options**: (List) 对话框中显示的选项列表。 +- **immediateEffects**: (List) (可选) 当对话框打开时立即执行的效果列表。 +- **dismissEffects**: (List) (可选) 当对话框关闭时(通过关闭按钮或`Effect_CloseDialog`)执行的效果列表。 +- **windowSize**: (Vector2) (可选) 自定义窗口大小。默认为 `(0, 0)`,表示使用默认大小。 - **hiddenWindow**: (bool) (可选) 如果为 `true`,则不会显示窗口。在这种模式下,`immediateEffects` 的内容会在加载时自动合并到 `dismissEffects` 中,然后在事件触发时作为单个效果链统一执行。这对于创建纯粹的后台“效果链”事件非常有用。默认为 `false`。 +### `EventOption` 参数 + +每个选项 (`
  • ` in ``) 包含以下字段: + +- **label**: (string) 选项按钮上显示的文本。 +- **optionEffects**: (List) 点击该选项时执行的效果列表。 +- **conditions**: (List) (可选) 决定该选项是否可用的条件列表。如果条件不满足,选项会变灰。 +- **disabledReason**: (string) (可选) 当选项因不满足 `conditions` 而变灰时,鼠标悬停时显示的提示信息。 +- **hideWhenDisabled**: (bool) (可选) 如果为 `true`,当 `conditions` 不满足时,该选项将完全隐藏而不是变灰。默认为 `false`。 + +### `ConditionalDescription` 参数 + +每个条件描述 (`
  • ` in ``) 包含以下字段: + +- **conditions**: (List) 决定此额外描述是否显示的条件列表。 +- **text**: (string) 当条件满足时,要附加到主描述文本末尾的字符串。 + +### 关于富文本 (Rich Text) 的使用 + +在所有面向玩家的文本字段中(如 `label`, `descriptions`, `characterName`, `disabledReason` 等),你都可以使用Unity的富文本标签,例如 ``, ``, ``。 + +**重要提示**: 由于 `<` 和 `>` 是XML的特殊字符,你必须将所有包含富文本标签的字符串包裹在 `` 块中,以避免XML解析错误。 + +**正确示例:** +```xml + +``` + +**错误示例 (会导致XML解析失败):** +```xml + +``` + ### `EventDef` 示例 ```xml @@ -391,26 +427,37 @@ ``` ### `Effect_SetVariable` -设置一个 `EventContext` 变量的值。 +**仅在变量尚不存在时**,设置一个 `EventContext` 变量的值。这使得它非常适合用于安全地初始化变量,而不用担心覆盖现有值。 - **name**: (string) 变量名。 -- **value**: (string) 变量的值。系统会自动尝试将其解析为 `int` 或 `float`,如果失败则作为 `string` 存储。 +- **value**: (string) 变量的初始值。系统会自动尝试将其解析为 `int` 或 `float`,如果失败则作为 `string` 存储。 ```xml
  • - PlayerChoice - AcceptedOffer + MetTheEnvoy + true
  • ``` ### `Effect_ModifyVariable` -对一个数字变量进行加、减、乘、除操作。 +对一个数字变量进行数学运算或直接赋值。如果变量不存在,会先将其初始化为0,然后再执行操作。 - **name**: (string) 变量名。 - **value**: (float) 用于操作的数值。 -- **operation**: (VariableOperation) 操作类型,可以是 `Add`, `Subtract`, `Multiply`, `Divide`。 +- **operation**: (VariableOperation) 操作类型,可以是 `Add`, `Subtract`, `Multiply`, `Divide`, `Set`。 + - `Set`: 直接将变量的值设置为 `value`,会覆盖任何现有值。 + +**加法示例:** ```xml
  • ResourceCount -10 - Add + Add +
  • +``` +**直接设置值示例:** +```xml +
  • + ResourceCount + 100 + Set
  • ``` @@ -423,6 +470,16 @@ ``` +### `Effect_CheckFactionGoodwill` +检查玩家与某个派系的好感度,并将其存储在一个变量中。 +- **factionDef**: (FactionDef) 要检查的派系的 `defName`。 +- **variableName**: (string) 用于存储好感度数值的变量名。 +```xml +
  • + Mechanoid + MechanoidGoodwill +
  • +``` --- ## 4. 可用的条件 (`Condition`) @@ -505,3 +562,13 @@ ``` --- + +--- +### `Condition_FactionExists` +检查一个派系当前是否存在于游戏中。 +- **factionDef**: (FactionDef) 要检查的派系的 `defName`。 +```xml +
  • + Pirate +
  • +``` diff --git a/Source/WulaFallenEmpire/EventSystem/Effect.cs b/Source/WulaFallenEmpire/EventSystem/Effect.cs index c1ce96e7..7c926496 100644 --- a/Source/WulaFallenEmpire/EventSystem/Effect.cs +++ b/Source/WulaFallenEmpire/EventSystem/Effect.cs @@ -175,23 +175,21 @@ namespace WulaFallenEmpire public override void Execute(Dialog_CustomDisplay dialog = null) { // Only set the variable if it doesn't already exist. - if (EventContext.HasVariable(name)) + if (!EventContext.HasVariable(name)) { - return; - } - - // Try to parse as int, then float, otherwise keep as string - if (int.TryParse(value, out int intValue)) - { - EventContext.SetVariable(name, intValue); - } - else if (float.TryParse(value, out float floatValue)) - { - EventContext.SetVariable(name, floatValue); - } - else - { - EventContext.SetVariable(name, value); + // Try to parse as int, then float, otherwise keep as string + if (int.TryParse(value, out int intValue)) + { + EventContext.SetVariable(name, intValue); + } + else if (float.TryParse(value, out float floatValue)) + { + EventContext.SetVariable(name, floatValue); + } + else + { + EventContext.SetVariable(name, value); + } } } } @@ -347,7 +345,8 @@ namespace WulaFallenEmpire Add, Subtract, Multiply, - Divide + Divide, + Set } public class Effect_ModifyVariable : Effect @@ -392,9 +391,12 @@ namespace WulaFallenEmpire Log.Error($"[WulaFallenEmpire] Effect_ModifyVariable tried to divide by zero for variable '{name}'."); } break; - } + case VariableOperation.Set: + currentValue = value; + break; + } - EventContext.SetVariable(name, currentValue); + EventContext.SetVariable(name, currentValue); } }