From 0f928f616714b5158b049b7c0e2eb366744c18f5 Mon Sep 17 00:00:00 2001 From: SepComet <2428390463@qq.com> Date: Mon, 20 Apr 2026 15:26:36 +0800 Subject: [PATCH] gameplay refine MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 优化 ResolutionAdapter 的分辨率适配问题 2. 调整 SpriteCache 的资源路径拼接 3. 引入 StoryDirector 做各玩法的胶水 4. 导入和改名资源便于代码查询路径 --- .gitignore | 2 +- Assets/GameMain/DataTables/Dialog.txt | 9 +- Assets/GameMain/DataTables/DialogLine.txt | 90 ++--- Assets/GameMain/DataTables/UIForm.txt | 1 + Assets/GameMain/Scenes/Main.unity | 349 +---------------- .../GameMain/Scripts/Base/GameEntry.Custom.cs | 4 + .../CustomComponent/CombineComponent.cs | 1 + .../CustomComponent/DialogComponent.cs | 9 + .../ResolutionAdapterComponent.cs | 103 +++-- .../CustomComponent/SpriteCacheComponent.cs | 2 +- .../CustomComponent/StoryDirective.meta | 8 + .../StoryChangeBackgroundDirectiveAsset.cs | 22 ++ ...toryChangeBackgroundDirectiveAsset.cs.meta | 11 + .../StoryDirective/StoryCombineConfig.cs | 14 + .../StoryDirective/StoryCombineConfig.cs.meta | 11 + .../StoryDirective/StoryDirectiveAsset.cs | 39 ++ .../StoryDirectiveAsset.cs.meta | 11 + .../StoryEndChapterDirectiveAsset.cs | 22 ++ .../StoryEndChapterDirectiveAsset.cs.meta | 11 + .../StoryStartCombineDirectiveAsset.cs | 25 ++ .../StoryStartCombineDirectiveAsset.cs.meta | 11 + .../StoryStartDialogDirectiveAsset.cs | 22 ++ .../StoryStartDialogDirectiveAsset.cs.meta | 11 + .../StoryDirective/StoryTriggerType.cs | 8 + .../StoryDirective/StoryTriggerType.cs.meta | 11 + .../CustomComponent/StoryDirectorComponent.cs | 358 ++++++++++++++++++ .../StoryDirectorComponent.cs.meta | 11 + .../Event/Dialog/DialogCompletedEventArgs.cs | 42 ++ .../Dialog/DialogCompletedEventArgs.cs.meta | 11 + Assets/GameMain/Scripts/Event/Story.meta | 8 + .../Event/Story/StoryChapterEndedEventArgs.cs | 31 ++ .../Story/StoryChapterEndedEventArgs.cs.meta | 11 + .../GameMain/Scripts/Utility/AssetUtility.cs | 4 +- Assets/GameMain/StoryDirector.meta | 8 + Assets/GameMain/StoryDirector/BG1001.asset | 18 + .../GameMain/StoryDirector/BG1001.asset.meta | 8 + .../GameMain/StoryDirector/Dialog1001.asset | 18 + .../StoryDirector/Dialog1001.asset.meta | 8 + .../UI/UIForms/BottomBoxDialogForm.prefab | 10 +- .../Background/{background_1.jpg => BG_1.jpg} | Bin .../{background_1.jpg.meta => BG_1.jpg.meta} | 0 .../Background/{background_2.jpg => BG_2.jpg} | Bin .../{background_2.jpg.meta => BG_2.jpg.meta} | 0 .../Background/{background_3.jpg => BG_3.jpg} | Bin .../{background_3.jpg.meta => BG_3.jpg.meta} | 0 ...{background_start_menu.jpg => BG_Menu.jpg} | Bin ...d_start_menu.jpg.meta => BG_Menu.jpg.meta} | 0 .../UI/UISprites/Common/brush_white.png | Bin 0 -> 140964 bytes .../UI/UISprites/Common/brush_white.png.meta | 149 ++++++++ Assets/Launcher.unity | 237 +++++------- 数据表/Dialog.txt | 9 +- 数据表/Dialog.xlsx | Bin 18110 -> 18012 bytes 数据表/DialogLine.txt | 90 ++--- 数据表/DialogLine.xlsx | Bin 41009 -> 41053 bytes 数据表/UIForm.txt | 1 + 数据表/UIForm.xlsx | Bin 10440 -> 10499 bytes 56 files changed, 1218 insertions(+), 621 deletions(-) create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirective.meta create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryChangeBackgroundDirectiveAsset.cs create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryChangeBackgroundDirectiveAsset.cs.meta create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryCombineConfig.cs create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryCombineConfig.cs.meta create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryDirectiveAsset.cs create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryDirectiveAsset.cs.meta create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryEndChapterDirectiveAsset.cs create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryEndChapterDirectiveAsset.cs.meta create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartCombineDirectiveAsset.cs create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartCombineDirectiveAsset.cs.meta create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartDialogDirectiveAsset.cs create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartDialogDirectiveAsset.cs.meta create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryTriggerType.cs create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryTriggerType.cs.meta create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirectorComponent.cs create mode 100644 Assets/GameMain/Scripts/CustomComponent/StoryDirectorComponent.cs.meta create mode 100644 Assets/GameMain/Scripts/Event/Dialog/DialogCompletedEventArgs.cs create mode 100644 Assets/GameMain/Scripts/Event/Dialog/DialogCompletedEventArgs.cs.meta create mode 100644 Assets/GameMain/Scripts/Event/Story.meta create mode 100644 Assets/GameMain/Scripts/Event/Story/StoryChapterEndedEventArgs.cs create mode 100644 Assets/GameMain/Scripts/Event/Story/StoryChapterEndedEventArgs.cs.meta create mode 100644 Assets/GameMain/StoryDirector.meta create mode 100644 Assets/GameMain/StoryDirector/BG1001.asset create mode 100644 Assets/GameMain/StoryDirector/BG1001.asset.meta create mode 100644 Assets/GameMain/StoryDirector/Dialog1001.asset create mode 100644 Assets/GameMain/StoryDirector/Dialog1001.asset.meta rename Assets/GameMain/UI/UISprites/Background/{background_1.jpg => BG_1.jpg} (100%) rename Assets/GameMain/UI/UISprites/Background/{background_1.jpg.meta => BG_1.jpg.meta} (100%) rename Assets/GameMain/UI/UISprites/Background/{background_2.jpg => BG_2.jpg} (100%) rename Assets/GameMain/UI/UISprites/Background/{background_2.jpg.meta => BG_2.jpg.meta} (100%) rename Assets/GameMain/UI/UISprites/Background/{background_3.jpg => BG_3.jpg} (100%) rename Assets/GameMain/UI/UISprites/Background/{background_3.jpg.meta => BG_3.jpg.meta} (100%) rename Assets/GameMain/UI/UISprites/Background/{background_start_menu.jpg => BG_Menu.jpg} (100%) rename Assets/GameMain/UI/UISprites/Background/{background_start_menu.jpg.meta => BG_Menu.jpg.meta} (100%) create mode 100644 Assets/GameMain/UI/UISprites/Common/brush_white.png create mode 100644 Assets/GameMain/UI/UISprites/Common/brush_white.png.meta diff --git a/.gitignore b/.gitignore index 9cf5924..34c084a 100644 --- a/.gitignore +++ b/.gitignore @@ -98,4 +98,4 @@ crashlytics-build.properties /Android /bin /.omc - +/.omx diff --git a/Assets/GameMain/DataTables/Dialog.txt b/Assets/GameMain/DataTables/Dialog.txt index c86a3be..cf1711f 100644 --- a/Assets/GameMain/DataTables/Dialog.txt +++ b/Assets/GameMain/DataTables/Dialog.txt @@ -3,12 +3,9 @@ # int string DialogUIMode int # 对话编号 策划备注 对话标识 对话形式 章节编号 1001 第一章介绍 Ch1_Time01 Mask 1.001 - 1002 第一章主流程 Ch1_Dialog_LiJie01 BottomBox 1.002 - 1003 第一章玩法开始前闲聊 Ch1_Dialog_Foreman01 BottomBox 1.003 - 1004 Ch1_Dialog_LiJie02 BottomBox 1.004 - 1005 Ch1_Dialog_Foreman02 BottomBox 1.005 - 1006 Ch1_Narrator01 BottomBox 1.006 - 1007 Ch1_Dialog_LiJie03 BottomBox 1.007 + 1002 第一章主流程 Ch1_LiJie BottomBox 1.002 + 1003 Ch1_Narrator01 BottomBox 1.003 + 1004 Ch1_Dialog_LiJie03 BottomBox 1.004 1008 Ch1_Dialog_Player01 BottomBox 1.008 1009 Ch1_Dialog_LiJie04 BottomBox 1.009 1010 Ch1_Dialog_LiJie05 BottomBox 1.01 diff --git a/Assets/GameMain/DataTables/DialogLine.txt b/Assets/GameMain/DataTables/DialogLine.txt index 75ddc0e..6715b90 100644 --- a/Assets/GameMain/DataTables/DialogLine.txt +++ b/Assets/GameMain/DataTables/DialogLine.txt @@ -4,51 +4,51 @@ # 对话行编号 策划备注 说话人Id 表情 显示人名 说话朝向 说话内容 演出效果 章节Id 对话Id 100100001 Id规则为 Time None 时间 0 元祐七年,北宋汴京。 None 1.00100001 1001.00001 100200001 第1位数为章节Id LiJie None 李诫 0 工头呢,工头呢,这是发生的什么事! None 1.00200001 1002.00001 - 100300001 第2-4位数为对话Id GongTou None 工头 0 李官人啊,这...,我也不知...,啊! None 1.00300001 1003.00001 - 100300002 第5-9位数为对话行Id GongTou None 工头 0 定是那可恶的老鼠将这木材咬了去,或是这阴雨的天气染湿了榫头...。 None 1.00300002 1003.00002 - 100400001 LiJie None 李诫 0 那这木制松软、一掰就弯的木材是什么,我又不是不认识, None 1.00400001 1004.00001 - 100400002 LiJie None 李诫 0 大殿建筑用的都是上好的楠木,那这柳木是哪里来的你解释下。 None 1.00400002 1004.00002 - 100500001 GongTou None 工头 0 这...定是工人中出现了偷鸡摸狗的小人,李官人大可放心, None 1.00500001 1005.00001 - 100500002 GongTou None 工头 0 我一定将这小人找出来...。 None 1.00500002 1005.00002 - 100600001 Other None 旁白 0 你是新入将作监的画图令史,今日正是你当值的第一天。 None 1.00600001 1006.00001 - 100700001 LiJie None 李诫 0 你便是新任的画图令史? None 1.00700001 1007.00001 - 100700002 LiJie None 李诫 0 来得正好。 None 1.00700002 1007.00002 - 100800001 Player None 玩家 0 属下正是,见过李主簿。 None 1.00800001 1008.00001 - 100900001 LiJie None 李诫 0 方才工地塌架,你也有所耳闻。 None 1.00900001 1009.00001 - 100900002 LiJie None 李诫 0 这工头竟拿柳木来替代楠木,企图瞒天过海,结果却落得如此下场, None 1.00900002 1009.00002 - 100900003 LiJie None 李诫 0 幸好方才无人员伤亡,才让这工头躲过一劫。 None 1.00900003 1009.00003 - 101000001 LiJie None 李诫 0 如今营造无尺、用料无度,劣木充良、偷工减料已成大患。 None 1.01000001 1010.00001 - 101000002 LiJie None 李诫 0 而我们的职责,就是尽早发现这般祸患,防止酿成更大的问题。 None 1.01000002 1010.00002 - 101100001 LiJie None 李诫 0 无规矩,则屋不立;无准绳,则工不正。 None 1.01100001 1011.00001 - 101100002 LiJie None 李诫 0 你也要牢记。 None 1.01100002 1011.00002 - 101200001 Player None 玩家 0 是,李主簿。 None 1.01200001 1012.00001 - 101300001 LiJie None 李诫 0 你既为画图令史,第一要务便是识木、辨材、熟用器具。 None 1.01300001 1013.00001 - 101400001 LiJie None 李诫 0 现在随我去库房,我来带你认识水准、绳墨、曲尺、方斗这些营造根本之器。 None 1.01400001 1014.00001 - 101500001 LiJie None 李诫 0 待你熟习测量与料例,我便亲自带你到工地监工核验,杜绝此类祸事再发。 None 1.01500001 1015.00001 - 101600001 Player None 玩家 0 属下遵命。 None 1.01600001 1016.00001 - 101700001 Other None 旁白 0 你正式踏入将作监,一段以法度正营造的历程,自此开始。 None 1.01700001 1017.00001 - 101800001 LiJie None 李诫 0 这里是库房,存放着营造时用到的所有工具。 None 1.01800001 1018.00001 - 101900001 Subtitle None 字幕 0 檀木质地,刻度以朱砂标注,一端为方、一端为折,刻有 “材份” 刻度。 None 1.01900001 1019.00001 - 102000001 LiJie None 李诫 0 你看,构屋先定 “方”,柱枋是否垂直、斗拱是否方正,全凭这曲尺核验。 None 1.02000001 1020.00001 - 102100001 LiJie None 李诫 0 此前工地偷换木料,若早以曲尺量其形制,便知柳木径寸不足,断断用不得啊。 None 1.02100001 1021.00001 - 102200001 LiJie None 李诫 0 此乃方斗,也叫墨斗,配绳墨使用。 None 1.02200001 1022.00001 - 102200002 LiJie None 李诫 0 绳墨牵直,以墨斗弹线,便知木料是否平直、墙体是否端正。 None 1.02200002 1022.00002 - 102300001 Subtitle None 字幕 0 方斗为楠木所制,斗身刻 “将作监” 款识,墨仓密封,绳墨以生丝浸松烟墨制成,耐磨不褪。 None 1.02300001 1023.00001 - 102400001 LiJie None 李诫 0 营造之事,“直” 为要。 None 1.02400001 1024.00001 - 102400002 LiJie None 李诫 0 工头偷工减料,常以歪木充数,若以绳墨弹线,歪直立现,断无蒙混可能。 None 1.02400002 1024.00002 - 102500001 Player None 玩家 0 那这是何物? None 1.02500001 1025.00001 - 102600001 LiJie None 李诫 0 这是水准,也名 “水尺”,测地势高低、屋基平正之用。 None 1.02600001 1026.00001 - 102700001 Subtitle None 字幕 0 青铜制的水准器,形制为长槽,内盛水,槽侧刻刻度,槽端有通气孔,是宋代成熟的水准测量工具。 None 1.02700001 1027.00001 - 102800001 LiJie None 李诫 0 汴京地势多洼,营建房宇先以水准定基址 None 1.02800001 1028.00001 - 102800002 LiJie None 李诫 0 若基址倾斜,纵是木料精良,也难逃倾颓之祸。 None 1.02800002 1028.00002 - 102900001 LiJie None 李诫 0 水之性平,这水准便是借水定平。 None 1.02900001 1029.00001 - 103000001 LiJie None 李诫 0 除了这些器具,库房更藏有 “料例” 册籍, None 1.03000001 1030.00001 - 103000002 LiJie None 李诫 0 楠木、樟木、杉木各等用料定额,大木作、小木作各工序用工之数,皆在册中。 None 1.03000002 1030.00002 - 103100001 LiJie None 李诫 0 你既为画图令史,识器是第一步,更要知 “器以定法、法以量料”。 None 1.03100001 1031.00001 - 103100002 LiJie None 李诫 0 这些工具,是规矩的具象,料例是制度的准绳,二者相合,才能堵贪弊、正营造。 None 1.03100002 1031.00002 - 103200001 LiJie None 李诫 0 今日先熟其形、知其用。 None 1.03200001 1032.00001 - 103200002 LiJie None 李诫 0 明日随我去工地,以器验工,看看那些贪弊工头还能藏多少猫腻。 None 1.03200002 1032.00002 - 103300001 Player None 玩家 0 是,李主簿。 None 1.03300001 1033.00001 + 100200002 第2-4位数为对话Id GongTou None 工头 1 李官人啊,这...,我也不知...,啊! None 1.00200002 1002.00002 + 100200003 第5-9位数为对话行Id GongTou None 工头 1 定是那可恶的老鼠将这木材咬了去,或是这阴雨的天气染湿了榫头...。 None 1.00200003 1002.00003 + 100200004 LiJie None 李诫 0 那这木制松软、一掰就弯的木材是什么,我又不是不认识, None 1.00200004 1002.00004 + 100200005 LiJie None 李诫 0 大殿建筑用的都是上好的楠木,那这柳木是哪里来的你解释下。 None 1.00200005 1002.00005 + 100200006 GongTou None 工头 1 这...定是工人中出现了偷鸡摸狗的小人,李官人大可放心, None 1.00200006 1002.00006 + 100200007 GongTou None 工头 1 我一定将这小人找出来...。 None 1.00200007 1002.00007 + 100300001 Other None 旁白 0 你是新入将作监的画图令史,今日正是你当值的第一天。 None 1.00300001 1003.00001 + 100300002 LiJie None 李诫 1 你便是新任的画图令史? None 1.00300002 1003.00002 + 100300003 LiJie None 李诫 1 来得正好。 None 1.00300003 1003.00003 + 100300004 Player None 玩家 0 属下正是,见过李主簿。 None 1.00300004 1003.00004 + 100300005 LiJie None 李诫 1 方才工地塌架,你也有所耳闻。 None 1.00300005 1003.00005 + 100300006 LiJie None 李诫 1 这工头竟拿柳木来替代楠木,企图瞒天过海,结果却落得如此下场, None 1.00300006 1003.00006 + 100300007 LiJie None 李诫 1 幸好方才无人员伤亡,才让这工头躲过一劫。 None 1.00300007 1003.00007 + 100300008 LiJie None 李诫 1 如今营造无尺、用料无度,劣木充良、偷工减料已成大患。 None 1.00300008 1003.00008 + 100300009 LiJie None 李诫 1 而我们的职责,就是尽早发现这般祸患,防止酿成更大的问题。 None 1.00300009 1003.00009 + 100300010 LiJie None 李诫 1 无规矩,则屋不立;无准绳,则工不正。 None 1.0030001 1003.0001 + 100300011 LiJie None 李诫 1 你也要牢记。 None 1.00300011 1003.00011 + 100300012 Player None 玩家 0 是,李主簿。 None 1.00300012 1003.00012 + 100300013 LiJie None 李诫 1 你既为画图令史,第一要务便是识木、辨材、熟用器具。 None 1.00300013 1003.00013 + 100300014 LiJie None 李诫 1 现在随我去库房,我来带你认识水准、绳墨、曲尺、方斗这些营造根本之器。 None 1.00300014 1003.00014 + 100300015 LiJie None 李诫 1 待你熟习测量与料例,我便亲自带你到工地监工核验,杜绝此类祸事再发。 None 1.00300015 1003.00015 + 100300016 Player None 玩家 0 属下遵命。 None 1.00300016 1003.00016 + 100300017 Other None 旁白 0 你正式踏入将作监,一段以法度正营造的历程,自此开始。 None 1.00300017 1003.00017 + 100400001 LiJie None 李诫 1 这里是库房,存放着营造时用到的所有工具。 None 1.00400001 1004.00001 + 100400002 Subtitle None 字幕 0 檀木质地,刻度以朱砂标注,一端为方、一端为折,刻有 “材份” 刻度。 None 1.00400002 1004.00002 + 100400003 LiJie None 李诫 1 你看,构屋先定 “方”,柱枋是否垂直、斗拱是否方正,全凭这曲尺核验。 None 1.00400003 1004.00003 + 100400004 LiJie None 李诫 1 此前工地偷换木料,若早以曲尺量其形制,便知柳木径寸不足,断断用不得啊。 None 1.00400004 1004.00004 + 100400005 LiJie None 李诫 1 此乃方斗,也叫墨斗,配绳墨使用。 None 1.00400005 1004.00005 + 100400006 LiJie None 李诫 1 绳墨牵直,以墨斗弹线,便知木料是否平直、墙体是否端正。 None 1.00400006 1004.00006 + 100400007 Subtitle None 字幕 0 方斗为楠木所制,斗身刻 “将作监” 款识,墨仓密封,绳墨以生丝浸松烟墨制成,耐磨不褪。 None 1.00400007 1004.00007 + 100400008 LiJie None 李诫 1 营造之事,“直” 为要。 None 1.00400008 1004.00008 + 100400009 LiJie None 李诫 1 工头偷工减料,常以歪木充数,若以绳墨弹线,歪直立现,断无蒙混可能。 None 1.00400009 1004.00009 + 100400010 Player None 玩家 0 那这是何物? None 1.0040001 1004.0001 + 100400011 LiJie None 李诫 1 这是水准,也名 “水尺”,测地势高低、屋基平正之用。 None 1.00400011 1004.00011 + 100400012 Subtitle None 字幕 0 青铜制的水准器,形制为长槽,内盛水,槽侧刻刻度,槽端有通气孔,是宋代成熟的水准测量工具。 None 1.00400012 1004.00012 + 100400013 LiJie None 李诫 1 汴京地势多洼,营建房宇先以水准定基址 None 1.00400013 1004.00013 + 100400014 LiJie None 李诫 1 若基址倾斜,纵是木料精良,也难逃倾颓之祸。 None 1.00400014 1004.00014 + 100400015 LiJie None 李诫 1 水之性平,这水准便是借水定平。 None 1.00400015 1004.00015 + 100400016 LiJie None 李诫 1 除了这些器具,库房更藏有 “料例” 册籍, None 1.00400016 1004.00016 + 100400017 LiJie None 李诫 1 楠木、樟木、杉木各等用料定额,大木作、小木作各工序用工之数,皆在册中。 None 1.00400017 1004.00017 + 100400018 LiJie None 李诫 1 你既为画图令史,识器是第一步,更要知 “器以定法、法以量料”。 None 1.00400018 1004.00018 + 100400019 LiJie None 李诫 1 这些工具,是规矩的具象,料例是制度的准绳,二者相合,才能堵贪弊、正营造。 None 1.00400019 1004.00019 + 100400020 LiJie None 李诫 1 今日先熟其形、知其用。 None 1.0040002 1004.0002 + 100400021 LiJie None 李诫 1 明日随我去工地,以器验工,看看那些贪弊工头还能藏多少猫腻。 None 1.00400021 1004.00021 + 100400022 Player None 玩家 0 是,李主簿。 None 1.00400022 1004.00022 103400001 LiJie None 李诫 0 这工地是谁负责! None 1.03400001 1034.00001 103500001 GongTou None 工头 0 李主簿,您怎么又来了… None 1.03500001 1035.00001 103600001 LiJie None 李诫 0 我不来,怎知你们又在如何糊弄? None 1.03600001 1036.00001 diff --git a/Assets/GameMain/DataTables/UIForm.txt b/Assets/GameMain/DataTables/UIForm.txt index 979e2e1..bd91774 100644 --- a/Assets/GameMain/DataTables/UIForm.txt +++ b/Assets/GameMain/DataTables/UIForm.txt @@ -3,6 +3,7 @@ # int string string bool bool # 界面编号 策划备注 资源名称 界面组名称 是否允许多个界面实例 是否暂停被其覆盖的界面 1 弹出框 DialogForm Dialog True False + 2 BgForm Default False False 100 主菜单 MenuForm Default False True 101 设置 SettingForm Default False True 102 关于 AboutForm Default False True diff --git a/Assets/GameMain/Scenes/Main.unity b/Assets/GameMain/Scenes/Main.unity index 1eaa51b..4cf8800 100644 --- a/Assets/GameMain/Scenes/Main.unity +++ b/Assets/GameMain/Scenes/Main.unity @@ -122,354 +122,7 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} ---- !u!1 &203844586 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 203844589} - - component: {fileID: 203844588} - - component: {fileID: 203844587} - m_Layer: 0 - m_Name: Directional Light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &203844587 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 203844586} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 3 - m_UsePipelineSettings: 1 - m_AdditionalLightsShadowResolutionTier: 2 - m_LightLayerMask: 1 - m_RenderingLayers: 1 - m_CustomShadowLayers: 0 - m_ShadowLayerMask: 1 - m_ShadowRenderingLayers: 1 - m_LightCookieSize: {x: 1, y: 1} - m_LightCookieOffset: {x: 0, y: 0} - m_SoftShadowQuality: 1 ---- !u!108 &203844588 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 203844586} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 1 - m_Shape: 0 - m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingLayerMask: 1 - m_Lightmapping: 4 - m_LightShadowCasterMode: 0 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 6570 - m_UseColorTemperature: 0 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_UseViewFrustumForShadowCasterCull: 1 - m_ShadowRadius: 0 - m_ShadowAngle: 0 ---- !u!4 &203844589 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 203844586} - serializedVersion: 2 - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} - m_LocalPosition: {x: 0, y: 3, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} ---- !u!1 &223482651 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 223482652} - - component: {fileID: 223482654} - - component: {fileID: 223482653} - m_Layer: 5 - m_Name: Bg - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &223482652 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 223482651} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2070240951} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &223482653 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 223482651} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 21300000, guid: d339ce9c4958967469068a30e0753b30, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &223482654 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 223482651} - m_CullTransparentMesh: 1 ---- !u!1 &1160234425 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1160234427} - - component: {fileID: 1160234426} - m_Layer: 0 - m_Name: Global Volume - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1160234426 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1160234425} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 172515602e62fb746b5d573b38a5fe58, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IsGlobal: 1 - priority: 0 - blendDistance: 0 - weight: 1 - sharedProfile: {fileID: 11400000, guid: 352998f9edeef2348a887c5a2e7dc5d1, type: 2} ---- !u!4 &1160234427 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1160234425} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2070240947 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2070240951} - - component: {fileID: 2070240950} - - component: {fileID: 2070240949} - - component: {fileID: 2070240948} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &2070240948 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2070240947} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &2070240949 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2070240947} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 2048, y: 1152} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 0 ---- !u!223 &2070240950 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2070240947} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_VertexColorAlwaysGammaSpace: 0 - m_AdditionalShaderChannelsFlag: 0 - m_UpdateRectTransformForStandalone: 0 - m_SortingLayerID: 0 - m_SortingOrder: -10000 - m_TargetDisplay: 0 ---- !u!224 &2070240951 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2070240947} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 223482652} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 - m_Roots: - - {fileID: 203844589} - - {fileID: 1160234427} - - {fileID: 2070240951} + m_Roots: [] diff --git a/Assets/GameMain/Scripts/Base/GameEntry.Custom.cs b/Assets/GameMain/Scripts/Base/GameEntry.Custom.cs index 7e906d0..80d2bee 100644 --- a/Assets/GameMain/Scripts/Base/GameEntry.Custom.cs +++ b/Assets/GameMain/Scripts/Base/GameEntry.Custom.cs @@ -17,6 +17,8 @@ public partial class GameEntry : MonoBehaviour public static CombineComponent Combine { get; private set; } public static DialogComponent Dialog { get; private set; } public static AIChatComponent AIChat { get; private set; } + public static StoryDirectorComponent StoryDirector { get; private set; } + public static SpriteCacheComponent SpriteCache { get; private set; } private static void InitCustomComponents() { @@ -24,5 +26,7 @@ public partial class GameEntry : MonoBehaviour Combine = UnityGameFramework.Runtime.GameEntry.GetComponent(); Dialog = UnityGameFramework.Runtime.GameEntry.GetComponent(); AIChat = UnityGameFramework.Runtime.GameEntry.GetComponent(); + StoryDirector = UnityGameFramework.Runtime.GameEntry.GetComponent(); + SpriteCache = UnityGameFramework.Runtime.GameEntry.GetComponent(); } } diff --git a/Assets/GameMain/Scripts/CustomComponent/CombineComponent.cs b/Assets/GameMain/Scripts/CustomComponent/CombineComponent.cs index b4c880d..51e3e03 100644 --- a/Assets/GameMain/Scripts/CustomComponent/CombineComponent.cs +++ b/Assets/GameMain/Scripts/CustomComponent/CombineComponent.cs @@ -377,6 +377,7 @@ namespace CustomComponent GameEntry.Event.Fire(this, CombineGuideMessageEventArgs.Create(_completeHint)); } + GameEntry.Event.Fire(this, CombineCompletedEventArgs.Create()); _onPuzzleCompleted.Invoke(); } diff --git a/Assets/GameMain/Scripts/CustomComponent/DialogComponent.cs b/Assets/GameMain/Scripts/CustomComponent/DialogComponent.cs index ecf7f34..0b1ffec 100644 --- a/Assets/GameMain/Scripts/CustomComponent/DialogComponent.cs +++ b/Assets/GameMain/Scripts/CustomComponent/DialogComponent.cs @@ -338,11 +338,20 @@ namespace CustomComponent private void EndDialogInternal() { + int chapterId = _formContext != null ? _formContext.ChapterId : _currentChapterId; + int dialogId = _formContext != null ? _formContext.DialogId : 0; + int lineId = _formContext != null ? _formContext.CurrentLineId : 0; + _isPlaying = false; _currentLineIndex = -1; _formController.OnDialogEnded(_formContext); _formController.CloseUI(); + + if (dialogId > 0) + { + GameEntry.Event.Fire(this, DialogCompletedEventArgs.Create(chapterId, dialogId, lineId)); + } } private void ApplyLineToContext(DRDialogLine lineRow, int lineIndex, int totalLines) diff --git a/Assets/GameMain/Scripts/CustomComponent/ResolutionAdapterComponent.cs b/Assets/GameMain/Scripts/CustomComponent/ResolutionAdapterComponent.cs index 3a39863..6c544ff 100644 --- a/Assets/GameMain/Scripts/CustomComponent/ResolutionAdapterComponent.cs +++ b/Assets/GameMain/Scripts/CustomComponent/ResolutionAdapterComponent.cs @@ -16,6 +16,7 @@ namespace GeometryTD.CustomComponent [SerializeField] private Vector2 _referenceResolution = new Vector2(2560f, 1600f); [SerializeField] private bool _adaptUiCanvasToViewport = true; [SerializeField] private bool _enableBlackMask = true; + [SerializeField] private bool _autoCollectSceneCanvases = true; [SerializeField] private List _uiRoots = new List(); private readonly List _canvasBuffer = new List(32); @@ -29,6 +30,7 @@ namespace GeometryTD.CustomComponent private bool _canvasCacheDirty = true; private bool _uiEventSubscribed; + private bool _sceneEventSubscribed; private bool _missingRootWarned; private Canvas _maskCanvas; @@ -163,18 +165,6 @@ namespace GeometryTD.CustomComponent return; } - if (_uiRoots == null || _uiRoots.Count == 0) - { - if (!_missingRootWarned) - { - _missingRootWarned = true; - Log.Warning( - "ResolutionAdapterComponent missing injected roots. Assign UI/HPBar root transforms in scene."); - } - - return; - } - if (_canvasCacheDirty) { RebuildCanvasCache(); @@ -200,9 +190,49 @@ namespace GeometryTD.CustomComponent _trackedCanvases.Clear(); _trackedCanvasSet.Clear(); - foreach (var root in _uiRoots) + bool hasValidRoot = false; + if (_uiRoots != null) { - CollectCanvases(root); + foreach (var root in _uiRoots) + { + if (root == null) + { + continue; + } + + hasValidRoot = true; + CollectCanvases(root); + } + } + + if (_autoCollectSceneCanvases || !hasValidRoot) + { + Canvas[] canvases = Resources.FindObjectsOfTypeAll(); + foreach (Canvas canvas in canvases) + { + if (canvas == null || canvas == _maskCanvas || canvas.renderMode == RenderMode.WorldSpace) + { + continue; + } + + GameObject gameObject = canvas.gameObject; + if (!gameObject.scene.IsValid() || !gameObject.scene.isLoaded) + { + continue; + } + + if (_trackedCanvasSet.Add(canvas)) + { + _trackedCanvases.Add(canvas); + } + } + } + + if (!hasValidRoot && !_autoCollectSceneCanvases && !_missingRootWarned) + { + _missingRootWarned = true; + Log.Warning( + "ResolutionAdapterComponent missing injected roots. Assign UI/HPBar root transforms in scene or enable auto collection."); } } @@ -270,27 +300,46 @@ namespace GeometryTD.CustomComponent private void TryEnsureUiEventSubscribed() { - if (_uiEventSubscribed || GameEntry.Event == null) + if (GameEntry.Event == null) { return; } - GameEntry.Event.Subscribe(OpenUIFormSuccessEventArgs.EventId, OnUIFormChanged); - GameEntry.Event.Subscribe(CloseUIFormCompleteEventArgs.EventId, OnUIFormChanged); - _uiEventSubscribed = true; - _canvasCacheDirty = true; + if (!_uiEventSubscribed) + { + GameEntry.Event.Subscribe(OpenUIFormSuccessEventArgs.EventId, OnUIFormChanged); + GameEntry.Event.Subscribe(CloseUIFormCompleteEventArgs.EventId, OnUIFormChanged); + _uiEventSubscribed = true; + _canvasCacheDirty = true; + } + + if (!_sceneEventSubscribed) + { + GameEntry.Event.Subscribe(LoadSceneSuccessEventArgs.EventId, OnSceneChanged); + _sceneEventSubscribed = true; + _canvasCacheDirty = true; + } } private void UnsubscribeUiEvents() { - if (!_uiEventSubscribed || GameEntry.Event == null) + if (GameEntry.Event == null) { return; } - GameEntry.Event.Unsubscribe(OpenUIFormSuccessEventArgs.EventId, OnUIFormChanged); - GameEntry.Event.Unsubscribe(CloseUIFormCompleteEventArgs.EventId, OnUIFormChanged); - _uiEventSubscribed = false; + if (_uiEventSubscribed) + { + GameEntry.Event.Unsubscribe(OpenUIFormSuccessEventArgs.EventId, OnUIFormChanged); + GameEntry.Event.Unsubscribe(CloseUIFormCompleteEventArgs.EventId, OnUIFormChanged); + _uiEventSubscribed = false; + } + + if (_sceneEventSubscribed) + { + GameEntry.Event.Unsubscribe(LoadSceneSuccessEventArgs.EventId, OnSceneChanged); + _sceneEventSubscribed = false; + } } private void OnUIFormChanged(object sender, GameEventArgs e) @@ -298,6 +347,12 @@ namespace GeometryTD.CustomComponent _canvasCacheDirty = true; } + private void OnSceneChanged(object sender, GameEventArgs e) + { + _canvasCacheDirty = true; + _missingRootWarned = false; + } + private void UpdateMaskLayout() { if (!_enableBlackMask) @@ -442,4 +497,4 @@ namespace GeometryTD.CustomComponent maskRect.sizeDelta = new Vector2(0f, height); } } -} \ No newline at end of file +} diff --git a/Assets/GameMain/Scripts/CustomComponent/SpriteCacheComponent.cs b/Assets/GameMain/Scripts/CustomComponent/SpriteCacheComponent.cs index a9af45e..de622bd 100644 --- a/Assets/GameMain/Scripts/CustomComponent/SpriteCacheComponent.cs +++ b/Assets/GameMain/Scripts/CustomComponent/SpriteCacheComponent.cs @@ -33,7 +33,7 @@ namespace CustomComponent { _resource.LoadAsset ( - AssetUtility.GetUIDialogAsset(assetName), + AssetUtility.GetUISpriteAsset(assetName), Constant.AssetPriority.UIFormAsset, new LoadAssetCallbacks( (resourcePath, asset, duration, userData) => diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirective.meta b/Assets/GameMain/Scripts/CustomComponent/StoryDirective.meta new file mode 100644 index 0000000..719f788 --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirective.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 99c1d60910f24e37ba0cbd8109e63bd7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryChangeBackgroundDirectiveAsset.cs b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryChangeBackgroundDirectiveAsset.cs new file mode 100644 index 0000000..2a568c3 --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryChangeBackgroundDirectiveAsset.cs @@ -0,0 +1,22 @@ +using UnityEngine; + +namespace CustomComponent +{ + [CreateAssetMenu(menuName = "Story/Directive/Change Background", fileName = "Directive_ChangeBackground")] + public sealed class StoryChangeBackgroundDirectiveAsset : StoryDirectiveAsset + { + [SerializeField] private string _backgroundAssetName = string.Empty; + + public override string ActionName => "ChangeBackground"; + + public override void Execute(StoryDirectorComponent director) + { + if (director == null) + { + return; + } + + director.ExecuteChangeBackground(_backgroundAssetName); + } + } +} diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryChangeBackgroundDirectiveAsset.cs.meta b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryChangeBackgroundDirectiveAsset.cs.meta new file mode 100644 index 0000000..aa6eb80 --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryChangeBackgroundDirectiveAsset.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2d4b16a5d76140a1b952ad48774dd89a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryCombineConfig.cs b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryCombineConfig.cs new file mode 100644 index 0000000..916a7f6 --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryCombineConfig.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using UI; + +namespace CustomComponent +{ + [Serializable] + public sealed class StoryCombineConfig + { + public bool AutoStart = true; + public List Slots = new List(); + public List Parts = new List(); + } +} diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryCombineConfig.cs.meta b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryCombineConfig.cs.meta new file mode 100644 index 0000000..bc095c8 --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryCombineConfig.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4c53bd314c194677b10a2e7fa754fdbb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryDirectiveAsset.cs b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryDirectiveAsset.cs new file mode 100644 index 0000000..6c73e98 --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryDirectiveAsset.cs @@ -0,0 +1,39 @@ +using UnityEngine; + +namespace CustomComponent +{ + public abstract class StoryDirectiveAsset : ScriptableObject + { + [SerializeField] private bool _enabled = true; + + [SerializeField] private StoryTriggerType _triggerType = StoryTriggerType.DialogCompleted; + + [SerializeField] [Tooltip("DialogCompleted 时为对话 Id;<=0 表示该触发类型下的任意 Id。")] + private int _triggerId = 0; + + public bool IsEnabled => _enabled; + + public StoryTriggerType TriggerType => _triggerType; + + public int TriggerId => _triggerId; + + public virtual string ActionName => GetType().Name; + + public bool IsMatch(StoryTriggerType triggerType, int triggerId) + { + if (!_enabled || _triggerType != triggerType) + { + return false; + } + + if (triggerType == StoryTriggerType.DialogCompleted && _triggerId > 0 && _triggerId != triggerId) + { + return false; + } + + return true; + } + + public abstract void Execute(StoryDirectorComponent director); + } +} diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryDirectiveAsset.cs.meta b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryDirectiveAsset.cs.meta new file mode 100644 index 0000000..6da5cb5 --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryDirectiveAsset.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2deed2f965a04cbab1c18d2e9b5d5845 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryEndChapterDirectiveAsset.cs b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryEndChapterDirectiveAsset.cs new file mode 100644 index 0000000..12fa4f4 --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryEndChapterDirectiveAsset.cs @@ -0,0 +1,22 @@ +using UnityEngine; + +namespace CustomComponent +{ + [CreateAssetMenu(menuName = "Story/Directive/End Chapter", fileName = "Directive_EndChapter")] + public sealed class StoryEndChapterDirectiveAsset : StoryDirectiveAsset + { + [SerializeField] [Tooltip("<=0 则使用当前章节。")] private int _chapterId = 0; + + public override string ActionName => "EndChapter"; + + public override void Execute(StoryDirectorComponent director) + { + if (director == null) + { + return; + } + + director.ExecuteEndChapter(_chapterId); + } + } +} diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryEndChapterDirectiveAsset.cs.meta b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryEndChapterDirectiveAsset.cs.meta new file mode 100644 index 0000000..b2503d1 --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryEndChapterDirectiveAsset.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2b63fb6eb96e4d3193dd26b443f856c7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartCombineDirectiveAsset.cs b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartCombineDirectiveAsset.cs new file mode 100644 index 0000000..8e4c9bd --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartCombineDirectiveAsset.cs @@ -0,0 +1,25 @@ +using UnityEngine; + +namespace CustomComponent +{ + [CreateAssetMenu(menuName = "Story/Directive/Start Combine", fileName = "Directive_StartCombine")] + public sealed class StoryStartCombineDirectiveAsset : StoryDirectiveAsset + { + [SerializeField] private bool _useDefaultConfig = true; + + [SerializeField] private StoryCombineConfig _combineConfig = new StoryCombineConfig(); + + public override string ActionName => "StartCombine"; + + public override void Execute(StoryDirectorComponent director) + { + if (director == null) + { + return; + } + + StoryCombineConfig config = _useDefaultConfig ? null : _combineConfig; + director.ExecuteStartCombine(config); + } + } +} diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartCombineDirectiveAsset.cs.meta b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartCombineDirectiveAsset.cs.meta new file mode 100644 index 0000000..36ff5fd --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartCombineDirectiveAsset.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 19a1150cd0fb4b648ad8232de4e38baa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartDialogDirectiveAsset.cs b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartDialogDirectiveAsset.cs new file mode 100644 index 0000000..12fab8f --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartDialogDirectiveAsset.cs @@ -0,0 +1,22 @@ +using UnityEngine; + +namespace CustomComponent +{ + [CreateAssetMenu(menuName = "Story/Directive/Start Dialog", fileName = "Directive_StartDialog")] + public sealed class StoryStartDialogDirectiveAsset : StoryDirectiveAsset + { + [SerializeField] private int _dialogId = 0; + + public override string ActionName => "StartDialog"; + + public override void Execute(StoryDirectorComponent director) + { + if (director == null) + { + return; + } + + director.ExecuteStartDialog(_dialogId); + } + } +} diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartDialogDirectiveAsset.cs.meta b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartDialogDirectiveAsset.cs.meta new file mode 100644 index 0000000..329b85b --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryStartDialogDirectiveAsset.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8e4367863f5042e1b5b0b3b3b7f62f5e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryTriggerType.cs b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryTriggerType.cs new file mode 100644 index 0000000..1d194b4 --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryTriggerType.cs @@ -0,0 +1,8 @@ +namespace CustomComponent +{ + public enum StoryTriggerType + { + DialogCompleted = 0, + CombineCompleted = 1 + } +} diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryTriggerType.cs.meta b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryTriggerType.cs.meta new file mode 100644 index 0000000..52f854f --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirective/StoryTriggerType.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2b9d79013962410681f2f29343902599 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirectorComponent.cs b/Assets/GameMain/Scripts/CustomComponent/StoryDirectorComponent.cs new file mode 100644 index 0000000..c3b132f --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirectorComponent.cs @@ -0,0 +1,358 @@ +using System.Collections.Generic; +using Definition.Enum; +using Event; +using UI; +using UnityEngine; +using UnityGameFramework.Runtime; + +namespace CustomComponent +{ + [DisallowMultipleComponent] + public class StoryDirectorComponent : GameFrameworkComponent + { + [SerializeField] [Tooltip("按顺序执行。每个元素是一个 StoryDirectiveAsset 资产引用。")] + private List _directives = new List(); + + [SerializeField] private bool _allowRepeatTrigger = false; + + [SerializeField] private bool _verboseLog = true; + + [SerializeField] private string _backgroundAssetNamePrefix = string.Empty; + + private readonly HashSet _consumedDirectiveTokens = new HashSet(); + + private BgFormController _bgFormController; + private int _bgRequestVersion; + private bool _isExecuting; + + private void Start() + { + GameEntry.Event.Subscribe(DialogCompletedEventArgs.EventId, OnDialogCompleted); + GameEntry.Event.Subscribe(CombineCompletedEventArgs.EventId, OnCombineCompleted); + } + + private void OnDestroy() + { + GameEntry.Event.Unsubscribe(DialogCompletedEventArgs.EventId, OnDialogCompleted); + GameEntry.Event.Unsubscribe(CombineCompletedEventArgs.EventId, OnCombineCompleted); + + _bgFormController?.CloseUI(); + _bgFormController = null; + } + + public void ResetConsumedDirectives() + { + _consumedDirectiveTokens.Clear(); + } + + private void OnDialogCompleted(object sender, GameFramework.Event.GameEventArgs e) + { + if (!(e is DialogCompletedEventArgs args)) + { + return; + } + + ExecuteDirectives(StoryTriggerType.DialogCompleted, args.DialogId); + } + + private void OnCombineCompleted(object sender, GameFramework.Event.GameEventArgs e) + { + if (!(e is CombineCompletedEventArgs)) + { + return; + } + + ExecuteDirectives(StoryTriggerType.CombineCompleted, 0); + } + + private void ExecuteDirectives(StoryTriggerType triggerType, int triggerId) + { + if (_isExecuting) + { + return; + } + + _isExecuting = true; + try + { + for (int i = 0; i < _directives.Count; i++) + { + StoryDirectiveAsset directive = _directives[i]; + if (directive == null || !directive.IsMatch(triggerType, triggerId)) + { + continue; + } + + string directiveToken = BuildDirectiveToken(directive, i); + if (!_allowRepeatTrigger && _consumedDirectiveTokens.Contains(directiveToken)) + { + continue; + } + + ExecuteDirective(directive, triggerType, triggerId); + + if (!_allowRepeatTrigger) + { + _consumedDirectiveTokens.Add(directiveToken); + } + } + } + finally + { + _isExecuting = false; + } + } + + private static string BuildDirectiveToken(StoryDirectiveAsset directive, int directiveIndex) + { + return $"{directive.GetInstanceID()}:{directiveIndex}"; + } + + private void ExecuteDirective(StoryDirectiveAsset directive, StoryTriggerType triggerType, int triggerId) + { + directive.Execute(this); + + if (_verboseLog) + { + Log.Info("StoryDirector executed action '{0}' by trigger '{1}' ({2}).", + directive.ActionName, triggerType.ToString(), triggerId.ToString()); + } + } + + public void ExecuteStartDialog(int dialogId) + { + if (dialogId <= 0) + { + Log.Warning("StoryDirector start dialog skipped. dialogId must be positive."); + return; + } + + if (GameEntry.Dialog == null) + { + Log.Warning("StoryDirector start dialog failed. Dialog component is missing."); + return; + } + + GameEntry.Dialog.StartDialog(dialogId); + } + + public void ExecuteStartCombine(StoryCombineConfig config) + { + if (GameEntry.Combine == null) + { + Log.Warning("StoryDirector start combine failed. Combine component is missing."); + return; + } + + CombineFormContext context = BuildCombineFormContext(config); + int? formSerialId = GameEntry.Combine.StartLevel(context); + if (!formSerialId.HasValue) + { + Log.Warning("StoryDirector start combine failed. Open combine UI failed."); + return; + } + } + + public void ExecuteChangeBackground(string backgroundAssetName) + { + string assetName = string.IsNullOrWhiteSpace(backgroundAssetName) + ? string.Empty + : backgroundAssetName.Trim(); + if (string.IsNullOrEmpty(assetName)) + { + Log.Warning("StoryDirector change background skipped. assetName is empty."); + return; + } + + if (GameEntry.SpriteCache == null) + { + Log.Warning("StoryDirector change background failed. SpriteCache component is missing."); + return; + } + + int requestVersion = ++_bgRequestVersion; + GameEntry.SpriteCache.GetSprite(_backgroundAssetNamePrefix + assetName, + sprite => { OnBackgroundLoaded(requestVersion, assetName, sprite); }); + } + + private void OnBackgroundLoaded(int requestVersion, string assetName, Sprite sprite) + { + if (requestVersion != _bgRequestVersion) + { + return; + } + + if (sprite == null) + { + Log.Warning("StoryDirector change background failed. Loaded sprite is null for '{0}'.", assetName); + return; + } + + if (_bgFormController == null) + { + _bgFormController = new BgFormController(); + } + + _bgFormController.OpenUI(new BgFormContext + { + Sprite = sprite + }); + } + + public void ExecuteEndChapter(int chapterId) + { + int finalChapterId = chapterId > 0 + ? chapterId + : (GameEntry.Dialog != null ? GameEntry.Dialog.CurrentChapterId : 0); + + GameEntry.Event.Fire(this, StoryChapterEndedEventArgs.Create(finalChapterId)); + } + + private static CombineFormContext BuildCombineFormContext(StoryCombineConfig config) + { + if (config != null && config.Slots != null && config.Slots.Count > 0) + { + return new CombineFormContext + { + Slots = CloneSlots(config.Slots), + Parts = CloneParts(config.Parts), + AutoStart = config.AutoStart + }; + } + + return BuildDefaultCombineContext(); + } + + private static List CloneSlots(List source) + { + var result = new List(); + if (source == null) + { + return result; + } + + for (int i = 0; i < source.Count; i++) + { + CombineSlotContext slot = source[i]; + if (slot == null) + { + continue; + } + + result.Add(new CombineSlotContext + { + RequiredPartType = slot.RequiredPartType, + BuildOrder = slot.BuildOrder, + RequireStrictOrder = slot.RequireStrictOrder, + AnchoredPosition = slot.AnchoredPosition, + SizeDelta = slot.SizeDelta, + MechanicsExplanation = slot.MechanicsExplanation, + MismatchHint = slot.MismatchHint + }); + } + + return result; + } + + private static List CloneParts(List source) + { + var result = new List(); + if (source == null) + { + return result; + } + + for (int i = 0; i < source.Count; i++) + { + CombinePartContext part = source[i]; + if (part == null) + { + continue; + } + + result.Add(new CombinePartContext + { + PartType = part.PartType, + PartDisplayName = part.PartDisplayName, + MechanicsExplanation = part.MechanicsExplanation, + LockAfterPlaced = part.LockAfterPlaced + }); + } + + return result; + } + + private static CombineFormContext BuildDefaultCombineContext() + { + List slots = new List + { + new CombineSlotContext + { + RequiredPartType = CombinePartType.Dou, + BuildOrder = 0, + RequireStrictOrder = true, + AnchoredPosition = new Vector2(-320f, -160f), + SizeDelta = new Vector2(120f, 120f), + MechanicsExplanation = "Dou transfers upper load and works as the base node." + }, + new CombineSlotContext + { + RequiredPartType = CombinePartType.Sheng, + BuildOrder = 1, + RequireStrictOrder = true, + AnchoredPosition = new Vector2(-320f, -20f), + SizeDelta = new Vector2(120f, 120f), + MechanicsExplanation = "Sheng raises layer height to form the bracket hierarchy." + }, + new CombineSlotContext + { + RequiredPartType = CombinePartType.Gong, + BuildOrder = 2, + RequireStrictOrder = true, + AnchoredPosition = new Vector2(-320f, 120f), + SizeDelta = new Vector2(120f, 120f), + MechanicsExplanation = "Gong spreads force laterally through overhang." + }, + new CombineSlotContext + { + RequiredPartType = CombinePartType.Qiao, + BuildOrder = 3, + RequireStrictOrder = true, + AnchoredPosition = new Vector2(-160f, 120f), + SizeDelta = new Vector2(120f, 120f), + MechanicsExplanation = "Qiao continues force transfer to the outer side." + }, + new CombineSlotContext + { + RequiredPartType = CombinePartType.Ang, + BuildOrder = 4, + RequireStrictOrder = true, + AnchoredPosition = new Vector2(0f, 120f), + SizeDelta = new Vector2(120f, 120f), + MechanicsExplanation = "Ang uses leverage to redirect eave load inward." + } + }; + + List parts = new List + { + new CombinePartContext + { PartType = CombinePartType.Dou, PartDisplayName = "Dou", LockAfterPlaced = true }, + new CombinePartContext + { PartType = CombinePartType.Sheng, PartDisplayName = "Sheng", LockAfterPlaced = true }, + new CombinePartContext + { PartType = CombinePartType.Gong, PartDisplayName = "Gong", LockAfterPlaced = true }, + new CombinePartContext + { PartType = CombinePartType.Qiao, PartDisplayName = "Qiao", LockAfterPlaced = true }, + new CombinePartContext + { PartType = CombinePartType.Ang, PartDisplayName = "Ang", LockAfterPlaced = true } + }; + + return new CombineFormContext + { + Slots = slots, + Parts = parts, + AutoStart = true + }; + } + } +} \ No newline at end of file diff --git a/Assets/GameMain/Scripts/CustomComponent/StoryDirectorComponent.cs.meta b/Assets/GameMain/Scripts/CustomComponent/StoryDirectorComponent.cs.meta new file mode 100644 index 0000000..c7a4f69 --- /dev/null +++ b/Assets/GameMain/Scripts/CustomComponent/StoryDirectorComponent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d899fa8b1598c1846bc3a03d11c83d04 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/Event/Dialog/DialogCompletedEventArgs.cs b/Assets/GameMain/Scripts/Event/Dialog/DialogCompletedEventArgs.cs new file mode 100644 index 0000000..dfbba11 --- /dev/null +++ b/Assets/GameMain/Scripts/Event/Dialog/DialogCompletedEventArgs.cs @@ -0,0 +1,42 @@ +using GameFramework; +using GameFramework.Event; + +namespace Event +{ + public class DialogCompletedEventArgs : GameEventArgs + { + public static readonly int EventId = typeof(DialogCompletedEventArgs).GetHashCode(); + + public override int Id => EventId; + + public int ChapterId { get; private set; } + + public int DialogId { get; private set; } + + public int LastLineId { get; private set; } + + public DialogCompletedEventArgs() + { + ChapterId = 0; + DialogId = 0; + LastLineId = 0; + } + + public static DialogCompletedEventArgs Create(int chapterId, int dialogId, int lastLineId) + { + var args = ReferencePool.Acquire(); + + args.ChapterId = chapterId; + args.DialogId = dialogId; + args.LastLineId = lastLineId; + return args; + } + + public override void Clear() + { + ChapterId = 0; + DialogId = 0; + LastLineId = 0; + } + } +} diff --git a/Assets/GameMain/Scripts/Event/Dialog/DialogCompletedEventArgs.cs.meta b/Assets/GameMain/Scripts/Event/Dialog/DialogCompletedEventArgs.cs.meta new file mode 100644 index 0000000..91bf4d5 --- /dev/null +++ b/Assets/GameMain/Scripts/Event/Dialog/DialogCompletedEventArgs.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ff3fd581bec19164c8c5b03222e0ccec +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/Event/Story.meta b/Assets/GameMain/Scripts/Event/Story.meta new file mode 100644 index 0000000..2af2750 --- /dev/null +++ b/Assets/GameMain/Scripts/Event/Story.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0cc1868d04d452c4ea1b26b3bb3faf41 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/Event/Story/StoryChapterEndedEventArgs.cs b/Assets/GameMain/Scripts/Event/Story/StoryChapterEndedEventArgs.cs new file mode 100644 index 0000000..290471e --- /dev/null +++ b/Assets/GameMain/Scripts/Event/Story/StoryChapterEndedEventArgs.cs @@ -0,0 +1,31 @@ +using GameFramework; +using GameFramework.Event; + +namespace Event +{ + public class StoryChapterEndedEventArgs : GameEventArgs + { + public static readonly int EventId = typeof(StoryChapterEndedEventArgs).GetHashCode(); + + public override int Id => EventId; + + public int ChapterId { get; private set; } + + public StoryChapterEndedEventArgs() + { + ChapterId = 0; + } + + public static StoryChapterEndedEventArgs Create(int chapterId) + { + var args = ReferencePool.Acquire(); + args.ChapterId = chapterId; + return args; + } + + public override void Clear() + { + ChapterId = 0; + } + } +} diff --git a/Assets/GameMain/Scripts/Event/Story/StoryChapterEndedEventArgs.cs.meta b/Assets/GameMain/Scripts/Event/Story/StoryChapterEndedEventArgs.cs.meta new file mode 100644 index 0000000..7fda9d7 --- /dev/null +++ b/Assets/GameMain/Scripts/Event/Story/StoryChapterEndedEventArgs.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 04884ea6e03d99345b9e4a9c60ccf913 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/Scripts/Utility/AssetUtility.cs b/Assets/GameMain/Scripts/Utility/AssetUtility.cs index f41d109..a840c5a 100644 --- a/Assets/GameMain/Scripts/Utility/AssetUtility.cs +++ b/Assets/GameMain/Scripts/Utility/AssetUtility.cs @@ -66,9 +66,9 @@ namespace CustomUtility return Utility.Text.Format("Assets/GameMain/UI/UISounds/{0}.wav", assetName); } - public static string GetUIDialogAsset(string assetName) + public static string GetUISpriteAsset(string assetName) { - return Utility.Text.Format("Assets/GameMain/UI/Dialogs/{0}.prefab", assetName); + return Utility.Text.Format("Assets/GameMain/UI/{0}", assetName); } } } diff --git a/Assets/GameMain/StoryDirector.meta b/Assets/GameMain/StoryDirector.meta new file mode 100644 index 0000000..2b3596a --- /dev/null +++ b/Assets/GameMain/StoryDirector.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f3d9a754557829043909b803afc50822 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/StoryDirector/BG1001.asset b/Assets/GameMain/StoryDirector/BG1001.asset new file mode 100644 index 0000000..c75941d --- /dev/null +++ b/Assets/GameMain/StoryDirector/BG1001.asset @@ -0,0 +1,18 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2d4b16a5d76140a1b952ad48774dd89a, type: 3} + m_Name: BG1001 + m_EditorClassIdentifier: + _enabled: 1 + _triggerType: 0 + _triggerId: 1001 + _backgroundAssetName: BG_1.jpg diff --git a/Assets/GameMain/StoryDirector/BG1001.asset.meta b/Assets/GameMain/StoryDirector/BG1001.asset.meta new file mode 100644 index 0000000..e85e5d2 --- /dev/null +++ b/Assets/GameMain/StoryDirector/BG1001.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fbe72cf66cec3ad4e9fb3167b291ce4f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/StoryDirector/Dialog1001.asset b/Assets/GameMain/StoryDirector/Dialog1001.asset new file mode 100644 index 0000000..6842ffd --- /dev/null +++ b/Assets/GameMain/StoryDirector/Dialog1001.asset @@ -0,0 +1,18 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e4367863f5042e1b5b0b3b3b7f62f5e, type: 3} + m_Name: Dialog1001 + m_EditorClassIdentifier: + _enabled: 1 + _triggerType: 0 + _triggerId: 1001 + _dialogId: 1002 diff --git a/Assets/GameMain/StoryDirector/Dialog1001.asset.meta b/Assets/GameMain/StoryDirector/Dialog1001.asset.meta new file mode 100644 index 0000000..3d518dd --- /dev/null +++ b/Assets/GameMain/StoryDirector/Dialog1001.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a6031366dd068b84b9797525616de223 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/GameMain/UI/UIForms/BottomBoxDialogForm.prefab b/Assets/GameMain/UI/UIForms/BottomBoxDialogForm.prefab index 7a4b8eb..c0b415a 100644 --- a/Assets/GameMain/UI/UIForms/BottomBoxDialogForm.prefab +++ b/Assets/GameMain/UI/UIForms/BottomBoxDialogForm.prefab @@ -525,8 +525,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 250, y: -40} - m_SizeDelta: {x: 500, y: 80} + m_AnchoredPosition: {x: 200, y: -40} + m_SizeDelta: {x: 400, y: 80} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &4514918814497795030 GameObject: @@ -835,10 +835,10 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 80 + m_fontSize: 72 m_fontSizeBase: 80 m_fontWeight: 400 - m_enableAutoSizing: 0 + m_enableAutoSizing: 1 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 1 @@ -987,5 +987,5 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 0} m_AnchoredPosition: {x: 0, y: 280} - m_SizeDelta: {x: 0, y: 380} + m_SizeDelta: {x: -200, y: 380} m_Pivot: {x: 0.5, y: 0.5} diff --git a/Assets/GameMain/UI/UISprites/Background/background_1.jpg b/Assets/GameMain/UI/UISprites/Background/BG_1.jpg similarity index 100% rename from Assets/GameMain/UI/UISprites/Background/background_1.jpg rename to Assets/GameMain/UI/UISprites/Background/BG_1.jpg diff --git a/Assets/GameMain/UI/UISprites/Background/background_1.jpg.meta b/Assets/GameMain/UI/UISprites/Background/BG_1.jpg.meta similarity index 100% rename from Assets/GameMain/UI/UISprites/Background/background_1.jpg.meta rename to Assets/GameMain/UI/UISprites/Background/BG_1.jpg.meta diff --git a/Assets/GameMain/UI/UISprites/Background/background_2.jpg b/Assets/GameMain/UI/UISprites/Background/BG_2.jpg similarity index 100% rename from Assets/GameMain/UI/UISprites/Background/background_2.jpg rename to Assets/GameMain/UI/UISprites/Background/BG_2.jpg diff --git a/Assets/GameMain/UI/UISprites/Background/background_2.jpg.meta b/Assets/GameMain/UI/UISprites/Background/BG_2.jpg.meta similarity index 100% rename from Assets/GameMain/UI/UISprites/Background/background_2.jpg.meta rename to Assets/GameMain/UI/UISprites/Background/BG_2.jpg.meta diff --git a/Assets/GameMain/UI/UISprites/Background/background_3.jpg b/Assets/GameMain/UI/UISprites/Background/BG_3.jpg similarity index 100% rename from Assets/GameMain/UI/UISprites/Background/background_3.jpg rename to Assets/GameMain/UI/UISprites/Background/BG_3.jpg diff --git a/Assets/GameMain/UI/UISprites/Background/background_3.jpg.meta b/Assets/GameMain/UI/UISprites/Background/BG_3.jpg.meta similarity index 100% rename from Assets/GameMain/UI/UISprites/Background/background_3.jpg.meta rename to Assets/GameMain/UI/UISprites/Background/BG_3.jpg.meta diff --git a/Assets/GameMain/UI/UISprites/Background/background_start_menu.jpg b/Assets/GameMain/UI/UISprites/Background/BG_Menu.jpg similarity index 100% rename from Assets/GameMain/UI/UISprites/Background/background_start_menu.jpg rename to Assets/GameMain/UI/UISprites/Background/BG_Menu.jpg diff --git a/Assets/GameMain/UI/UISprites/Background/background_start_menu.jpg.meta b/Assets/GameMain/UI/UISprites/Background/BG_Menu.jpg.meta similarity index 100% rename from Assets/GameMain/UI/UISprites/Background/background_start_menu.jpg.meta rename to Assets/GameMain/UI/UISprites/Background/BG_Menu.jpg.meta diff --git a/Assets/GameMain/UI/UISprites/Common/brush_white.png b/Assets/GameMain/UI/UISprites/Common/brush_white.png new file mode 100644 index 0000000000000000000000000000000000000000..caf75effc1f5a04e7904a555d50c6581e1ee894f GIT binary patch literal 140964 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

lDCAv|yP6Z}i;;4$~U!{TO% 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�bo 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 delta 13007 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 diff --git a/数据表/DialogLine.txt b/数据表/DialogLine.txt index 75ddc0e..6715b90 100644 --- a/数据表/DialogLine.txt +++ b/数据表/DialogLine.txt @@ -4,51 +4,51 @@ # 对话行编号 策划备注 说话人Id 表情 显示人名 说话朝向 说话内容 演出效果 章节Id 对话Id 100100001 Id规则为 Time None 时间 0 元祐七年,北宋汴京。 None 1.00100001 1001.00001 100200001 第1位数为章节Id LiJie None 李诫 0 工头呢,工头呢,这是发生的什么事! None 1.00200001 1002.00001 - 100300001 第2-4位数为对话Id GongTou None 工头 0 李官人啊,这...,我也不知...,啊! None 1.00300001 1003.00001 - 100300002 第5-9位数为对话行Id GongTou None 工头 0 定是那可恶的老鼠将这木材咬了去,或是这阴雨的天气染湿了榫头...。 None 1.00300002 1003.00002 - 100400001 LiJie None 李诫 0 那这木制松软、一掰就弯的木材是什么,我又不是不认识, None 1.00400001 1004.00001 - 100400002 LiJie None 李诫 0 大殿建筑用的都是上好的楠木,那这柳木是哪里来的你解释下。 None 1.00400002 1004.00002 - 100500001 GongTou None 工头 0 这...定是工人中出现了偷鸡摸狗的小人,李官人大可放心, None 1.00500001 1005.00001 - 100500002 GongTou None 工头 0 我一定将这小人找出来...。 None 1.00500002 1005.00002 - 100600001 Other None 旁白 0 你是新入将作监的画图令史,今日正是你当值的第一天。 None 1.00600001 1006.00001 - 100700001 LiJie None 李诫 0 你便是新任的画图令史? None 1.00700001 1007.00001 - 100700002 LiJie None 李诫 0 来得正好。 None 1.00700002 1007.00002 - 100800001 Player None 玩家 0 属下正是,见过李主簿。 None 1.00800001 1008.00001 - 100900001 LiJie None 李诫 0 方才工地塌架,你也有所耳闻。 None 1.00900001 1009.00001 - 100900002 LiJie None 李诫 0 这工头竟拿柳木来替代楠木,企图瞒天过海,结果却落得如此下场, None 1.00900002 1009.00002 - 100900003 LiJie None 李诫 0 幸好方才无人员伤亡,才让这工头躲过一劫。 None 1.00900003 1009.00003 - 101000001 LiJie None 李诫 0 如今营造无尺、用料无度,劣木充良、偷工减料已成大患。 None 1.01000001 1010.00001 - 101000002 LiJie None 李诫 0 而我们的职责,就是尽早发现这般祸患,防止酿成更大的问题。 None 1.01000002 1010.00002 - 101100001 LiJie None 李诫 0 无规矩,则屋不立;无准绳,则工不正。 None 1.01100001 1011.00001 - 101100002 LiJie None 李诫 0 你也要牢记。 None 1.01100002 1011.00002 - 101200001 Player None 玩家 0 是,李主簿。 None 1.01200001 1012.00001 - 101300001 LiJie None 李诫 0 你既为画图令史,第一要务便是识木、辨材、熟用器具。 None 1.01300001 1013.00001 - 101400001 LiJie None 李诫 0 现在随我去库房,我来带你认识水准、绳墨、曲尺、方斗这些营造根本之器。 None 1.01400001 1014.00001 - 101500001 LiJie None 李诫 0 待你熟习测量与料例,我便亲自带你到工地监工核验,杜绝此类祸事再发。 None 1.01500001 1015.00001 - 101600001 Player None 玩家 0 属下遵命。 None 1.01600001 1016.00001 - 101700001 Other None 旁白 0 你正式踏入将作监,一段以法度正营造的历程,自此开始。 None 1.01700001 1017.00001 - 101800001 LiJie None 李诫 0 这里是库房,存放着营造时用到的所有工具。 None 1.01800001 1018.00001 - 101900001 Subtitle None 字幕 0 檀木质地,刻度以朱砂标注,一端为方、一端为折,刻有 “材份” 刻度。 None 1.01900001 1019.00001 - 102000001 LiJie None 李诫 0 你看,构屋先定 “方”,柱枋是否垂直、斗拱是否方正,全凭这曲尺核验。 None 1.02000001 1020.00001 - 102100001 LiJie None 李诫 0 此前工地偷换木料,若早以曲尺量其形制,便知柳木径寸不足,断断用不得啊。 None 1.02100001 1021.00001 - 102200001 LiJie None 李诫 0 此乃方斗,也叫墨斗,配绳墨使用。 None 1.02200001 1022.00001 - 102200002 LiJie None 李诫 0 绳墨牵直,以墨斗弹线,便知木料是否平直、墙体是否端正。 None 1.02200002 1022.00002 - 102300001 Subtitle None 字幕 0 方斗为楠木所制,斗身刻 “将作监” 款识,墨仓密封,绳墨以生丝浸松烟墨制成,耐磨不褪。 None 1.02300001 1023.00001 - 102400001 LiJie None 李诫 0 营造之事,“直” 为要。 None 1.02400001 1024.00001 - 102400002 LiJie None 李诫 0 工头偷工减料,常以歪木充数,若以绳墨弹线,歪直立现,断无蒙混可能。 None 1.02400002 1024.00002 - 102500001 Player None 玩家 0 那这是何物? None 1.02500001 1025.00001 - 102600001 LiJie None 李诫 0 这是水准,也名 “水尺”,测地势高低、屋基平正之用。 None 1.02600001 1026.00001 - 102700001 Subtitle None 字幕 0 青铜制的水准器,形制为长槽,内盛水,槽侧刻刻度,槽端有通气孔,是宋代成熟的水准测量工具。 None 1.02700001 1027.00001 - 102800001 LiJie None 李诫 0 汴京地势多洼,营建房宇先以水准定基址 None 1.02800001 1028.00001 - 102800002 LiJie None 李诫 0 若基址倾斜,纵是木料精良,也难逃倾颓之祸。 None 1.02800002 1028.00002 - 102900001 LiJie None 李诫 0 水之性平,这水准便是借水定平。 None 1.02900001 1029.00001 - 103000001 LiJie None 李诫 0 除了这些器具,库房更藏有 “料例” 册籍, None 1.03000001 1030.00001 - 103000002 LiJie None 李诫 0 楠木、樟木、杉木各等用料定额,大木作、小木作各工序用工之数,皆在册中。 None 1.03000002 1030.00002 - 103100001 LiJie None 李诫 0 你既为画图令史,识器是第一步,更要知 “器以定法、法以量料”。 None 1.03100001 1031.00001 - 103100002 LiJie None 李诫 0 这些工具,是规矩的具象,料例是制度的准绳,二者相合,才能堵贪弊、正营造。 None 1.03100002 1031.00002 - 103200001 LiJie None 李诫 0 今日先熟其形、知其用。 None 1.03200001 1032.00001 - 103200002 LiJie None 李诫 0 明日随我去工地,以器验工,看看那些贪弊工头还能藏多少猫腻。 None 1.03200002 1032.00002 - 103300001 Player None 玩家 0 是,李主簿。 None 1.03300001 1033.00001 + 100200002 第2-4位数为对话Id GongTou None 工头 1 李官人啊,这...,我也不知...,啊! None 1.00200002 1002.00002 + 100200003 第5-9位数为对话行Id GongTou None 工头 1 定是那可恶的老鼠将这木材咬了去,或是这阴雨的天气染湿了榫头...。 None 1.00200003 1002.00003 + 100200004 LiJie None 李诫 0 那这木制松软、一掰就弯的木材是什么,我又不是不认识, None 1.00200004 1002.00004 + 100200005 LiJie None 李诫 0 大殿建筑用的都是上好的楠木,那这柳木是哪里来的你解释下。 None 1.00200005 1002.00005 + 100200006 GongTou None 工头 1 这...定是工人中出现了偷鸡摸狗的小人,李官人大可放心, None 1.00200006 1002.00006 + 100200007 GongTou None 工头 1 我一定将这小人找出来...。 None 1.00200007 1002.00007 + 100300001 Other None 旁白 0 你是新入将作监的画图令史,今日正是你当值的第一天。 None 1.00300001 1003.00001 + 100300002 LiJie None 李诫 1 你便是新任的画图令史? None 1.00300002 1003.00002 + 100300003 LiJie None 李诫 1 来得正好。 None 1.00300003 1003.00003 + 100300004 Player None 玩家 0 属下正是,见过李主簿。 None 1.00300004 1003.00004 + 100300005 LiJie None 李诫 1 方才工地塌架,你也有所耳闻。 None 1.00300005 1003.00005 + 100300006 LiJie None 李诫 1 这工头竟拿柳木来替代楠木,企图瞒天过海,结果却落得如此下场, None 1.00300006 1003.00006 + 100300007 LiJie None 李诫 1 幸好方才无人员伤亡,才让这工头躲过一劫。 None 1.00300007 1003.00007 + 100300008 LiJie None 李诫 1 如今营造无尺、用料无度,劣木充良、偷工减料已成大患。 None 1.00300008 1003.00008 + 100300009 LiJie None 李诫 1 而我们的职责,就是尽早发现这般祸患,防止酿成更大的问题。 None 1.00300009 1003.00009 + 100300010 LiJie None 李诫 1 无规矩,则屋不立;无准绳,则工不正。 None 1.0030001 1003.0001 + 100300011 LiJie None 李诫 1 你也要牢记。 None 1.00300011 1003.00011 + 100300012 Player None 玩家 0 是,李主簿。 None 1.00300012 1003.00012 + 100300013 LiJie None 李诫 1 你既为画图令史,第一要务便是识木、辨材、熟用器具。 None 1.00300013 1003.00013 + 100300014 LiJie None 李诫 1 现在随我去库房,我来带你认识水准、绳墨、曲尺、方斗这些营造根本之器。 None 1.00300014 1003.00014 + 100300015 LiJie None 李诫 1 待你熟习测量与料例,我便亲自带你到工地监工核验,杜绝此类祸事再发。 None 1.00300015 1003.00015 + 100300016 Player None 玩家 0 属下遵命。 None 1.00300016 1003.00016 + 100300017 Other None 旁白 0 你正式踏入将作监,一段以法度正营造的历程,自此开始。 None 1.00300017 1003.00017 + 100400001 LiJie None 李诫 1 这里是库房,存放着营造时用到的所有工具。 None 1.00400001 1004.00001 + 100400002 Subtitle None 字幕 0 檀木质地,刻度以朱砂标注,一端为方、一端为折,刻有 “材份” 刻度。 None 1.00400002 1004.00002 + 100400003 LiJie None 李诫 1 你看,构屋先定 “方”,柱枋是否垂直、斗拱是否方正,全凭这曲尺核验。 None 1.00400003 1004.00003 + 100400004 LiJie None 李诫 1 此前工地偷换木料,若早以曲尺量其形制,便知柳木径寸不足,断断用不得啊。 None 1.00400004 1004.00004 + 100400005 LiJie None 李诫 1 此乃方斗,也叫墨斗,配绳墨使用。 None 1.00400005 1004.00005 + 100400006 LiJie None 李诫 1 绳墨牵直,以墨斗弹线,便知木料是否平直、墙体是否端正。 None 1.00400006 1004.00006 + 100400007 Subtitle None 字幕 0 方斗为楠木所制,斗身刻 “将作监” 款识,墨仓密封,绳墨以生丝浸松烟墨制成,耐磨不褪。 None 1.00400007 1004.00007 + 100400008 LiJie None 李诫 1 营造之事,“直” 为要。 None 1.00400008 1004.00008 + 100400009 LiJie None 李诫 1 工头偷工减料,常以歪木充数,若以绳墨弹线,歪直立现,断无蒙混可能。 None 1.00400009 1004.00009 + 100400010 Player None 玩家 0 那这是何物? None 1.0040001 1004.0001 + 100400011 LiJie None 李诫 1 这是水准,也名 “水尺”,测地势高低、屋基平正之用。 None 1.00400011 1004.00011 + 100400012 Subtitle None 字幕 0 青铜制的水准器,形制为长槽,内盛水,槽侧刻刻度,槽端有通气孔,是宋代成熟的水准测量工具。 None 1.00400012 1004.00012 + 100400013 LiJie None 李诫 1 汴京地势多洼,营建房宇先以水准定基址 None 1.00400013 1004.00013 + 100400014 LiJie None 李诫 1 若基址倾斜,纵是木料精良,也难逃倾颓之祸。 None 1.00400014 1004.00014 + 100400015 LiJie None 李诫 1 水之性平,这水准便是借水定平。 None 1.00400015 1004.00015 + 100400016 LiJie None 李诫 1 除了这些器具,库房更藏有 “料例” 册籍, None 1.00400016 1004.00016 + 100400017 LiJie None 李诫 1 楠木、樟木、杉木各等用料定额,大木作、小木作各工序用工之数,皆在册中。 None 1.00400017 1004.00017 + 100400018 LiJie None 李诫 1 你既为画图令史,识器是第一步,更要知 “器以定法、法以量料”。 None 1.00400018 1004.00018 + 100400019 LiJie None 李诫 1 这些工具,是规矩的具象,料例是制度的准绳,二者相合,才能堵贪弊、正营造。 None 1.00400019 1004.00019 + 100400020 LiJie None 李诫 1 今日先熟其形、知其用。 None 1.0040002 1004.0002 + 100400021 LiJie None 李诫 1 明日随我去工地,以器验工,看看那些贪弊工头还能藏多少猫腻。 None 1.00400021 1004.00021 + 100400022 Player None 玩家 0 是,李主簿。 None 1.00400022 1004.00022 103400001 LiJie None 李诫 0 这工地是谁负责! None 1.03400001 1034.00001 103500001 GongTou None 工头 0 李主簿,您怎么又来了… None 1.03500001 1035.00001 103600001 LiJie None 李诫 0 我不来,怎知你们又在如何糊弄? None 1.03600001 1036.00001 diff --git a/数据表/DialogLine.xlsx b/数据表/DialogLine.xlsx index a5a61a8cea2003a6ede0e5293db45fc7d71e5d17..88af2a4668015a78573253af251c7734702e5139 100644 GIT binary patch delta 21454 zcmZ`>WmuKl)&&DpNN_^+@F5eWsf}SLAZXG z`50t;=KGws4Ksy~7g2GQ93*@6&XluNg)^V6pmvss3-0tQnF$}3Bht^M&vCqO=)5l+ z*nVSFv^%Uj(2EATUzIFp;}UkfM#^aDyC7b6Zk6<-G+J_&Yx46%H9fw}=jXx(JFYwv z(y*aVba+HWsqBV(kr@?m+KH=lqU31Z_+_a}X{YehoQoddha8e5I`PIahUL_rlbF`n zuEk_TqMEvg(Fdh>CGJJ1ZZ8h%z58jPlcUjix1;vhCR;_4ZXaZyRTpV##f)=0_LPFw zU`2i{5f#Z#QVTEFFKdql96cz4#BwhuTKVO!cee)@6YgmodM#gR{5aq$U6Ep?<{Tbn z^w_D>Y;yR#h+6&&Y{vE3O~Cfx8@SXh9z2r6RD$MtgOnD{Pv zti3f^egrLEEifPaa5x!cMWre6^kbe) zBn7cFGUr(OvCeDsd;T|^C{iA@XH*C}gwACoCXJTyNX{G24s8<- zE_y0Whrh=SuU4lH4?J>(V7hZ+=7b^+PBZ?YFjXpu7rx@a1pROtZOgs^+M#)#>W(b0 z1ns>t1Yc^0!h`jm%1DXQ6K(vBJ%LZ)d7rvu52fx59O6Wp1;0J!yAqBx`RYDHAG(R{Of6i<3ND zq3xl~uCCzR-RY_6ENE-0a<7=aLJZn$&xJ(A-n-#@E9*mUtM$#z6GFNAko$UlSADU5 zCA7P<)+Yn#*S^WruXg@=f|yOp^scQ#kYHb)j`n}29Zpl=-CnU3z3fY1v+TyN$- z-EEf@ z6Q*6{quE)tU)hAB6_i#ZpsjB10rc9+_74e(@|~rfA*gb1b}X1)U#vVV3H@WaSU;(M zZ#9@QO?#mI-2{nGedU0=TQE6otcTn7`c~4wd50c12%^f|D|TM(dv}Yk=(V%rkkebQ z5eZ>8`yqY(-RZ;BcveW>?**M6Nb0qL`RmO&$Hc99cGU(x>J8NRK$KxdsfE+=Rgmq* z&;r^dcaNmehVH!PohJpF=XNqjZ8ki##`Av?5ox);lnz7G2J4KxLYR+g4wXjK`CzeLG7~8UPH>L(W%C?7A z2du*?jB4BUcsWm-stiJ+xfz;UxczM?5haG)(DsN^=cVK#=_llzYfVJ1whm36{*gZ1 z$>AVh+sLsdU;B-NSiUw_&!+OGPWiCm%aX7=dhOLW%8ruNzIh>RkrEe8KOwO0cO_r7 z^RVyG5|u1rjM`aVu8GTcY&Qi$sG{Z1@@7^=GHp1DM9#)nq=!jQLCs6#D+Zf3dM>$C zEwLN$4-E5$#Mmu@e}ylOGN%e7+8;?N*STcuP|Fflf&Y$^%M{y%Xl=A7U}|!@l4+re zo3J!;^_oU;(iHxWGA&|9$Bn%W({K5evLT6rskjcO;$uJJxH28zO;D=n#JO~o3$G`Z z$+*$ce>+#)%?L8klYI=u%jw7!RFit_O-=Mo-wIWYq}SWiBlf$ukaxY9N9plN&k|>I z$~V^Tq@C;%dL1eB3U90f#f!69N4Uw-tZa-P($$)<@J>vhlPkEIaEQ|GdJ=QAkH$$$ zrFD4;Uk*9;oGr^;r|q$+Vom$^Zhe)db2eX=SKZ%tpq=TV4*`Bo%@$VMLPGhqz8Al- zPxBfDW>xq+*j#)pfHr9Seq&4evB}v7V$XFIEKJC{%7dBYwDGwzD%->4?}v?@Sh{!8 z(q-?H^6+)C`nZKV(y8OwqKe6ua%Q@Oq%Mxvdid=-Q;a*-2!6JY)k{>|Qbp=65SUxj z3SSU8QAsH?m*PxKYgXS@l!L(ezKVxamtq z@{OE=*E(BHPQJY1Iu**q_P9z~Er-iA?Bneil7YC|ZTJjf>cHI0gqzWI>=uTPc1JtgmEKdIN*+O;2`QzKEex2UM!JyFT%e$LRe zGb{2T`(nKuzo#L8aCW0%L$!&xgYF&r$A(Iq`kqonUgO5njGAAw9~<^hUhsd*!|!lB zwdE}-VVq-hyboK4&B@Me9~YWiNm}7G$J|=-+h)2R4iOcVo%$@r#X(kDU~-x;eDK#g zg)&k?DDELERs10J_C+6ALyNbE5qRddRF8rmxr`eLM7^xKJit>k$!a_1xndwyTVkAl z!YEvqd_;1P3XiB%PfnGcO%iyWam|Kb3;D*V+O?|6BbJ4s&>a|;l zI*$UcrFQnym&~gcd}mf>j36qs)az#r z>{J<4#hhP1bo3kzP+?uDMXE!VLe_SVY@bOTC;Xbm!$?oyDZm?0Wsqq~U#%6|5Gjyl z5Ob%uK#M@qD4NIqkp72|H52H zjI7QWfv6!XwPpN$N=hEVz|D8NZbgr*Qg6$LgM~!T1hk2iLW8x9+p>M5UsnCP5JeK1 zn*p~evUrNV<)kadUiWN!AyLfJlIZkI>V#2l$MkV%vmuVgi#}=HiXSu?c@aktd^?^Qsj0f!Yxcb2elWlJAr95gdK`7YJ=7-7mlkiBFEc{Uh^a zxd7DIy)%swTPz_B{aVGX22f`9(qL$?=M`}xD)CTH-janY1rQ9wf4<51C$reFSciUu ziJiD5fS9#2PSApww7BJARsh0lp8AJ9J-LqdB0$>C{Dl!MuSp4G%_n#i9tE8N5jucK z!#t&t(hT1{>VzS3;YrmhOb(v?{gBZ-(82BKT%Z$TY%*BEA5a?|F$hsU3~u$gJT3-) zr2vZl2D4KB#|(V4gkJC7z99|$U`_9x$1)F6U55}PL%xDDd_F=?esCq?4b)UDmA5JG zYMD(Qsx9J$x|8B(fArmolk)p;K{dOP-P#Xwv(V3Dne(q2d`^IyjD7hVW>>QI0Q7Of z#f2BLGGJwosL1N;D9@+?AH7;L-}Xm$QYPDurwg|{HGM=>hrkPUIOvKQ zKT$jFqbC1=%bg?)+Lm^wKfIKh)DTHh@E1zMFJLyo)ADxMhT~Vhdt$QPI(Ppjh2H$J z;;{M&$S@-52T?C(t0sdGyuG4{`38WRNqB@w4ev1_@^6G>e0srWb}NBymNO}UX#Cb< z$>~sv@7!wGjNh*Z|KADIF(+(}DE%O8DIHNg84SJ8{JkA`H~6c_{|ZQK?g5Or3wBb$ zOO;qlWTeOUbfe~RV_Yvg#S`GcsHucHO{fO)90PnZvDeR00R%JX8CbOK^*is`N$;wB z5caORC#Ym3LOECq@VrXJOCaN9ucuyIH)g1p9nk<_ui51QY&d@6E9%`i+fx2{E%MZ3 zgmVuV&Yr^3hZC4>v;n@#8125U>~H^Y44MAj-w+Y@JBJ-RvgvSG@iqJR@&inoS+CN z7+8E_m2@y>CvphbvYQQP<#JIlB{L@yH0gFjDfS~g-1=jV?zMol?jNkSZ^tmC1Huw5 zmQl!|W`0DH<}o0u69!q19Pslfc=Ly5BCuN6+m41KWg{O(uDcgjmrSiG`i?C0jf zlX9oGMKsvmK(*3WT&?d1pz}JTAro+~B?F1rVb4*X23F1& z;#CwBBXzrmGe?YEqpN#_SQfVI`l_Zj%H}&dgnY@UvN7eGlkn?DoR%;>Cg?yM|K%U9Y2N3Wl#A#)$A-k54r_qd~BTRAC zHzxT_^H{Q~*_Jxpvf5(>h^WGHSini+Z^2aI*OfFtvo=PD2AUNxEaREft;3Gy&7i)~ zSd4><2j%9BXiu=@K2yMyZwOE>W7CLl0^r5W5i%>=VZpAXt$r`+huY365`*C2k%bww z^%@sMyZE%Q6;6Og#+_GX`N2EORpulyUw~0~Dp)spe9Wb>D@FmUn{$O1jUWzkzysk$SZ2 zIm5S~=DfWKZvuMe%qucrzq|0ezvbt5_;vLcDK93p1|N zup)cE@jjz1P4>SBZa01BWUo1P(f7@G-cZe)F=Mls2c3`bJ=E_cfjRos7+}R zKH2a0?)xA)m1WTUQX*+p#;Mqv%$!t|h&s=XI!!x3Gzd^;{_<*T(|V^i!Dbi{_*Zsb zbJPM*z}`PjkXeI4%X`v3hD&r(5uIlhH9SGiL1rP!o?gnRyn(oP3o7vSPj&jhXN{C` zsa$wCdX;)?qOjk`GL-h7HEF9^%>DJyeWthCzJJbY51Y9H#&C{%F8seX9zuMM>J6&4`fo^;^@?YWJU(6Hq1C|xf=!KN<{0@u&mZN z@rBZ|hJLcvEXkHLml7`$(jxCVMu@i^?fB10b3(W4IQ1Y)b2F%u3ljH5QgfIrg0yQe zS*$Y1(@%Prcm5JLV1?2(H(_lK(pBr_+?hfr^k#sJJs*&c5nkJ^;aKEriCh9~rvI49 zVs#rPjDH6U*algPw=IJ%O;46871}vAV;;hiNxE^7I?cRe0k6iuA(5am9pVHJr_sst z1xQsmV_Z`e@=1weEuATYE%9jPrPJQ?_He%zD>%>bfsG&e?sKd(5uFPAR^s$GAd;E@ z^3kb?fp=SywF>G@RbmKUTGn=yO5&jh(ULCOz&62fE&hx!9n;+fADWgqyCJv2n;^m# zeSX3bc5UnB7UUj_O5F`P9=)APH}K4=p1ODJijp>|QgZ0X6&WJBu=!^%5=1t5wAq2@ zFl-1fyFe1C`&!dDD$uDRpjk9UIV^ac@e||5w9Y4t4j=CYIvmE60EeFj-tgBQgr&!8 z4}FtwK3**)cGTA+)@@0R`DGy>qi=?5ImB)c>3#Kse%{}uH)(87FnPJfjV;8`i^|b$9#8Lx@5XkYzb&^Jmxe`gUqn#65p!9SY zU{Wr1^Q*XMAxj1+72z6pGNh*g$JGJ8zM~-t^ex|YlR3Agvv(1W4VEQ1HdvOb45(&5 zSEtOBm;8YUx88w~()S{1X3OX?A!x5R~6ypMFM>8-cM4LFzEQTPW zoj#w@U-Lf=&dWyfP6k*-^)N|vOOTJlg8(jA%t%$h_$9*s0aTqH-?|WwoVDbZ0+0tb z6Z~&#N-kmWQVCRJ{(bmiYEG~CvLhGuPwrsX0N~Qx*f^UK02Dv9HEuyZGa; zfb2i#4OsUF%QX}}`|DX9qcLpq~Qd>@L`r9KZ2 zU+@Z~?W{f5jHlD^s-BtsL*srovL`}mQ8 zmV2RW+$|y*83z4K4L$v+iNW!w~OO5zzcGB z=O?#hc8X}|=b`T?8Larz7otV#QnJZ1I~r-`I8!JnlUfXNiMfYE!NSHK@lON&b*5~R zV%myPgJDN*b5UEAL~QbpUiF+_L1?eE;FUl=cO9ap*>1%DRFTqVu41{7o`I5aMvU@=C%)b@g~kevHrRY zBPw2DCp27`X6xy*TRLvYnl{B94sh&(pEkaJhq&bOY#Zl;h>S&u9I2>p8#AAoE;T%H zlq=;^82%+l!dFD+5Ubs5&;463EMERMSt|+nBBsEl8BKp=-r6{&BNb`OprUa++vrjF z#8q(RR=hL4AKUTai~3_n2{pPVdum&7QH`}0DT9pIAbco4I9j@Yy+Vu2k03a7vo&mZ z;aKXi?HnA7TGe|qHqqToS*G%eSo@Odo!RHOT-yIzAVg%$Y^LY=LIz`nmiHPhb}9ZIY#WA0PH#iZ`myE*}AK0(iK8LltUgp zS);b%{{ngw=b5yj9T|DZfRRH@JsXvFH}tsZ+Sb?U#v{nIrcbyCvegDDW87FKt;W$L zw%`VC7B#(?S)N7HCIPo^yrhUF5P3-3Dq)ne*UbyaNA>+Hv<)FA_5@jVLl`>QkzQf| zyP^W{;uG1H&3pKemzU|t-EVj&l15g@N!%_t4`m$zD3p;gNreU6d6V7K-yRZZA7uAv zl3tLpI8kW>j@U$sy>T$9dec)W_>O)(eP4_IfX!|>LrKUNcCL)``)Rh7-jc~ciFh6> zzp}^%5W0!EM1w`e8@zru@2{Oal!Tk1zska%f-~o`d4n{b*|4g_gM}pBuM1=vF0tbCB7Y+#X+ zvOxdU>B>p#UK`@LpamW8-I1&-RyJ@$uQtSI8?z#j@wNKNg{84UJYThk-* zu0??Y^=C{KWrD>zs9h7TPS%nC0Vw$Ep}6$t|4!FR-8{CD`wi0L^TL$r9F+Dc*Gogr zXB`1G4O@7jT6nL8NB_W(K^M1iISBflR-Kgg+D`5iRW3>EWW`t6r*O!%Hwo}n-@0(JR zkw%(bq`gKc)Y(2Z3?BMf1Zms|xPbVZ8p$qyzNCP39TZ*Hj)fNNFTuiHYZS z&%^LGfC>e-r0XJ%qQVU1Wju*uk%L|+)S;wY6B9!mgi5QjJpco3whq3~NLI;L6tPt! z{b_cg=ZvQw5^Co#8e!@Yb85Ah0wM(hf$PZ^J84PQ;B&okW7?Pk5UH3dIpxf<>(8Vy z^v$(~LPs_d)KjM4<-{uge)Ewtw#l6iTRqP+o^vqjM}Juu`+CxvAuF3~kg-0VbWKMV zyE+_+|zSX3_sIfi#|r+m6gyjvEaP76w?@Q+Sj3q9H;~fazQ+f9T63#qBd)w^i5>dqe#G1=n#D4yxI@<(7UZ z2v~J*c`cYwv2y*`saq*(c?nQ3Emq#1gaVv&Y?z+P07gO7T|Y4|sS8~F(4CU*=FYO6 zJHZU(vK+bHCE!*Xw}}Xs)@H_$3CavWYbI!80s{Z9 zaDw*f$%Xl*XMil=Iy6deD}6<(w7xQzGNZz>dO2?9>7h18nC{kiHsa}Qfdb_VD8n@z z3}rAV3`@Sn8x622*w@m^h?yL&P#ccl#d@t)NfJaUZNb7uLXx_}*o6lKd&zb89TH0Q zLNiM8&+~NNziACnS5&KB_K5`_sBbUXww}T-bjQisPQn%ScTrrAax}gQ@ZlK1hxiAB zjO-Umlen}2icM<`qSo-N88B3it``)GGax7EqF=y;5dbyu_-ln1AS9CE!YEkc16?mY z0^k|O>2)jvTQFd`nQesri_veIf}6qCktf4pf_Ne>c)1AvArWEcE$ivp*N33&E z!4q(Kum)wHtL#B{7CDyI>&+{XFZnPz+Hu+T+kC7JCY))?xFnHV2zC7cKmLjc@#B5?~b?nWw!z`%JII*m}n zCMS`gnA&(3h@aO5^`EmI?D_8L-Mpn#xn6ia>!Z2Pvp1d2MJRBq%6R$&cE9lGpz23M z!4ryyS-$s}0{kai3%FhlM? zT)Fr|kE8G!4D#y1&;fiU?cKnJpFFZmZLwd!W?M{B4=$nyoJKTZkdK zJWM5yRjEl#9(wRIcGBi>wn@q-TfA;#rmID2t!O@~&~O&rdwy>NFxqa!U|+ibt`rd7 z$PJUvAgnse_qtEDG~#2V9jL!UWEW%O9%EtUVo7O|*ne3LWGn+SmfXk;pgC#Qt3`ICz@))+~!FP@EQ&tW18Uub<9OR9e3 zt!dQUZ9B-_uxR;O@C1#wT%?Vm3Z&tyHaS|7r{*ai(gMy1=&5F71}K8SWzyi<TSuP`VDQcDvR&OUb4&f1&6cbpQnt8FZ<11n~*7kJLU$zr)q{ao`C5JseN>(P_> zY(Q$MaxpcrKk_*K%nj>h1bD`8Z94z8a zN&HJQA>??40uVgZw=>-6DSUBQZIPw6D?2hdFJ!qgsArLn0Zz>0K#jho; z5BOit67FF}lj@Vde%}oYvCSaBiUQWDt`$;0R*(R)N9A|9zqSc~F#?ekt6lj4Cx|6!`lUuKd8R=X)p-a+>9a~BoZnMWkvqg3G7L48dw^r6;yjH>H&r!HhX zvvbJA#V;9VQ681Hz(!kgjV3X^8Yq$hLg>8iT#Q_#Z8BR)%~Pr6z5!*l8&m@O7eRAf zRBH{efAI(YDON@t7Z_zc2Z&~8E3DNc{2}%zz-M6C74Gij#z@fA_kDJx!JL0r`Jg39 zSdJmD@$0Wd~#MZ9|sOFUnm@6?ii>_ z%*ByTr{HpyCfB`oWPjZnO-TqlsA#gE4~&-qTG#WyLXoaB?O%uPo%sHsAjlUS7`S*n z`iEHCv8=1N#5ai~0tTM3k_Gx$=Mu<{cDh@4v0H9!ti4LK_nidN6Za?y*T|j%RaWWV&m(3L5+F zI#3mzwqVtD4dQ#7=lEQ=F7c8Jgfr(cRpS#=a8Z{JK34X*!?p5ZrhuWW(($JH2We1s zl^8!ncD(Wa#yrEB660SkQcNXe@}$g%y?LBH1txmM{J;|x5?f^M0_N@eQvJK&3*Qi` zmXsdjOSwi09e})MR!h+h}8rO)n3fqRXlyC6JXt z_sS2Lycn28dQ0v@*qQAGFKht?kWz32%ZF>y1Bw_hTc>OfY1IR|fagel4G2OUPzGxV zV2iTO6%3edfTa+u2@f2mwBX}|_cAUZ`B$5s3PvgJB(a^sxZFVZo(1;!VT?UqUSIN- z9^r#6pxz2vFnwc18o5YP>+|0S_W0y2FRSz?z~)Bv9+Rq{+__*%I&{I_ZWS^>9(mUA1%+3^7op`7JC z;eH3q|7N*82|IeZJ9RZdx&6w`33mbb&HLBCy#%g2cF|u>+WXUi+%fPGK^c4Z8VHmz zvX-dqpAUVrTb|;HV2F@WZ`n%-lKu;!r&`V2YTro9;7tl6bV;1OUk)`#axzNl(f+m= z`{8v-|1lw2Z)uEoSzk!4eo&?nH0P6QDwRHFPm=5p*t?w6^0!Z7AX{K}-mI_`gbpl} zgXM3YvWDayN6K%-;8dW#532%W6Fp>f=v2iF)otJXQ~?TS-;M1oI7+EHG=Lg61p>#V zsoVI7&g3yete*gGXpMmAwOXZ=qaJW;J_${kdcaNwkX7?&3{Hd&~PKduo7JGC1|A@D7ovU zJ?3!t3AWSuph3R?Y=)P{VjZ{ND>KoOvC6=!D^WtLszE&dhyD|(j%(tTY5!?`tViby zEO%4d59FS!1eW|uBo}Ope<;?qdCZx6cBb5eLd8?wfOn4Y2h6E;qyhb-0G5EVj^L(P zOnytIN+s|FDASwCThgwVb`U-TmYXa;RH;OaZFdA*5?bD;Y`^Vz*as5<1aU)QyP2ho z$o``vL!b6sZoL-Puq!l8-OtGX+Uo;n&NO3qymOoM)b&cA>)XsAmtmp1pCgWz{kikd z#Y)c;f3oX(A{@r)NC3 zPluHi1L^L4r5>&NUlrw$a(bM8BEvtHJS6Q2>ijn#<*09EdiYwlC+mYkM!&Os{h+1e zKn1JTV4Ga41lHZtf8ph*91=Lt07Gqtz97{CjGC>>Y z54%pW9kigB&K>5TN3V`TJpXH%(5fAlI{kKL@)*=uK8FMZbSSWt$>AeYRFS)Cuvu4i zhvK3$7be7aHQO5g<=mH|Q+fnhzWEr%oex8oK*l1RPTsoS}8cUu^I-YU$?G$ruSYyiAJ7uFD z3`YJTTlHQWf#txjeKP)lv+RmDAQl>S3!28@ULSe+X7^sNdqshmhj_nBklO5flLvKZ zbp3)55GIX4n6Re0r5j=HRpZ1T>~dZ_^uIJQ!?Y=aIxKndL785V<)>r-L8zVnc2GZX z$ba3@NWVKHV2KBw3px7{Wg?A01BzCI+{Qvl^Uh**DATI+p zY6y#QTg2mg#;UN9V*;H%gyrjtgW`dP!JL1$HV^^#@BPf>o@~>Xa9mj5VpYHHrLN7U zv|+;37CMH1Y*%^L2l&|wR3w&j`k`&=#Ge_+qhQEE6>awI-j7vDO?=6%g)C!SqT_pM zi{wA%*bs88JGLwGwiLDkiIzZ(|1BlaS>K9UUI1y4VlI#xF4--`aPF0}aO=^Z=PEX| zelTzxbzv#6%|c||LY3D$Su5YkmW7?9Ka3<)Qvk4_7~&eGNN8ym)9Y?6Z~D&VMr(h@ zCBJC?X;tcC^AOx&2FBhVZJ#+8CW~0amO%6u2K#zq^9%^%nc`I=BAriSg0H810F59PR*93)bcHeV>8D49n}^ zp4&o!zC+H-$_kzz>m!*)Eb36*Q=q7nHtsShg^VeU&9fE0fc?n%)>kgDRt6I%e*VI) zmgaDo2Vty~>hY~{qXkVShG+Ycl3G^)e@_?zoFNf9?-qIL)*C+x=9opMksBz|U-x?v_mCytiSCJ`TJ5 z{xnuHJ^PhxzVBl@nDwqNl45!5d^{wY7ACHxgC4m z@aJ?)dHu%oOs4jonNTp^@Q3#%;hE2|Y%c2s99YCM%N5XDfm0 z-?<72-qYUip7!f26aQLx(DDMi4UT*4o5jDE>4kkO21)qAVm+Ad;>BVAK%95Ih3E+s zc2IzS%B3ht`tu+e6Q4N7Qra-0TB(4Is6i`Tc>D-Dk-94o^up*T0TkuGMynsG$UYnM zP#$W-qa+);YF8$;kW`-s&$|SWSpGB(p5YvlP+c0yQrA&X*{}-X$4()sf_m&9(D5eh z%jQ=J+Cs`m4Za@qekZ>;EFUAXNXEaGle%iNj`%z&3K&%fJ{f$@5E>B(>5_VJ%hT$Rj-sO`go^ z1lj9U^u74_ZfTsf51Bdei*`a|x2J+zP70|}Jd}G(KN{S^gCG*Tpy|~cLa112t9^|v zM(ptI2-u;4rvXcm(nnA=p%uMu6T);)Bn75+6pMytv6!nY05$sg+)IYrm z!vZY*p#8o`ex^IZ4%8^`WiE1wwVO53(LaDQ0%l{tKoG)EO-;u#9DWar8G7%UTFGBs z4#m$olm~T@L1^@9*L;D#y;ww_{>{R>agigW`kh(+ci^c5tif(Er_gi&pTdX0a1D5W zFcxO~5pZ0>HUKNmPk}$)#7yOhaZf?9;KxipG3S+Z9W8fxh|zQ^807*Bm)(oslUMVv zz?NoxaH`^~00NAd8~Koe7u_)2=5CS47|&6mu65h(G^MVe6KyjbIeKf&$pPPCHg2Mm z0?-e`j($kgPk_+^Gl{0M? zaQ*uA?{3%*kN`~5@FlOPpEw@>%kmv>b2o$SjlTdmZz>vY2B02t=`5U-vxnq-0A*S8 zAJE^Y^p!!OFKWT(+VSmSN+XhMY$)cSm#~Eot$wP5TSH(1Mx%_5{Gj&%kBMPm^pO80 zp+)*%J-Yp|9)p^r7>0#{8v>sWqcPJ!3-fQl-@kh#VY{T$@UoU!)`UlMwnrbc^1w6} z={7PJBm!me>q~v=ZX!na;9&;g!%PtG@xEl{ao5P4NW^?5+H^J8~ctQctg#b2q zjPchfkgN=zS>lCMQ^>WGFQut5gdM}Gmc+og0AfBL(fhd_i(0=sd-To~+~jv13=bTeQ<2NVD-=oH7B;~JK(f7tC5pV`Hjn$-i5dF$cd z{uLkltlZ2=cg?@_p)??4@^mZk5ae^43b^Q z*L;~A#jTUDbY)qxR%`M5`zZ&0k20$}6w`aL?`_|OwmCgA(* zstRfHz+`8hzQB=#3E!xL`4DX|GEu`n&)0d5;p{o~oKmrC^wJo$k=lKq2!m7FlWdK4 zEdS0Cv_p-e5!%4`+nI_F8+F4;HK4U|oRIHPc#XN@B90x6Q~6-Q2h}p&J)3wHUNV#r3+X+A_rDa zd``lh{l3A0u{hkF@C` zN#UXghzpkZ+`x|MHl=$!{+U?UqreW04U211fTj`8>*?C-Vnl7ja7~|C3DhL91{$ta z9n6{1CC%m+U*<}<5^i(*W(!GKbld)3?`v8BO)4{Ue^q+p-iZFIt zFt=MUAN)Ibu&qFN00&fg)A^cx_w6tHw1FE8n8eI-zcp=@A%p>bEt~{Yq6I6Yri_w_ z26U|wKDDw*A>V(f#i#A44PqVeS1fYWDhJyh?^Ph5#-oi*Wh@>taHqvT3O)SFtdLKQ z0W)&GWKE6*Y!_4tJj<1h`gAE8UJVp)dClijZ{|m@Yu{Y9b@`)7dxXx_4w}Xl>r(!Q zAiT|P$sD4S^qej*ZAl4++q4MP14VWy_`UW+?B9*}L&piCnw|jbt@8mRdEZw&jAr=4 zurK|mFS(|NLnFW z!458D=^ffARt;2@Dy1xK`|VRGDS_!&=poEvp54Lz4UQE1mZOc*K@oo|+W~dD<}_d^ zsl?^B4!>&>C?DV(1q0it(T8>on7K?wl0rsoe;nXs+1W3vWZ1#X*1H-eUqHd^vO}6Q z%Cy5!R~Z)yPowN3U5PW~^`B0PZ_701mw(X=RFtEqyo;d<(WHLJ$$4vu7QGqtXs^6( zK*D2VWwo`d`5nDJdU0uKvvs-aK&7jQc;)u;NLOZb_eh_$ z6MAK-IZ0nXQG#MXbAVx?b^gox!~`X@v$C=?RI^;Xx3RVIqw+m^r8|>ezwiClly_!j zgU7mxVU_Lzoy`*A|F zXRjW8YSwpM{cUz%B73+Fb(Syfw+zF$wE;&Z+3R1-hZ`Lyz-GH{jVo?Rrfmf0ThovE zbldqJW(?z{RL0$`IR5V3uvv{%3zF^Z*~-h|%irorx>R3HdPS2 zhS<5rLr3PARL5EjUM0TZI+drDiNn(V0-7%~JbXv zDagC-UU4r~@uWxk>+e_Pc$suATO_!~)1t)Z_(Ip|Boh%go;VbccxZoEsJPSX5@XIj6KRy#YiutvS;d{?cxU=D&iGqhtX@tK^ zWIhAO>SgeY9T&iA67b6%;eT*(&Vqj@hi@l};%0_lOk$w<;};U*P{BU}{=xoK*O74C e=cmK{lDH3%t787x0se?{6a0}K?@c`XgZ~GWytzRD delta 21401 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 diff --git a/数据表/UIForm.txt b/数据表/UIForm.txt index 979e2e1..bd91774 100644 --- a/数据表/UIForm.txt +++ b/数据表/UIForm.txt @@ -3,6 +3,7 @@ # int string string bool bool # 界面编号 策划备注 资源名称 界面组名称 是否允许多个界面实例 是否暂停被其覆盖的界面 1 弹出框 DialogForm Dialog True False + 2 BgForm Default False False 100 主菜单 MenuForm Default False True 101 设置 SettingForm Default False True 102 关于 AboutForm Default False True diff --git a/数据表/UIForm.xlsx b/数据表/UIForm.xlsx index 28a45c99ef50558bd9c14b5dfbfddb328d7f70bc..e269e46bf6a4b9043e3501d3e6f5588ae5531ca8 100644 GIT binary patch delta 3286 zcmZ9Oc{CK<8^_0tT^OTbVyullYm>DpOR_VTELpNI*-JyVVQdYNF}9*amh2>wEn8t^ zyhw~SqLHnTUHtUEzjJ=ebI-Zw+~<7nbDuw+^SR$%(-^ZFA`Mf^D+`1%4FKRs%%$PM z)*5%of#ZV_GeVos#`R1SD-aogdj$})Bz2z;Z4Df?E|mD!YMj;G?fo@Bxs>&IZ$@`7 z9iAMnza!T5UAOFDf!ThR)Cs(X1|*IZSd_!3Ws2uim@8cLYsxHBUr1XcC5%lJswApe zr?PLx1d5Ee6Vr?AsGe)N#W348`aU1*0v{=BVK|y(9UyJo~}s8(n7gZ|0*C4FgE5a#lIcY!lJpw8XiX+hHAvHcDGP4w+7ZG7ay? z4p*o>w((dg{;{GTj|G8w2|M3+Nz+T4x8=39HPeuY!0c2yJy}UMNiSsRMm=A;BXEMB=S3TUXwL!w07gK9@w_@jj{~Viqz4IMy<_CgM$IxD zvZnc}fpR;}&cAKG-Lj8=9|bsh#Q%(E!TJuKb1 zR9 zkEqFv8+})3tC%0u43W37p{!L@8Sy7qn0;{t+Pc=^-(i)++{I&e5z8-OyndF45O;!X z>sVUX#0eM5|Amf#YV1N@nw{Dj#btlp#EgI=pcWE;Y{17&4@hzEG)H22xq*HPvex_8 zoy~4|V|h{P{J+IoetHCOuwD7(u_()Vf2(zSXCd{LB-hCD?43cZvG<9DwP8KW>Q36# zrEP9Aev>oKIs5#rHDx}%{tL+#a-nO3Z^v+!Ux3G<_xdz%=9@> zx8#`)`}Z|xkeL*0tK8NMcq-w+`a`E7_PAyqRrZ3C4cz0lOZoYBHUx{ygG%L@4yX`@ zc1SQa_g#Jgl@8(A!TWB*a)^O4tg$lb{)%~4kTc0)!&$08g9EqLLBswL({AgpRs$XB zh-Or%g|Zh5*F!Iw6DWx~=C$?EEe)rrO-O^r{S{xdZ7miC*G1cIxJnM6+;DAh_L>-< zF@rrvquJ0ip}e0guZfpCC%76)shneD(tr3#NaHa<1tET^fvqo__e1Q@gEyAPac?%6 z=0;-#okyvx+t6ei5fwg2I(MlS4sw1(M9oUv)>d97QG>}}nnA?>M!F{-WVFPzpwPg# zFDOV>R2VxV0-=#;cypE>*n;9?Y`GzHjnnnAW$XFwvz6}isn1Jw`5+78BO-prw({4V z12(Y)jOONN!dZXpeAqADWWJgZT~_dTql<89ELQw3+`wTjS71T1n)? ztLtQ=z9dinK-1;-T5sZ$9F*`{TTy7U1W`@%v~y2P0=D@enc0ouNlsbbg&6*MfnHh> zuggJ?8rfYAdaq%;(5OPTfQV4s#KlL zuo?dT;w{NLQ9O@nS>%RDUmK1(mTVUK&!;HteHP?5`PrJ#9_S5;+EbS>zxo9sbEq)X zdzImgK)T{pKq`M-7?V0ZmfZ2>GY=2|*gU1zpD!ZBNA|9#(;YWg^PoFkejayaLVSH9 z(x?4KW0N;$mGah(aC!{8s8Y@b=CO4gLAJ-4g$DE{mae83-%WFK1m)Z@Tt`k>!=K9fLw((2AsQ z6XR!3kkGgBv^ThrP9*gW_1#y$ddNqB@)D!aHD9U3#~zXoD7a9@3=ZebY@J_s1df*h@l@XHb$8 z(3$+36g%h$X;J#)0@$r8z%s>>v3Ak=vRlY!>eE@Koz}tN*`F_-I;O#{9#ELw?Pq)w z@*)vIS>(8q${=_P-`2YP?wf+4bOF|HBh`VN;lG?BkM*%KTpkQDS>fI=zR0h~)k`62 z;j`=vmDZvxdlaVG$8-#n3XT5w#j+9=7^lj+)MrVb^BZMV?q5MAt7^@x_dSoT$=Vt4 z43gn8AUkM1#OD}r24EHP*7|VaaUmC^?Z*Woes#6Vb`)AEy4etvp)4pensKpXYW&_rK;MwYrvx$OsX@PRM~H^Io4g?(?nEE(r=-6oMO@qr@7TBSl*w5}`Z zy?l2bX2UU&plDcFkqXp2;zPFCw_ug3i$YPl`-v4%e+iM3OM#j}XPF`?^7T(Wu7UN7dX(<{Ix2caX{zYuH(_kXHj9Z7zw@ks`ATR~1a0KUWIoy=^W|T? z{yauHmgRU|WOX&@Navh(0FV;H{u-9 z+W?)pku-ITX9vJQ z^HAa{LX!54AOJwD5#=JviSW=&5)DL%|K;ncB8u?8z2~XRk3B^W=P7Rf1Pws& zbO(Zn>>w!7SX7b$bIPJq4iV+V;lvzKHXultST1@AC@D;25rz|wMZvuPPp$uyStLq` zY0zj9y~R{%GKj@uiog~o;&UeG1+)PT@a*4+`^N?U8PvtoPB=~l@0hB|@V5W} delta 3199 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 C(aH<}