From 44f001361e88b18496d0f35c0db59f4c63c7c539 Mon Sep 17 00:00:00 2001 From: Ding Yuntian <1491671119@qq.com> Date: Tue, 28 Apr 2026 17:33:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=AB=A0=E8=8A=82?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E9=A1=BA=E5=BA=8F=E9=94=99=E4=B9=B1=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Editor/ChapterGraph/TalkSceneSOEditor.cs | 1 - .../SceneSO/Archive/Day3_mid.asset | 1 - .../SceneSO/Archive/Day3_night.asset | 1 - .../SceneSO/Archive/Day4_mid.asset | 1 - .../SceneSO/Archive/FP_HuoShan.asset | 1 - .../SceneSO/Archive/Gts1.asset | 1 - .../SceneSO/Archive/PeipeiDay1.asset | 1 - .../SceneSO/Archive/PeipeiDay2.asset | 1 - .../SceneSO/Archive/PeipeiDay3.asset | 1 - .../SceneSO/Archive/Prologue_begin.asset | 1 - .../SceneSO/Archive/StoneDay2.asset | 1 - .../SceneSO/Archive/YingliDay1.asset | 1 - .../SceneSO/Demo/Day0_Prologue.asset | 1 - .../SceneSO/Demo/Day1_FIRST_PP1.asset | 1 - .../SceneSO/Demo/Day1_begin.asset | 1 - .../SceneSO/Demo/Day1_mid.asset | 1 - .../SceneSO/Demo/Day1_night.asset | 1 - .../SceneSO/Demo/Day1_sleep.asset | 1 - .../SceneSO/Demo/Day2_FIRST_HS1.asset | 1 - .../SceneSO/Demo/Day2_NEXT_PP2.asset | 1 - .../SceneSO/Demo/Day2_begin.asset | 1 - .../SceneSO/Demo/Day2_mid.asset | 1 - .../SceneSO/Demo/Day2_night.asset | 1 - .../SceneSO/Demo/Day2_sleep.asset | 1 - .../SceneSO/Demo/GeneralEnd.asset | 1 - .../SceneSO/Fiction/Day1_NEXT_ST1.asset | 1 - .../SceneSO/Test/TestSO.asset | 1 - .../SceneSO/Test/Test_Shitou.asset | 1 - Assets/Scripts/Game Loop/ChapterController.cs | 34 ++--------------- Assets/Scripts/Game Loop/GameManager.cs | 37 ++++++++++--------- Assets/Scripts/Game Loop/TalkSceneSO.cs | 1 - 31 files changed, 23 insertions(+), 77 deletions(-) diff --git a/Assets/Editor/ChapterGraph/TalkSceneSOEditor.cs b/Assets/Editor/ChapterGraph/TalkSceneSOEditor.cs index 7c6d1b9c6..aaef5090d 100644 --- a/Assets/Editor/ChapterGraph/TalkSceneSOEditor.cs +++ b/Assets/Editor/ChapterGraph/TalkSceneSOEditor.cs @@ -11,7 +11,6 @@ namespace AibisDream.SystemEditor serializedObject.Update(); EditorGUILayout.PropertyField(serializedObject.FindProperty("exits"), true); - EditorGUILayout.PropertyField(serializedObject.FindProperty("displayOrder")); EditorGUILayout.PropertyField(serializedObject.FindProperty("yarnProject")); EditorGUILayout.PropertyField(serializedObject.FindProperty("firstSceneName")); diff --git a/Assets/ScriptableObjects/SceneSO/Archive/Day3_mid.asset b/Assets/ScriptableObjects/SceneSO/Archive/Day3_mid.asset index c449f5e05..8d72ad35d 100644 --- a/Assets/ScriptableObjects/SceneSO/Archive/Day3_mid.asset +++ b/Assets/ScriptableObjects/SceneSO/Archive/Day3_mid.asset @@ -16,7 +16,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: aaef579ad8bdda542b503b40ce6773a8, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 640f90d7758f6524f8735352da531604, type: 3} firstSceneName: Scene/ClinicOut title: diff --git a/Assets/ScriptableObjects/SceneSO/Archive/Day3_night.asset b/Assets/ScriptableObjects/SceneSO/Archive/Day3_night.asset index 2d694b596..85f5f3a1e 100644 --- a/Assets/ScriptableObjects/SceneSO/Archive/Day3_night.asset +++ b/Assets/ScriptableObjects/SceneSO/Archive/Day3_night.asset @@ -16,7 +16,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: ff82a99e791be3e41acf40232f908eb3, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 640f90d7758f6524f8735352da531604, type: 3} firstSceneName: Scene/ClinicOut title: diff --git a/Assets/ScriptableObjects/SceneSO/Archive/Day4_mid.asset b/Assets/ScriptableObjects/SceneSO/Archive/Day4_mid.asset index 07abae7fe..fa271beae 100644 --- a/Assets/ScriptableObjects/SceneSO/Archive/Day4_mid.asset +++ b/Assets/ScriptableObjects/SceneSO/Archive/Day4_mid.asset @@ -16,7 +16,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: 362a7dfb573114247a33c0e290b698eb, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: fceb65c69f946c740992b742bc01a6a2, type: 3} firstSceneName: Scene/ClinicOut title: diff --git a/Assets/ScriptableObjects/SceneSO/Archive/FP_HuoShan.asset b/Assets/ScriptableObjects/SceneSO/Archive/FP_HuoShan.asset index 249aed938..236834fa6 100644 --- a/Assets/ScriptableObjects/SceneSO/Archive/FP_HuoShan.asset +++ b/Assets/ScriptableObjects/SceneSO/Archive/FP_HuoShan.asset @@ -16,7 +16,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: 8d8b11f0c2fbc4d4cb8c2857d98383c9, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: dc075ea1c729cec4484634a00ebb03a4, type: 3} firstSceneName: Scene/HuoShanFixScene title: diff --git a/Assets/ScriptableObjects/SceneSO/Archive/Gts1.asset b/Assets/ScriptableObjects/SceneSO/Archive/Gts1.asset index b95ec74a3..015b9e186 100644 --- a/Assets/ScriptableObjects/SceneSO/Archive/Gts1.asset +++ b/Assets/ScriptableObjects/SceneSO/Archive/Gts1.asset @@ -16,7 +16,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: 172e1298764e87a4b9ed51264b908ba9, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 31109973cccc10642a3bc09bc70f47d3, type: 3} firstSceneName: Scene/PeipeiFixScene title: "10\u5E74\u524D" diff --git a/Assets/ScriptableObjects/SceneSO/Archive/PeipeiDay1.asset b/Assets/ScriptableObjects/SceneSO/Archive/PeipeiDay1.asset index e698f1886..da0be6397 100644 --- a/Assets/ScriptableObjects/SceneSO/Archive/PeipeiDay1.asset +++ b/Assets/ScriptableObjects/SceneSO/Archive/PeipeiDay1.asset @@ -16,7 +16,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: 68a9c1b8c5230454bb9498fd2ab5714b, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 26fc6619bbcda734a81361b8bb615f04, type: 3} firstSceneName: Scene/PeipeiFixScene title: "\u4F69\u4F69" diff --git a/Assets/ScriptableObjects/SceneSO/Archive/PeipeiDay2.asset b/Assets/ScriptableObjects/SceneSO/Archive/PeipeiDay2.asset index b0f3ad756..1e9be2c7c 100644 --- a/Assets/ScriptableObjects/SceneSO/Archive/PeipeiDay2.asset +++ b/Assets/ScriptableObjects/SceneSO/Archive/PeipeiDay2.asset @@ -16,7 +16,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: afc5b01ef301cc74db7cae741acad427, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 247e2ccd847942843bb87841bb9888c5, type: 3} firstSceneName: Scene/PeipeiFixScene title: diff --git a/Assets/ScriptableObjects/SceneSO/Archive/PeipeiDay3.asset b/Assets/ScriptableObjects/SceneSO/Archive/PeipeiDay3.asset index a62ecb0e4..ef07c0a13 100644 --- a/Assets/ScriptableObjects/SceneSO/Archive/PeipeiDay3.asset +++ b/Assets/ScriptableObjects/SceneSO/Archive/PeipeiDay3.asset @@ -16,7 +16,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: e749fe0f9aa32f44097e037f52a5bfe0, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 05ccf66391562af43835d718ca36f508, type: 3} firstSceneName: Scene/PeipeiFixScene title: diff --git a/Assets/ScriptableObjects/SceneSO/Archive/Prologue_begin.asset b/Assets/ScriptableObjects/SceneSO/Archive/Prologue_begin.asset index 9eea46e7c..07ba0e4dd 100644 --- a/Assets/ScriptableObjects/SceneSO/Archive/Prologue_begin.asset +++ b/Assets/ScriptableObjects/SceneSO/Archive/Prologue_begin.asset @@ -16,7 +16,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: 2f763a2c04ecafb4981379b7363f9791, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: ab71ff7b298372f48a262ad5b949c395, type: 3} firstSceneName: Scene/OpenFixScene title: diff --git a/Assets/ScriptableObjects/SceneSO/Archive/StoneDay2.asset b/Assets/ScriptableObjects/SceneSO/Archive/StoneDay2.asset index a70b28ab2..12dea957f 100644 --- a/Assets/ScriptableObjects/SceneSO/Archive/StoneDay2.asset +++ b/Assets/ScriptableObjects/SceneSO/Archive/StoneDay2.asset @@ -16,7 +16,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: afc5b01ef301cc74db7cae741acad427, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: fa8082420f7bb5b4a8ab33a59c70bcc9, type: 3} firstSceneName: Scene/ExpressFixScene title: diff --git a/Assets/ScriptableObjects/SceneSO/Archive/YingliDay1.asset b/Assets/ScriptableObjects/SceneSO/Archive/YingliDay1.asset index a2cbf3522..4af3b0670 100644 --- a/Assets/ScriptableObjects/SceneSO/Archive/YingliDay1.asset +++ b/Assets/ScriptableObjects/SceneSO/Archive/YingliDay1.asset @@ -16,7 +16,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: e749fe0f9aa32f44097e037f52a5bfe0, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 3bb399faf6caadd4c89f85b7aa83c388, type: 3} firstSceneName: Scene/YingliFixScene title: diff --git a/Assets/ScriptableObjects/SceneSO/Demo/Day0_Prologue.asset b/Assets/ScriptableObjects/SceneSO/Demo/Day0_Prologue.asset index ab99a7aee..17dbbb3af 100644 --- a/Assets/ScriptableObjects/SceneSO/Demo/Day0_Prologue.asset +++ b/Assets/ScriptableObjects/SceneSO/Demo/Day0_Prologue.asset @@ -15,7 +15,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: ac5ca9a66ff22ab4b9cd5adbdade6b8c, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 2fa76ffaa57f62244b77be9b25ca14c2, type: 3} firstSceneName: Scene/OpenFixScene title: "\u68A6" diff --git a/Assets/ScriptableObjects/SceneSO/Demo/Day1_FIRST_PP1.asset b/Assets/ScriptableObjects/SceneSO/Demo/Day1_FIRST_PP1.asset index d8a6041da..72b390b00 100644 --- a/Assets/ScriptableObjects/SceneSO/Demo/Day1_FIRST_PP1.asset +++ b/Assets/ScriptableObjects/SceneSO/Demo/Day1_FIRST_PP1.asset @@ -15,7 +15,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: 68a9c1b8c5230454bb9498fd2ab5714b, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 26fc6619bbcda734a81361b8bb615f04, type: 3} firstSceneName: Scene/PeipeiFixScene title: "\u4F69\u4F69" diff --git a/Assets/ScriptableObjects/SceneSO/Demo/Day1_begin.asset b/Assets/ScriptableObjects/SceneSO/Demo/Day1_begin.asset index cd3bcd2c4..f7915428a 100644 --- a/Assets/ScriptableObjects/SceneSO/Demo/Day1_begin.asset +++ b/Assets/ScriptableObjects/SceneSO/Demo/Day1_begin.asset @@ -15,7 +15,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: dadf07a02eb4b8d4c8bdf1739a10c9c5, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 533dc422c8871c143a551bd5d446b439, type: 3} firstSceneName: Scene/SubWay title: "\u5730\u94C1\u4E0A" diff --git a/Assets/ScriptableObjects/SceneSO/Demo/Day1_mid.asset b/Assets/ScriptableObjects/SceneSO/Demo/Day1_mid.asset index 7d6cae9f6..b65396b84 100644 --- a/Assets/ScriptableObjects/SceneSO/Demo/Day1_mid.asset +++ b/Assets/ScriptableObjects/SceneSO/Demo/Day1_mid.asset @@ -15,7 +15,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: ada4bdc2db5594e4f860c90b3a4b9da8, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 293561ce52efc594399242651d44b366, type: 3} firstSceneName: Scene/ClinicOut title: "\u5348\u4F11" diff --git a/Assets/ScriptableObjects/SceneSO/Demo/Day1_night.asset b/Assets/ScriptableObjects/SceneSO/Demo/Day1_night.asset index 7471ec4c3..479892d34 100644 --- a/Assets/ScriptableObjects/SceneSO/Demo/Day1_night.asset +++ b/Assets/ScriptableObjects/SceneSO/Demo/Day1_night.asset @@ -15,7 +15,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: 653fbfbb55fef7740a2360590e29d552, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 29ebe788cfe2c084e88ffdd8e2f93378, type: 3} firstSceneName: Scene/ClinicOut title: "\u9152\u676F\u548C\u724C" diff --git a/Assets/ScriptableObjects/SceneSO/Demo/Day1_sleep.asset b/Assets/ScriptableObjects/SceneSO/Demo/Day1_sleep.asset index 11ef915c9..e594297da 100644 --- a/Assets/ScriptableObjects/SceneSO/Demo/Day1_sleep.asset +++ b/Assets/ScriptableObjects/SceneSO/Demo/Day1_sleep.asset @@ -15,7 +15,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: 172e1298764e87a4b9ed51264b908ba9, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 759b6e8a16f70084e8fe77eded076218, type: 3} firstSceneName: "Scene/\u68A6\u5883" title: "\u542F\u793A" diff --git a/Assets/ScriptableObjects/SceneSO/Demo/Day2_FIRST_HS1.asset b/Assets/ScriptableObjects/SceneSO/Demo/Day2_FIRST_HS1.asset index 749785e57..6c4271a11 100644 --- a/Assets/ScriptableObjects/SceneSO/Demo/Day2_FIRST_HS1.asset +++ b/Assets/ScriptableObjects/SceneSO/Demo/Day2_FIRST_HS1.asset @@ -15,7 +15,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: 8d8b11f0c2fbc4d4cb8c2857d98383c9, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: f7d7db96cdd264f4dbb3341df5deeccc, type: 3} firstSceneName: Scene/HuoShanFixScene title: "\u706B\u5C71" diff --git a/Assets/ScriptableObjects/SceneSO/Demo/Day2_NEXT_PP2.asset b/Assets/ScriptableObjects/SceneSO/Demo/Day2_NEXT_PP2.asset index 025cd6a10..546a12480 100644 --- a/Assets/ScriptableObjects/SceneSO/Demo/Day2_NEXT_PP2.asset +++ b/Assets/ScriptableObjects/SceneSO/Demo/Day2_NEXT_PP2.asset @@ -15,7 +15,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: afc5b01ef301cc74db7cae741acad427, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 247e2ccd847942843bb87841bb9888c5, type: 3} firstSceneName: Scene/PeipeiFixScene title: "\u505C\u6B62\u60F3\u8C61" diff --git a/Assets/ScriptableObjects/SceneSO/Demo/Day2_begin.asset b/Assets/ScriptableObjects/SceneSO/Demo/Day2_begin.asset index 87aeed547..085063593 100644 --- a/Assets/ScriptableObjects/SceneSO/Demo/Day2_begin.asset +++ b/Assets/ScriptableObjects/SceneSO/Demo/Day2_begin.asset @@ -15,7 +15,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: 0bdbd8e46fa688e49a5a670b78b6f956, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 6ecfe80fd0370554db9a7ec3a173f7e3, type: 3} firstSceneName: Scene/SubWay title: "\u5730\u94C1\u4E0A" diff --git a/Assets/ScriptableObjects/SceneSO/Demo/Day2_mid.asset b/Assets/ScriptableObjects/SceneSO/Demo/Day2_mid.asset index 81c56ea57..d3d66e17a 100644 --- a/Assets/ScriptableObjects/SceneSO/Demo/Day2_mid.asset +++ b/Assets/ScriptableObjects/SceneSO/Demo/Day2_mid.asset @@ -15,7 +15,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: a4dba2e2976607d45a28d4c8cade6b0a, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 25f49957c68bca34bb1aeafec7feca8b, type: 3} firstSceneName: Scene/ClinicOut title: "\u7B2C\u4E8C\u5929\u4E2D\u5348" diff --git a/Assets/ScriptableObjects/SceneSO/Demo/Day2_night.asset b/Assets/ScriptableObjects/SceneSO/Demo/Day2_night.asset index 159c5ecdf..c4e12ee1b 100644 --- a/Assets/ScriptableObjects/SceneSO/Demo/Day2_night.asset +++ b/Assets/ScriptableObjects/SceneSO/Demo/Day2_night.asset @@ -15,7 +15,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: aaef579ad8bdda542b503b40ce6773a8, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: ec06c945cb99fb544b1dd9a2a6ea9a7b, type: 3} firstSceneName: Scene/ClinicOut title: "\u5915\u9633" diff --git a/Assets/ScriptableObjects/SceneSO/Demo/Day2_sleep.asset b/Assets/ScriptableObjects/SceneSO/Demo/Day2_sleep.asset index 65f0c5576..ff012e0fa 100644 --- a/Assets/ScriptableObjects/SceneSO/Demo/Day2_sleep.asset +++ b/Assets/ScriptableObjects/SceneSO/Demo/Day2_sleep.asset @@ -15,7 +15,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: 362a7dfb573114247a33c0e290b698eb, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 62f2a99a47fc652449b846035a739529, type: 3} firstSceneName: "Scene/\u68A6\u5883" title: "\u542F\u793A" diff --git a/Assets/ScriptableObjects/SceneSO/Demo/GeneralEnd.asset b/Assets/ScriptableObjects/SceneSO/Demo/GeneralEnd.asset index 64b7aa7c0..cea7ce729 100644 --- a/Assets/ScriptableObjects/SceneSO/Demo/GeneralEnd.asset +++ b/Assets/ScriptableObjects/SceneSO/Demo/GeneralEnd.asset @@ -13,7 +13,6 @@ MonoBehaviour: m_Name: GeneralEnd m_EditorClassIdentifier: exits: [] - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: e6bac2644a8a04b4899ce2fe8ae1f4fc, type: 3} firstSceneName: Scene/Bridge title: "\u7ED3\u675F" diff --git a/Assets/ScriptableObjects/SceneSO/Fiction/Day1_NEXT_ST1.asset b/Assets/ScriptableObjects/SceneSO/Fiction/Day1_NEXT_ST1.asset index 9a337f4cd..d7a4b9680 100644 --- a/Assets/ScriptableObjects/SceneSO/Fiction/Day1_NEXT_ST1.asset +++ b/Assets/ScriptableObjects/SceneSO/Fiction/Day1_NEXT_ST1.asset @@ -16,7 +16,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: ada4bdc2db5594e4f860c90b3a4b9da8, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: 9c6e0818864e6964d83f946e81e32916, type: 3} firstSceneName: Scene/ExpressFixScene title: diff --git a/Assets/ScriptableObjects/SceneSO/Test/TestSO.asset b/Assets/ScriptableObjects/SceneSO/Test/TestSO.asset index bc634c7f4..4f49d53be 100644 --- a/Assets/ScriptableObjects/SceneSO/Test/TestSO.asset +++ b/Assets/ScriptableObjects/SceneSO/Test/TestSO.asset @@ -16,7 +16,6 @@ MonoBehaviour: exits: - exitName: default targetScene: {fileID: 11400000, guid: 10601ce26230723479d875a630f15732, type: 2} - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: b81ce7d02242fc74daf531067098286f, type: 3} firstSceneName: Scene/ExpressFixScene title: diff --git a/Assets/ScriptableObjects/SceneSO/Test/Test_Shitou.asset b/Assets/ScriptableObjects/SceneSO/Test/Test_Shitou.asset index a5173d0fa..72f9e9c77 100644 --- a/Assets/ScriptableObjects/SceneSO/Test/Test_Shitou.asset +++ b/Assets/ScriptableObjects/SceneSO/Test/Test_Shitou.asset @@ -14,7 +14,6 @@ MonoBehaviour: m_EditorClassIdentifier: nextScene: {fileID: 0} exits: [] - displayOrder: 0 yarnProject: {fileID: 7545569452688597077, guid: a2b0fa96399ebca4c9c61e346f95b037, type: 3} firstSceneName: Scene/Scene/ExpressFixScene title: "\u77F3\u5934\u7684\u5FC3" diff --git a/Assets/Scripts/Game Loop/ChapterController.cs b/Assets/Scripts/Game Loop/ChapterController.cs index ce524be1a..059b3e7cd 100644 --- a/Assets/Scripts/Game Loop/ChapterController.cs +++ b/Assets/Scripts/Game Loop/ChapterController.cs @@ -24,11 +24,7 @@ namespace AibisDream cacheChapter = ParseChapterTitle(saveFilePath); } - // 优先从 GameManager 获取全量章节并按 displayOrder 排序 - var allChapters = GameManager.Instance?.GetAllSceneSos(); - var sourceList = allChapters != null - ? allChapters.OrderBy(so => so.displayOrder).ToList() - : ChapterData.chapterList; + var sourceList = GameManager.Instance.GetAllSceneSos(); // 拼接章节列表 var chapterList = sourceList @@ -37,7 +33,7 @@ namespace AibisDream { chapterSo = chapterSo, title = chapterSo.title, - chapter = chapterSo.chapter, + chapter = chapterSo.chapter, desc = chapterSo.description, pic = chapterSo.coverPic, hasSaveFile = cacheChapter == chapterSo.name @@ -89,43 +85,19 @@ namespace AibisDream [GlobalData] public class ChapterData { - public readonly TalkSceneSO firstChapter; - public List chapterList; public List unlockedChapterList; public ChapterData() { Directory.CreateDirectory(ConstRef.SaveFilePath); - firstChapter = GameManager.Instance.firstTalkSo; - LoadChapterList(); LoadUnlockChapters(); } - private void LoadChapterList() - { - var all = GameManager.Instance?.GetAllSceneSos(); - if (all != null) - { - chapterList = all.OrderBy(so => so.displayOrder).ToList(); - } - else - { - chapterList = new List(); - var curChapter = firstChapter; - - do - { - chapterList.Add(curChapter); - curChapter = curChapter.GetNextScene(); - } while (curChapter != null && !chapterList.Contains(curChapter)); - } - } - private void LoadUnlockChapters() { unlockedChapterList = File.Exists(ConstRef.ChapterProgressPath) ? JsonUtil.ReadBeanArray(ConstRef.ChapterProgressPath).ToList() - : new List { firstChapter.name }; + : new List { GameManager.Instance.firstTalkSo.name }; } public void SaveUnloadChapters() diff --git a/Assets/Scripts/Game Loop/GameManager.cs b/Assets/Scripts/Game Loop/GameManager.cs index ee81fc312..bcab44f0b 100644 --- a/Assets/Scripts/Game Loop/GameManager.cs +++ b/Assets/Scripts/Game Loop/GameManager.cs @@ -1,15 +1,12 @@ using System; using System.Collections; using System.Collections.Generic; -using System.Linq; using AibisDream.FixSystem; using AibisDream.Framework; using AibisDream.Kit; using AibisDream.UI; using AibisDream.Utility; using UnityEngine; -using UnityEngine.AddressableAssets; -using UnityEngine.ResourceManagement.AsyncOperations; using Yarn.Unity; namespace AibisDream @@ -20,9 +17,8 @@ namespace AibisDream public GameLoopState state; - private TalkSceneSO[] _totalSceneSos; - public RunMode runMode; + private List _totalSceneSos; [Header("生产环境数据(一般不动)")] public TalkSceneSO firstTalkSo; [Header("单场景测试")] public TalkSceneSO testTalkSo; @@ -32,6 +28,11 @@ namespace AibisDream private BindProperty _currentTalkSceneSo; private readonly GameLoopData _data = new(); + + public override void OnSingletonInit() + { + LoadAllSceneSos(); + } private void Start() { @@ -42,9 +43,6 @@ namespace AibisDream // 场景So事件注册 _currentTalkSceneSo = new BindProperty(); _currentTalkSceneSo.Register(item => _data.curSceneSoName = item.name); - - // 加载SO - Addressables.LoadAssetsAsync("SceneSO", null).Completed += LoadTalkSo; #if UNITY_EDITOR if (runMode == RunMode.SingleScene) @@ -73,15 +71,17 @@ namespace AibisDream #endif } - private void LoadTalkSo(AsyncOperationHandle> handle) + private void LoadAllSceneSos() { - if (handle.Status == AsyncOperationStatus.Succeeded) + _totalSceneSos = new List(); + var visited = new HashSet(); + var current = firstTalkSo; + + while (current != null && !visited.Contains(current)) { - _totalSceneSos = handle.Result.ToArray(); - } - else - { - Debug.LogError("Failed to load textures."); + _totalSceneSos.Add(current); + visited.Add(current); + current = current.GetNextScene(); } } @@ -255,11 +255,14 @@ namespace AibisDream } } - public TalkSceneSO[] GetAllSceneSos() => _totalSceneSos; + public List GetAllSceneSos() + { + return _totalSceneSos; + } public void SetSceneSoByName(string soName) { - _currentTalkSceneSo.Value = Array.Find(_totalSceneSos, so => so.name == soName); + _currentTalkSceneSo.Value = Array.Find(_totalSceneSos.ToArray(), so => so.name == soName); } public void StartDialog() diff --git a/Assets/Scripts/Game Loop/TalkSceneSO.cs b/Assets/Scripts/Game Loop/TalkSceneSO.cs index 73d249e50..a1a5f558d 100644 --- a/Assets/Scripts/Game Loop/TalkSceneSO.cs +++ b/Assets/Scripts/Game Loop/TalkSceneSO.cs @@ -23,7 +23,6 @@ namespace AibisDream private const string DEFAULT_EXIT_NAME = "default"; public List exits = new(); - public int displayOrder; public YarnProject yarnProject;