diff --git a/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/Assemblies/WulaFallenEmpire.dll index c0ce499d..003e18c3 100644 Binary files a/1.6/Assemblies/WulaFallenEmpire.dll and b/1.6/Assemblies/WulaFallenEmpire.dll differ diff --git a/1.6/Defs/CustomUIDefs/CustomUI_Example.xml b/1.6/Defs/EventDefs/CustomUI_Example.xml similarity index 84% rename from 1.6/Defs/CustomUIDefs/CustomUI_Example.xml rename to 1.6/Defs/EventDefs/CustomUI_Example.xml index 7c5ae061..8f68452d 100644 --- a/1.6/Defs/CustomUIDefs/CustomUI_Example.xml +++ b/1.6/Defs/EventDefs/CustomUI_Example.xml @@ -8,6 +8,21 @@ UI/HeroArt/Storytellers/Randy 兰迪·随机 这是一个事件链的开端。选择第一个选项将会打开第二个事件窗口。 + + + 事件窗口已打开! + NeutralEvent + + + + + 事件窗口已关闭,进度已重置。 + NeutralEvent + + + wula_event_progress + + 继续事件 diff --git a/1.6/Defs/ConfigDefs/EventUIConfig.xml b/1.6/Defs/WulaMiscSettingDefs/EventUIConfig.xml similarity index 81% rename from 1.6/Defs/ConfigDefs/EventUIConfig.xml rename to 1.6/Defs/WulaMiscSettingDefs/EventUIConfig.xml index a03791be..1f45a947 100644 --- a/1.6/Defs/ConfigDefs/EventUIConfig.xml +++ b/1.6/Defs/WulaMiscSettingDefs/EventUIConfig.xml @@ -13,11 +13,11 @@ (500, 800) (260, 130) (650, 500) - 610 + 650 - 20 - 20 + 0 + 0 diff --git a/Documentation/EventSystem_Documentation.md b/Documentation/EventSystem_Documentation.md index 97ab5a35..9b22ae39 100644 --- a/Documentation/EventSystem_Documentation.md +++ b/Documentation/EventSystem_Documentation.md @@ -45,10 +45,14 @@ **字段说明:** - `labelFont`: 事件标题 (`label`) 的字体大小。可选值: `Tiny`, `Small`, `Medium`, `Large`。 - `drawBorders`: 是否为立绘、名称和描述区域绘制白色边框。 -- `defaultBackgroundImagePath`: 所有事件窗口默认使用的背景图路径。 +- `defaultBackgroundImagePath`: 所有事件窗口默认使用的背景图路径。**注意**: 为了完美适配默认的 1000x750 像素窗口,推荐使用宽高比为 4:3 的图片 (例如 1000x750, 800x600 等)。 - `lihuiSize`, `nameSize`, `textSize`, `optionsWidth`: 定义了UI各部分的基础虚拟尺寸,代码会根据窗口大小按比例缩放它们。 - `textNameOffset`, `optionsTextOffset`: 定义了各部分之间的垂直间距。 +**布局预览工具:** +为了帮助您设计背景图片,我们提供了一个动态的可视化布局预览工具。您可以将 `EventUIConfig.xml` 的内容粘贴进去,它会根据您的配置实时生成布局参考图。 +- [**打开动态布局预览 (layout_preview.html)**](./layout_preview.html) + --- ## 3. 如何创建事件 (`CustomUIDef`) @@ -78,6 +82,8 @@ - `characterName`: 显示在名称框中的文本。 - `backgroundImagePath`: (可选)为此特定事件指定的背景图路径,它会覆盖 `EventUIConfigDef` 中的默认背景。 - `description`: 显示在描述框中的主要文本。 +- `onOpenEffects`: (可选) 一个 `` 列表,定义了在事件窗口**打开时**立即执行的所有 `Effect`。 +- `dismissEffects`: (可选) 一个 `` 列表,定义了在事件窗口**关闭时**(通过选项或关闭按钮)执行的所有 `Effect`。 - `options`: 一个 `` 列表,定义了所有的交互选项。 --- diff --git a/Documentation/layout_preview.html b/Documentation/layout_preview.html new file mode 100644 index 00000000..7f279959 --- /dev/null +++ b/Documentation/layout_preview.html @@ -0,0 +1,186 @@ + + + + + + 事件UI布局预览 (动态版) + + + + + 动态布局预览 + 请将您的 EventUIConfig.xml 文件内容完整粘贴到下面的文本框中,然后点击“生成预览”按钮。 + + 生成预览 + + + + + + + + diff --git a/Source/WulaFallenEmpire/.vs/WulaFallenEmpire/v17/.suo b/Source/WulaFallenEmpire/.vs/WulaFallenEmpire/v17/.suo index 72a39eb5..84d24777 100644 Binary files a/Source/WulaFallenEmpire/.vs/WulaFallenEmpire/v17/.suo and b/Source/WulaFallenEmpire/.vs/WulaFallenEmpire/v17/.suo differ diff --git a/Source/WulaFallenEmpire/EventSystem/CustomUIDef.cs b/Source/WulaFallenEmpire/EventSystem/CustomUIDef.cs index ecfafaf5..c1f4534a 100644 --- a/Source/WulaFallenEmpire/EventSystem/CustomUIDef.cs +++ b/Source/WulaFallenEmpire/EventSystem/CustomUIDef.cs @@ -10,6 +10,8 @@ namespace WulaFallenEmpire public new string description; public List options; public string backgroundImagePath; // Override default background + public List onOpenEffects; + public List dismissEffects; } public class CustomUIOption diff --git a/Source/WulaFallenEmpire/EventSystem/Dialog_CustomDisplay.cs b/Source/WulaFallenEmpire/EventSystem/Dialog_CustomDisplay.cs index 49d95f75..5c037aa4 100644 --- a/Source/WulaFallenEmpire/EventSystem/Dialog_CustomDisplay.cs +++ b/Source/WulaFallenEmpire/EventSystem/Dialog_CustomDisplay.cs @@ -47,6 +47,8 @@ namespace WulaFallenEmpire { background = ContentFinder.Get(bgPath); } + + HandleAction(def.onOpenEffects); } public override void DoWindowContents(Rect inRect) @@ -199,5 +201,11 @@ namespace WulaFallenEmpire } return reason; } + + public override void PostClose() + { + base.PostClose(); + HandleAction(def.dismissEffects); + } } }
请将您的 EventUIConfig.xml 文件内容完整粘贴到下面的文本框中,然后点击“生成预览”按钮。
EventUIConfig.xml