From 810d0196192f69d3ee7adc42cf53a643772f2ec9 Mon Sep 17 00:00:00 2001 From: SoulliesOfficial Date: Tue, 21 Jul 2026 15:24:42 -0400 Subject: [PATCH] =?UTF-8?q?=E5=89=A7=E6=83=85+=E5=AF=B9=E8=AF=9D=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../000_assets/material/M_SquareFrame 1.mat | 4 +- .../Android/addressables_content_state.bin | Bin 3946 -> 3946 bytes .../Built-In Samples.unitypackage.meta | 7 + .../HDRP Samples 10x.unitypackage.meta | 7 + .../HDRP Samples 12x.unitypackage.meta | 7 + .../HDRP Samples 14x.unitypackage.meta | 7 + .../HDRP Samples 15x.unitypackage.meta | 7 + .../HDRP Samples 16x.unitypackage.meta | 7 + .../HDRP Samples 17.0.unitypackage.meta | 7 + .../HDRP Samples 17.1.unitypackage.meta | 7 + .../HDRP Samples 17.2.unitypackage.meta | 7 + .../Examples/HDRP Samples.unitypackage.meta | 7 + .../Sample Resources.unitypackage.meta | 7 + .../URP Samples 10x.unitypackage.meta | 7 + .../URP Samples 12x.unitypackage.meta | 7 + .../URP Samples 14x.unitypackage.meta | 7 + .../URP Samples 15x.unitypackage.meta | 7 + .../URP Samples 16x.unitypackage.meta | 7 + .../URP Samples 17.0.unitypackage.meta | 7 + .../URP Samples 17.1.unitypackage.meta | 7 + .../URP Samples 17.2.unitypackage.meta | 7 + .../Examples/URP Samples.unitypackage.meta | 7 + .../Templates/HDRP 10x.unitypackage.meta | 7 + .../Templates/HDRP 12x.unitypackage.meta | 7 + .../Templates/HDRP 14x.unitypackage.meta | 7 + .../Templates/HDRP 15x.unitypackage.meta | 7 + .../Templates/HDRP 16x.unitypackage.meta | 7 + .../Templates/HDRP 17.0.unitypackage.meta | 7 + .../Templates/HDRP 17.1.unitypackage.meta | 7 + .../Templates/HDRP 17.2.unitypackage.meta | 7 + .../Templates/URP 10x.unitypackage.meta | 7 + .../Templates/URP 12x.unitypackage.meta | 7 + .../Templates/URP 14x.unitypackage.meta | 7 + .../Templates/URP 15x.unitypackage.meta | 7 + .../Templates/URP 16x.unitypackage.meta | 7 + .../Templates/URP 17.0.unitypackage.meta | 7 + .../Templates/URP 17.1.unitypackage.meta | 7 + .../Templates/URP 17.2.unitypackage.meta | 7 + .../Built-in Pipeline.unitypackage.meta | 7 + .../High Definition 2022.3+.unitypackage.meta | 7 + .../High Definition 6000.0+.unitypackage.meta | 7 + .../High Definition 6000.1+.unitypackage.meta | 7 + .../High Definition 6000.2+.unitypackage.meta | 7 + .../High Definition 6000.3+.unitypackage.meta | 7 + .../Universal 2022.3+.unitypackage.meta | 7 + .../Universal 6000.0+.unitypackage.meta | 7 + .../Universal 6000.1+.unitypackage.meta | 7 + .../Universal 6000.2+.unitypackage.meta | 7 + .../Universal 6000.3+.unitypackage.meta | 7 + Assets/FR2_Cache.asset | 4 +- .../URP support.unitypackage.meta | 7 + .../Story/Chapter0_Lines Shared Data.asset | 4 +- .../Story/Chapter0_Lines_en.asset | 4 +- .../Editor/ES3Asmdefs.unitypackage.meta | 7 + ...tom Attribute Processors.unitypackage.meta | 7 + .../Demos/Custom Drawers.unitypackage.meta | 7 + .../Demos/Editor Windows.unitypackage.meta | 7 + .../Sample - RPG Editor.unitypackage.meta | 7 + .../ChapterSelection/ChapterSelection.prefab | 95 +- .../CompletedImportantTextBlock.prefab | 2 +- .../CurrentImportantTextBlock.prefab | 4 +- .../ForbiddenImportantTextBlock.prefab | 2 +- .../ImportantTextBlockUI.prefab | 149 +- .../LockedImportantTextBlock.prefab | 2 +- .../CurrentSecondaryTextBlock.prefab | 4 +- .../FinishedSecondaryTextBlock.prefab | 2 +- .../ForbiddenSecondaryTextBlock.prefab | 2 +- .../LockedSecondaryTextBlock.prefab | 2 +- .../SecondaryTextBlockUI.prefab | 149 +- .../Prefabs/Story/Blocks/SongBlockUI.prefab | 137 +- .../Story/Blocks/TutorialBlockUI.prefab | 72 +- .../Prefabs/Story/Dialog/HistoryText.prefab | 407 ++++ .../Story/Dialog/HistoryText.prefab.meta | 7 + Assets/Prefabs/Story/HelperTalk.prefab | 387 ++++ Assets/Prefabs/Story/HelperTalk.prefab.meta | 7 + .../Prefabs/Story/StoryTimelineMarker.prefab | 48 +- .../Chapter0/Space Rain/Special/Beatmap.bytes | Bin 219056 -> 232752 bytes .../Space Rain/Special/CommandScripts.bytes | Bin 192 -> 192 bytes .../Space Rain/Special/ProjectInfo.bytes | Bin 368 -> 368 bytes .../Space Rain/Special/SongInfo.bytes | Bin 240 -> 240 bytes Assets/Scenes/MenuScene.unity | 1630 +++++++++-------- Assets/Scripts/Menu/InformationTransistor.cs | 18 +- Assets/Scripts/Menu/MenuManager.cs | 10 +- .../NewStorySystem/Data/CharacterData.cs | 4 +- .../NewStorySystem/Data/CharacterRegistry.cs | 2 +- .../Data/StoryBlockDefinition.cs | 132 +- .../NewStorySystem/Data/StoryConditionNode.cs | 102 +- .../NewStorySystem/Data/StoryData.Editor.cs | 780 ++++++++ .../Data/StoryData.Editor.cs.meta | 2 + .../Scripts/NewStorySystem/Data/StoryData.cs | 295 +-- .../NewStorySystem/Data/StoryHelperData.cs | 46 +- .../Data/StoryRouteValidationGroup.cs | 30 + .../Data/StoryRouteValidationGroup.cs.meta | 2 + .../Data/StoryTimelineMarkerDefinition.cs | 24 +- .../Data/StoryVariableDefinition.cs | 74 + .../Data/StoryVariableDefinition.cs.meta | 2 + .../NewStorySystem/Data/StoryVariables.cs | 67 +- .../Dialogue/ConsoleLinePresenter.cs | 2 +- .../Dialogue/DialogueHistory.cs | 56 + .../Dialogue/DialogueHistory.cs.meta | 2 + .../Dialogue/StoryChoiceMemory.cs | 86 + .../Dialogue/StoryChoiceMemory.cs.meta | 2 + .../Dialogue/StoryDialogueController.cs | 247 ++- .../Dialogue/VNDialoguePresenter.cs | 93 +- Assets/Scripts/NewStorySystem/Editor.meta | 8 + Assets/Scripts/NewStorySystem/Helper.meta | 8 + .../StaticStoryHelperVisualPresenter.cs | 25 + .../StaticStoryHelperVisualPresenter.cs.meta | 11 + .../Helper/StoryHelperController.cs | 386 ++++ .../Helper/StoryHelperController.cs.meta | 11 + .../NewStorySystem/Helper/StoryHelperTalk.cs | 102 ++ .../Helper/StoryHelperTalk.cs.meta | 11 + .../Helper/StoryHelperVisualPresenter.cs | 15 + .../Helper/StoryHelperVisualPresenter.cs.meta | 11 + .../NewStorySystem/Progress/StoryProgress.cs | 167 +- .../Progress/StorySongEntryContext.cs | 65 + .../Progress/StorySongEntryContext.cs.meta | 2 + .../Progress/TutorialFlowController.cs | 9 +- .../Scripts/NewStorySystem/Save/StorySave.cs | 155 +- .../NewStorySystem/Save/StorySaveModule.cs | 245 ++- Assets/Scripts/NewStorySystem/StoryUIPage.cs | 22 +- .../Timeline/StoryTimelineController.cs | 103 +- .../Timeline/StoryTimelineMarkerView.cs | 27 +- .../NewStorySystem/Tree/SongBlockView.cs | 7 +- .../NewStorySystem/Tree/StoryBlockView.cs | 46 +- .../NewStorySystem/Tree/StoryManager.cs | 147 +- .../Tree/StoryTreeController.cs | 300 ++- .../NewStorySystem/Tree/TextBlockView.cs | 18 +- .../Scripts/NewStorySystem/UI/DialogUIPage.cs | 54 +- .../UI/DialogueHistoryEntryView.cs | 36 + .../UI/DialogueHistoryEntryView.cs.meta | 2 + .../NewStorySystem/UI/DialogueHistoryPage.cs | 87 + .../UI/DialogueHistoryPage.cs.meta | 2 + .../YarnFunctions/GeneralFunctions.cs | 8 +- .../YarnFunctions/StoryTreeCommands.cs | 63 +- .../YarnFunctions/VariableFunctions.cs | 79 +- Assets/Scripts/Saving/GameSaveManager.cs | 49 +- Assets/Scripts/Saving/SongStatusSave.cs | 19 +- .../ChapterSelectionUIPage.cs | 8 +- Assets/Scripts/UI/Settings/SettingsButton.cs | 54 + .../UI/Settings/SettingsButton.cs.meta | 11 + Assets/Scripts/UI/Settings/SettingsUIPage.cs | 18 +- .../UI/SongSelection/SongListControllerUI.cs | 40 + .../UI/SongSelection/SongSelectionUIPage.cs | 8 +- .../Chapter0/C0_RollbackDemo_Checkpoint.yarn | 30 + .../C0_RollbackDemo_Checkpoint.yarn.meta | 10 + .../Chapter0/C0_RollbackDemo_Convergence.yarn | 18 + .../C0_RollbackDemo_Convergence.yarn.meta | 10 + .../Story/Chapter0/C0_RollbackDemo_Intro.yarn | 9 + .../Chapter0/C0_RollbackDemo_Intro.yarn.meta | 10 + .../Chapter0/C0_RollbackDemo_Observe.yarn | 14 + .../C0_RollbackDemo_Observe.yarn.meta | 10 + .../Chapter0/C0_RollbackDemo_Protect.yarn | 14 + .../C0_RollbackDemo_Protect.yarn.meta | 10 + .../Story/Chapter0/StoryData_Chapter0.asset | 4 +- Assets/Story/StoryHelperData.asset | 4 +- .../Assembly-CSharp-generated.ysls.json | 2 +- ProjectSettings/ProjectSettings.asset | 4 +- docs/save-and-selection-system-status.md | 11 +- docs/story-programmer-integration-guide.md | 533 ++++++ docs/story-writer-yarn-guide.md | 459 +++++ 161 files changed, 7271 insertions(+), 1893 deletions(-) create mode 100644 Assets/AmplifyShaderEditor/Examples/Built-In Samples.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/HDRP Samples 10x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/HDRP Samples 12x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/HDRP Samples 14x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/HDRP Samples 15x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/HDRP Samples 16x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/HDRP Samples 17.0.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/HDRP Samples 17.1.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/HDRP Samples 17.2.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/HDRP Samples.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/Sample Resources.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/URP Samples 10x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/URP Samples 12x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/URP Samples 14x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/URP Samples 15x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/URP Samples 16x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/URP Samples 17.0.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/URP Samples 17.1.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/URP Samples 17.2.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Examples/URP Samples.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 10x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 12x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 14x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 15x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 16x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.0.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.1.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.2.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 10x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 12x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 14x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 15x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 16x.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.0.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.1.unitypackage.meta create mode 100644 Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.2.unitypackage.meta create mode 100644 Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Built-in Pipeline.unitypackage.meta create mode 100644 Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 2022.3+.unitypackage.meta create mode 100644 Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.0+.unitypackage.meta create mode 100644 Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.1+.unitypackage.meta create mode 100644 Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.2+.unitypackage.meta create mode 100644 Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.3+.unitypackage.meta create mode 100644 Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 2022.3+.unitypackage.meta create mode 100644 Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.0+.unitypackage.meta create mode 100644 Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.1+.unitypackage.meta create mode 100644 Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.2+.unitypackage.meta create mode 100644 Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.3+.unitypackage.meta create mode 100644 Assets/Le Tai's Asset/TranslucentImage/URP support.unitypackage.meta create mode 100644 Assets/Plugins/Easy Save 3/Editor/ES3Asmdefs.unitypackage.meta create mode 100644 Assets/Plugins/Sirenix/Demos/Custom Attribute Processors.unitypackage.meta create mode 100644 Assets/Plugins/Sirenix/Demos/Custom Drawers.unitypackage.meta create mode 100644 Assets/Plugins/Sirenix/Demos/Editor Windows.unitypackage.meta create mode 100644 Assets/Plugins/Sirenix/Demos/Sample - RPG Editor.unitypackage.meta create mode 100644 Assets/Prefabs/Story/Dialog/HistoryText.prefab create mode 100644 Assets/Prefabs/Story/Dialog/HistoryText.prefab.meta create mode 100644 Assets/Prefabs/Story/HelperTalk.prefab create mode 100644 Assets/Prefabs/Story/HelperTalk.prefab.meta create mode 100644 Assets/Scripts/NewStorySystem/Data/StoryData.Editor.cs create mode 100644 Assets/Scripts/NewStorySystem/Data/StoryData.Editor.cs.meta create mode 100644 Assets/Scripts/NewStorySystem/Data/StoryRouteValidationGroup.cs create mode 100644 Assets/Scripts/NewStorySystem/Data/StoryRouteValidationGroup.cs.meta create mode 100644 Assets/Scripts/NewStorySystem/Data/StoryVariableDefinition.cs create mode 100644 Assets/Scripts/NewStorySystem/Data/StoryVariableDefinition.cs.meta create mode 100644 Assets/Scripts/NewStorySystem/Dialogue/DialogueHistory.cs create mode 100644 Assets/Scripts/NewStorySystem/Dialogue/DialogueHistory.cs.meta create mode 100644 Assets/Scripts/NewStorySystem/Dialogue/StoryChoiceMemory.cs create mode 100644 Assets/Scripts/NewStorySystem/Dialogue/StoryChoiceMemory.cs.meta create mode 100644 Assets/Scripts/NewStorySystem/Editor.meta create mode 100644 Assets/Scripts/NewStorySystem/Helper.meta create mode 100644 Assets/Scripts/NewStorySystem/Helper/StaticStoryHelperVisualPresenter.cs create mode 100644 Assets/Scripts/NewStorySystem/Helper/StaticStoryHelperVisualPresenter.cs.meta create mode 100644 Assets/Scripts/NewStorySystem/Helper/StoryHelperController.cs create mode 100644 Assets/Scripts/NewStorySystem/Helper/StoryHelperController.cs.meta create mode 100644 Assets/Scripts/NewStorySystem/Helper/StoryHelperTalk.cs create mode 100644 Assets/Scripts/NewStorySystem/Helper/StoryHelperTalk.cs.meta create mode 100644 Assets/Scripts/NewStorySystem/Helper/StoryHelperVisualPresenter.cs create mode 100644 Assets/Scripts/NewStorySystem/Helper/StoryHelperVisualPresenter.cs.meta create mode 100644 Assets/Scripts/NewStorySystem/Progress/StorySongEntryContext.cs create mode 100644 Assets/Scripts/NewStorySystem/Progress/StorySongEntryContext.cs.meta create mode 100644 Assets/Scripts/NewStorySystem/UI/DialogueHistoryEntryView.cs create mode 100644 Assets/Scripts/NewStorySystem/UI/DialogueHistoryEntryView.cs.meta create mode 100644 Assets/Scripts/NewStorySystem/UI/DialogueHistoryPage.cs create mode 100644 Assets/Scripts/NewStorySystem/UI/DialogueHistoryPage.cs.meta create mode 100644 Assets/Scripts/UI/Settings/SettingsButton.cs create mode 100644 Assets/Scripts/UI/Settings/SettingsButton.cs.meta create mode 100644 Assets/Story/Chapter0/C0_RollbackDemo_Checkpoint.yarn create mode 100644 Assets/Story/Chapter0/C0_RollbackDemo_Checkpoint.yarn.meta create mode 100644 Assets/Story/Chapter0/C0_RollbackDemo_Convergence.yarn create mode 100644 Assets/Story/Chapter0/C0_RollbackDemo_Convergence.yarn.meta create mode 100644 Assets/Story/Chapter0/C0_RollbackDemo_Intro.yarn create mode 100644 Assets/Story/Chapter0/C0_RollbackDemo_Intro.yarn.meta create mode 100644 Assets/Story/Chapter0/C0_RollbackDemo_Observe.yarn create mode 100644 Assets/Story/Chapter0/C0_RollbackDemo_Observe.yarn.meta create mode 100644 Assets/Story/Chapter0/C0_RollbackDemo_Protect.yarn create mode 100644 Assets/Story/Chapter0/C0_RollbackDemo_Protect.yarn.meta create mode 100644 docs/story-programmer-integration-guide.md create mode 100644 docs/story-writer-yarn-guide.md diff --git a/Assets/000_assets/material/M_SquareFrame 1.mat b/Assets/000_assets/material/M_SquareFrame 1.mat index 3d5cdd3f..37ec1c29 100644 --- a/Assets/000_assets/material/M_SquareFrame 1.mat +++ b/Assets/000_assets/material/M_SquareFrame 1.mat @@ -213,7 +213,7 @@ Material: - _Dst: 10 - _DstBlend: 0 - _DstBlendAlpha: 0 - - _EdgeValue: 0.92061317 + - _EdgeValue: 0.4454634 - _EnvironmentReflections: 1 - _FNLfanxiangkaiguan: 0 - _Face: 1 @@ -258,7 +258,7 @@ Material: - _Mask_scale: 1 - _Metallic: 0 - _OcclusionStrength: 1 - - _Opacity: 0.07938683 + - _Opacity: 0.5545366 - _Parallax: 0.005 - _Pass: 0 - _QueueOffset: 0 diff --git a/Assets/AddressableAssetsData/Android/addressables_content_state.bin b/Assets/AddressableAssetsData/Android/addressables_content_state.bin index 625c3b8d8bc69ca6095ff7e8d53f829a72c29cc3..10c8306a50d49ed435eceffeeb8fd5caa7438225 100644 GIT binary patch delta 617 zcmb7CJ8P6d6y3#j6*s;>!D9-+&hC7x?%*oXyYI7Yf@SW z306Y>f)>Fh_NGW<5iD(e%*&g4UX?d+^`F=m$oqt7{5VPvef6v2Q{K;4hm-w*ruO$du+ zT8*}9y%H4$cCGOoTb&Md`-D8|*Urs4HW0x&1X6B?m??9vR$Ar8Q+PYBv47Wu&Y{%S bIwxs=LP=07W-Ezo^Xv8K;r2m4J%8^nl7Ft< delta 617 zcmb7?J!{lK5XSEy24WJ^C}`nvgi}zA?9T4a?t+AT00lecMB>iNLW+371X5Utg_T(S z{QxP1*a(VXZDB3g+NBXZYYT03@4kRIFvC;KGV_~fr-SL>?cu^L1SvtH+Jr^L_>3_^ zaU{i;SVP#}ojjcE^P`=;gZ=GbxP$^qRIAitP1G2evoS=5s(JruVRC9@g#oP*muxm5 zDh?|-pq!!?;c(@~i;eEi>En?{L_rL>`Wyf`15jiV@(cyV-TVFdZnwU?_2hW9H;;a= z*FWFX*_MkNtqlLQ(T9_Z=jKoUw3vy->#bb-AL{;>?qvDWsHj7X7QKPw+hM4QmzZn=Dvj3=y-9Adr_XJigt%UfJ4QTAOdyn^6s#oKs;F zL(1*6KC4KOoSjQlli`3hQYz^Eui^8T-R0HssJY-mv(8A(8iA{!HpV1E@Ki@t0 j(H*r$v7pXivL&?9HfUj+!1(CMT0-~rXy>pStlj(zrfROV diff --git a/Assets/AmplifyShaderEditor/Examples/Built-In Samples.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/Built-In Samples.unitypackage.meta new file mode 100644 index 00000000..d97f4fc6 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/Built-In Samples.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e00e6f90ab8233e46a41c5e33917c642 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/HDRP Samples 10x.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 10x.unitypackage.meta new file mode 100644 index 00000000..d4db3873 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 10x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9da5530d5ebfab24c8ecad68795e720f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/HDRP Samples 12x.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 12x.unitypackage.meta new file mode 100644 index 00000000..c3c98f27 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 12x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: aa102d640b98b5d4781710a3a3dd6983 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/HDRP Samples 14x.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 14x.unitypackage.meta new file mode 100644 index 00000000..ba827d29 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 14x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7a0bb33169d95ec499136d59cb25918b +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/HDRP Samples 15x.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 15x.unitypackage.meta new file mode 100644 index 00000000..3c5ca728 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 15x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 641c955d37d2fac4f87e00ac5c9d9bd8 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/HDRP Samples 16x.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 16x.unitypackage.meta new file mode 100644 index 00000000..249f4ab1 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 16x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2690f45490c175045bbdc63395bf6278 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/HDRP Samples 17.0.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 17.0.unitypackage.meta new file mode 100644 index 00000000..3ee0254d --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 17.0.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fbd1fd9b3a70fad429d1eaaa5799c2a5 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/HDRP Samples 17.1.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 17.1.unitypackage.meta new file mode 100644 index 00000000..4557a1b4 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 17.1.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3579d9cf4b75c564faa8fffc58a9f3f6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/HDRP Samples 17.2.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 17.2.unitypackage.meta new file mode 100644 index 00000000..677da0f0 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/HDRP Samples 17.2.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0023a0858ba124646a55dfcb7231ed46 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/HDRP Samples.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/HDRP Samples.unitypackage.meta new file mode 100644 index 00000000..872a1e1a --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/HDRP Samples.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d1c0b77896049554fa4b635531caf741 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/Sample Resources.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/Sample Resources.unitypackage.meta new file mode 100644 index 00000000..9d944382 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/Sample Resources.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c0a0a980c9ba86345bc15411db88d34f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/URP Samples 10x.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/URP Samples 10x.unitypackage.meta new file mode 100644 index 00000000..819d3c7d --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/URP Samples 10x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2edbf4a9b9544774bbef617e92429664 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/URP Samples 12x.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/URP Samples 12x.unitypackage.meta new file mode 100644 index 00000000..9c0d665d --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/URP Samples 12x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 13ab599a7bda4e54fba3e92a13c9580a +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/URP Samples 14x.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/URP Samples 14x.unitypackage.meta new file mode 100644 index 00000000..624d8621 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/URP Samples 14x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f6f268949ccf3f34fa4d18e92501ed82 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/URP Samples 15x.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/URP Samples 15x.unitypackage.meta new file mode 100644 index 00000000..7e2a8a41 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/URP Samples 15x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 69bc3229216b1504ea3e28b5820bbb0d +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/URP Samples 16x.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/URP Samples 16x.unitypackage.meta new file mode 100644 index 00000000..9d2cb068 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/URP Samples 16x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4f665a06c5a2aa5499fa1c79ac058999 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/URP Samples 17.0.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/URP Samples 17.0.unitypackage.meta new file mode 100644 index 00000000..aa70a0f5 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/URP Samples 17.0.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8a87ed432fe2d97498c0de5fae312e35 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/URP Samples 17.1.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/URP Samples 17.1.unitypackage.meta new file mode 100644 index 00000000..013c35c6 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/URP Samples 17.1.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7c3bfbbeb9427b94099254e2e2768ad4 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/URP Samples 17.2.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/URP Samples 17.2.unitypackage.meta new file mode 100644 index 00000000..42051740 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/URP Samples 17.2.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c5303861611f41c438a30be552da5de4 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Examples/URP Samples.unitypackage.meta b/Assets/AmplifyShaderEditor/Examples/URP Samples.unitypackage.meta new file mode 100644 index 00000000..da8ce241 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Examples/URP Samples.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a9d68dd8913f05d4d9ce75e7b40c6044 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 10x.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 10x.unitypackage.meta new file mode 100644 index 00000000..602bd09a --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 10x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2243c8b4e1ab6914995699133f67ab5a +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 12x.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 12x.unitypackage.meta new file mode 100644 index 00000000..e51ee6d4 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 12x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9a5e61a8b3421b944863d0946e32da0a +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 14x.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 14x.unitypackage.meta new file mode 100644 index 00000000..82a2ab0e --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 14x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 89f0b84148d149d4d96b838d7ef60e92 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 15x.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 15x.unitypackage.meta new file mode 100644 index 00000000..54836f2b --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 15x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 19939ee2cdb76e0489b1b8cd4bed7f3d +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 16x.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 16x.unitypackage.meta new file mode 100644 index 00000000..65b98bd3 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 16x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 70777e8ce9f3c8d4a8182ca2f965cdb2 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.0.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.0.unitypackage.meta new file mode 100644 index 00000000..c32e9f8f --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.0.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ba281a1a00c8ac54c914e0763299f637 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.1.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.1.unitypackage.meta new file mode 100644 index 00000000..0a18ad9c --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.1.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e6fc8948257acee42b666d0bfe1d782c +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.2.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.2.unitypackage.meta new file mode 100644 index 00000000..314aa79b --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.2.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4b5cb8698f2d9c14fadf8e2383441d37 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 10x.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 10x.unitypackage.meta new file mode 100644 index 00000000..34f23836 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 10x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b460b52e6c1feae45b70b7ddc2c45bd6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 12x.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 12x.unitypackage.meta new file mode 100644 index 00000000..04c4f886 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 12x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 57fcea0ed8b5eb347923c4c21fa31b57 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 14x.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 14x.unitypackage.meta new file mode 100644 index 00000000..d5cd3087 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 14x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2e9da72e7e3196146bf7d27450013734 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 15x.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 15x.unitypackage.meta new file mode 100644 index 00000000..0b6cd6d0 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 15x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0904cdf24ddcd5042b024326476220d5 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 16x.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 16x.unitypackage.meta new file mode 100644 index 00000000..2b33d7ab --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 16x.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 929783250050f8a448821b6ca1f2c578 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.0.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.0.unitypackage.meta new file mode 100644 index 00000000..e0b5ad87 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.0.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fcc4d2eb0af82e546ae75506872cf092 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.1.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.1.unitypackage.meta new file mode 100644 index 00000000..6338d388 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.1.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cd0a0171c5157b748afe763b89f71211 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.2.unitypackage.meta b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.2.unitypackage.meta new file mode 100644 index 00000000..47f972a0 --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.2.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f4990f6ace6142c4bbbf41cdd80b0bd3 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Built-in Pipeline.unitypackage.meta b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Built-in Pipeline.unitypackage.meta new file mode 100644 index 00000000..d4c3ffb4 --- /dev/null +++ b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Built-in Pipeline.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1782b72cd0e99a54fac09382c482e3db +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 2022.3+.unitypackage.meta b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 2022.3+.unitypackage.meta new file mode 100644 index 00000000..378f3f8d --- /dev/null +++ b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 2022.3+.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 49d5bcbbd4cbd754b98cf3200197b0f1 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.0+.unitypackage.meta b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.0+.unitypackage.meta new file mode 100644 index 00000000..2d5423a9 --- /dev/null +++ b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.0+.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: eefe45a405f061045be947217e30ed10 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.1+.unitypackage.meta b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.1+.unitypackage.meta new file mode 100644 index 00000000..ccb4a903 --- /dev/null +++ b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.1+.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2e995dfe11e22d34d92432383d15c067 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.2+.unitypackage.meta b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.2+.unitypackage.meta new file mode 100644 index 00000000..03ead5d2 --- /dev/null +++ b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.2+.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ec984c51d4ae2504184eeb292734c672 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.3+.unitypackage.meta b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.3+.unitypackage.meta new file mode 100644 index 00000000..767ec46b --- /dev/null +++ b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/High Definition 6000.3+.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e447b3d7d913d694ca35f74e30581840 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 2022.3+.unitypackage.meta b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 2022.3+.unitypackage.meta new file mode 100644 index 00000000..3502d9ed --- /dev/null +++ b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 2022.3+.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6584a66582083a1459dcf5e4e87f6d62 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.0+.unitypackage.meta b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.0+.unitypackage.meta new file mode 100644 index 00000000..615e9057 --- /dev/null +++ b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.0+.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0190b8bde50f12943926613d9a63c89a +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.1+.unitypackage.meta b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.1+.unitypackage.meta new file mode 100644 index 00000000..9835f913 --- /dev/null +++ b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.1+.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ae2ce8ad295486349839288636aed1ed +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.2+.unitypackage.meta b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.2+.unitypackage.meta new file mode 100644 index 00000000..1002df1c --- /dev/null +++ b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.2+.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d69745226619e3241a8e04ce86aee6a6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.3+.unitypackage.meta b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.3+.unitypackage.meta new file mode 100644 index 00000000..98204661 --- /dev/null +++ b/Assets/External VFXs/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines/Universal 6000.3+.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 37e6a9374416bc946a55779c58d0d984 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/FR2_Cache.asset b/Assets/FR2_Cache.asset index 64d29bb6..dd456632 100644 --- a/Assets/FR2_Cache.asset +++ b/Assets/FR2_Cache.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:472940ffbedddbf2a552dcb0ced09e9d387065de82da99292e785f4e0612b931 -size 8790986 +oid sha256:ac074a55a668cbd73b8aee7e3a71d869ea31e32879b34e54d7b7ff6783398995 +size 8836868 diff --git a/Assets/Le Tai's Asset/TranslucentImage/URP support.unitypackage.meta b/Assets/Le Tai's Asset/TranslucentImage/URP support.unitypackage.meta new file mode 100644 index 00000000..9e552100 --- /dev/null +++ b/Assets/Le Tai's Asset/TranslucentImage/URP support.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e45363610a59a4543a9793b3bf2be4aa +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Localization/Story/Chapter0_Lines Shared Data.asset b/Assets/Localization/Story/Chapter0_Lines Shared Data.asset index 9d81ebf6..52faea22 100644 --- a/Assets/Localization/Story/Chapter0_Lines Shared Data.asset +++ b/Assets/Localization/Story/Chapter0_Lines Shared Data.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:965e2068ef83fa994f9b4d26b0baf3d95c6cc8b040bb9827eb291d1c0d6481e4 -size 10132 +oid sha256:375d6452c1e1396b107cd1559ecd0f531d4bf9b0a3009d0b7c1584d9c5c48080 +size 20064 diff --git a/Assets/Localization/Story/Chapter0_Lines_en.asset b/Assets/Localization/Story/Chapter0_Lines_en.asset index f10a9f75..0a210997 100644 --- a/Assets/Localization/Story/Chapter0_Lines_en.asset +++ b/Assets/Localization/Story/Chapter0_Lines_en.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6c329b8e8bfa65c4fc4e2cec27e81588784fc73678a0cd20455c390860f19a18 -size 5998 +oid sha256:dd906c2a281779e8e45ec8be4599b16c8d00eba5642115f2e00baffb1b3e319a +size 12414 diff --git a/Assets/Plugins/Easy Save 3/Editor/ES3Asmdefs.unitypackage.meta b/Assets/Plugins/Easy Save 3/Editor/ES3Asmdefs.unitypackage.meta new file mode 100644 index 00000000..550f254c --- /dev/null +++ b/Assets/Plugins/Easy Save 3/Editor/ES3Asmdefs.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: de41a70ead12af544a4e99a925b269d2 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Sirenix/Demos/Custom Attribute Processors.unitypackage.meta b/Assets/Plugins/Sirenix/Demos/Custom Attribute Processors.unitypackage.meta new file mode 100644 index 00000000..1eadf09a --- /dev/null +++ b/Assets/Plugins/Sirenix/Demos/Custom Attribute Processors.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f597f19f656ba56eae4f6a3a7cc528f4 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Sirenix/Demos/Custom Drawers.unitypackage.meta b/Assets/Plugins/Sirenix/Demos/Custom Drawers.unitypackage.meta new file mode 100644 index 00000000..f073d2ab --- /dev/null +++ b/Assets/Plugins/Sirenix/Demos/Custom Drawers.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 48e08dc33330d11e9d4a1b246c52e4f6 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Sirenix/Demos/Editor Windows.unitypackage.meta b/Assets/Plugins/Sirenix/Demos/Editor Windows.unitypackage.meta new file mode 100644 index 00000000..130722af --- /dev/null +++ b/Assets/Plugins/Sirenix/Demos/Editor Windows.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ed09910c0094cb27be8f3ca264680da3 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Sirenix/Demos/Sample - RPG Editor.unitypackage.meta b/Assets/Plugins/Sirenix/Demos/Sample - RPG Editor.unitypackage.meta new file mode 100644 index 00000000..f9b8ed82 --- /dev/null +++ b/Assets/Plugins/Sirenix/Demos/Sample - RPG Editor.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cc355dd4cf1e6173beaeb22c2858cbe1 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Menu/ChapterSelection/ChapterSelection.prefab b/Assets/Prefabs/Menu/ChapterSelection/ChapterSelection.prefab index 56a56e86..3654ee0e 100644 --- a/Assets/Prefabs/Menu/ChapterSelection/ChapterSelection.prefab +++ b/Assets/Prefabs/Menu/ChapterSelection/ChapterSelection.prefab @@ -17,7 +17,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &4551339722402108901 RectTransform: m_ObjectHideFlags: 0 @@ -376,20 +376,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 00000000 m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -710,20 +713,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 00000000 m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -920,20 +926,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 00000000 m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -968,7 +977,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &3053449365611135054 RectTransform: m_ObjectHideFlags: 0 @@ -1129,20 +1138,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 00000000 m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -1339,20 +1351,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 00000000 m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -1473,20 +1488,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 00000000 m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -1773,20 +1791,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 00000000 m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -1947,20 +1968,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -2082,20 +2106,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -2333,20 +2360,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -2468,20 +2498,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -2603,20 +2636,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 00000000 m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -3019,20 +3055,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -3327,20 +3366,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 00000000 m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -4045,20 +4087,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -4145,6 +4190,7 @@ MonoBehaviour: enterSongSelectionButton: {fileID: 5935354699868473682} connectedChapter: {fileID: 0} chapterName: + isLocked: 0 isExpanded: 0 isDuringAnimation: 0 bottomTip: {fileID: 3369054462927452463} @@ -4477,20 +4523,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 00000000 m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -4694,20 +4743,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 00000000 m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -5137,20 +5189,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 00000000 m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 diff --git a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CompletedImportantTextBlock.prefab b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CompletedImportantTextBlock.prefab index 9de632c3..df992eda 100644 --- a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CompletedImportantTextBlock.prefab +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CompletedImportantTextBlock.prefab @@ -101,7 +101,7 @@ MonoBehaviour: m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} m_ColorMultiplier: 1 m_FadeDuration: 0.1 m_SpriteState: diff --git a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CurrentImportantTextBlock.prefab b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CurrentImportantTextBlock.prefab index 41cceaf2..741e9535 100644 --- a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CurrentImportantTextBlock.prefab +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CurrentImportantTextBlock.prefab @@ -101,7 +101,7 @@ MonoBehaviour: m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} m_ColorMultiplier: 1 m_FadeDuration: 0.1 m_SpriteState: @@ -116,7 +116,7 @@ MonoBehaviour: m_SelectedTrigger: Selected m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 1269722336407503250} + m_TargetGraphic: {fileID: 0} m_OnClick: m_PersistentCalls: m_Calls: [] diff --git a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ForbiddenImportantTextBlock.prefab b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ForbiddenImportantTextBlock.prefab index 1779aa85..57655c6e 100644 --- a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ForbiddenImportantTextBlock.prefab +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ForbiddenImportantTextBlock.prefab @@ -101,7 +101,7 @@ MonoBehaviour: m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} m_ColorMultiplier: 1 m_FadeDuration: 0.1 m_SpriteState: diff --git a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ImportantTextBlockUI.prefab b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ImportantTextBlockUI.prefab index 11db0e98..c5b5ba06 100644 --- a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ImportantTextBlockUI.prefab +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ImportantTextBlockUI.prefab @@ -11,6 +11,7 @@ GameObject: - component: {fileID: 7895181244729415272} - component: {fileID: 5622993008979475129} - component: {fileID: 7873337981602853883} + - component: {fileID: 3155030838568361280} m_Layer: 5 m_Name: Text (TMP) (1) m_TagString: Untagged @@ -138,6 +139,18 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!225 &3155030838568361280 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1266875872687906005} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 --- !u!1 &2549272938280010857 GameObject: m_ObjectHideFlags: 0 @@ -182,126 +195,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2549272938280010857} m_CullTransparentMesh: 1 ---- !u!1 &2947357181438598616 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 808855937929311006} - - component: {fileID: 3938143345111524688} - - component: {fileID: 1269722336407503250} - - component: {fileID: 3931523710101296998} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &808855937929311006 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2947357181438598616} - 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: 5350638854831129010} - 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!222 &3938143345111524688 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2947357181438598616} - m_CullTransparentMesh: 1 ---- !u!114 &1269722336407503250 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2947357181438598616} - 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: ba2e784cfa5cc0549bf66051f872367c, 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!114 &3931523710101296998 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2947357181438598616} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1269722336407503250} - m_OnClick: - m_PersistentCalls: - m_Calls: [] --- !u!1 &5694744930588099522 GameObject: m_ObjectHideFlags: 0 @@ -357,6 +250,7 @@ GameObject: - component: {fileID: 9095470796084918386} - component: {fileID: 606259940963463531} - component: {fileID: 8391808794720387191} + - component: {fileID: 8456607026273325819} m_Layer: 5 m_Name: Text (TMP) m_TagString: Untagged @@ -484,6 +378,18 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!225 &8456607026273325819 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7991069327751894070} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 --- !u!1 &8279096577214194803 GameObject: m_ObjectHideFlags: 0 @@ -514,7 +420,6 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 808855937929311006} - {fileID: 9095470796084918386} - {fileID: 7895181244729415272} - {fileID: 5784757909052703056} @@ -638,6 +543,6 @@ MonoBehaviour: blockRect: {fileID: 5350638854831129010} inPort: {fileID: 5784757909052703056} outPort: {fileID: 4937946904652960982} - button: {fileID: 3931523710101296998} + button: {fileID: 0} storyIdText: {fileID: 8391808794720387191} titleText: {fileID: 8391808794720387191} diff --git a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/LockedImportantTextBlock.prefab b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/LockedImportantTextBlock.prefab index f8b7d167..ce2540f1 100644 --- a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/LockedImportantTextBlock.prefab +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/LockedImportantTextBlock.prefab @@ -101,7 +101,7 @@ MonoBehaviour: m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} m_ColorMultiplier: 1 m_FadeDuration: 0.1 m_SpriteState: diff --git a/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/CurrentSecondaryTextBlock.prefab b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/CurrentSecondaryTextBlock.prefab index d0d7a415..d1ff249f 100644 --- a/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/CurrentSecondaryTextBlock.prefab +++ b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/CurrentSecondaryTextBlock.prefab @@ -101,7 +101,7 @@ MonoBehaviour: m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} m_ColorMultiplier: 1 m_FadeDuration: 0.1 m_SpriteState: @@ -116,7 +116,7 @@ MonoBehaviour: m_SelectedTrigger: Selected m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 1269722336407503250} + m_TargetGraphic: {fileID: 0} m_OnClick: m_PersistentCalls: m_Calls: [] diff --git a/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/FinishedSecondaryTextBlock.prefab b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/FinishedSecondaryTextBlock.prefab index b0bd47ed..a0d6b631 100644 --- a/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/FinishedSecondaryTextBlock.prefab +++ b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/FinishedSecondaryTextBlock.prefab @@ -101,7 +101,7 @@ MonoBehaviour: m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} m_ColorMultiplier: 1 m_FadeDuration: 0.1 m_SpriteState: diff --git a/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/ForbiddenSecondaryTextBlock.prefab b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/ForbiddenSecondaryTextBlock.prefab index bb75ea17..57098022 100644 --- a/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/ForbiddenSecondaryTextBlock.prefab +++ b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/ForbiddenSecondaryTextBlock.prefab @@ -221,7 +221,7 @@ MonoBehaviour: m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} m_ColorMultiplier: 1 m_FadeDuration: 0.1 m_SpriteState: diff --git a/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/LockedSecondaryTextBlock.prefab b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/LockedSecondaryTextBlock.prefab index b547c3af..0f2122f1 100644 --- a/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/LockedSecondaryTextBlock.prefab +++ b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/LockedSecondaryTextBlock.prefab @@ -101,7 +101,7 @@ MonoBehaviour: m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} m_ColorMultiplier: 1 m_FadeDuration: 0.1 m_SpriteState: diff --git a/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/SecondaryTextBlockUI.prefab b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/SecondaryTextBlockUI.prefab index 44602d7f..27c8e76c 100644 --- a/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/SecondaryTextBlockUI.prefab +++ b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/SecondaryTextBlockUI.prefab @@ -150,126 +150,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &2947357181438598616 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 808855937929311006} - - component: {fileID: 464408401004507889} - - component: {fileID: 5684991247721594449} - - component: {fileID: 3931523710101296998} - m_Layer: 5 - m_Name: Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &808855937929311006 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2947357181438598616} - 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: 5350638854831129010} - 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!222 &464408401004507889 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2947357181438598616} - m_CullTransparentMesh: 1 ---- !u!114 &5684991247721594449 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2947357181438598616} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0} - 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: 0} - 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!114 &3931523710101296998 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2947357181438598616} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 5684991247721594449} - m_OnClick: - m_PersistentCalls: - m_Calls: [] --- !u!1 &3472041800732464321 GameObject: m_ObjectHideFlags: 0 @@ -281,6 +161,7 @@ GameObject: - component: {fileID: 6776097071409445873} - component: {fileID: 5860881451225714455} - component: {fileID: 4081607830298877796} + - component: {fileID: 5567213864031973997} m_Layer: 5 m_Name: TitleText m_TagString: Untagged @@ -408,6 +289,18 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!225 &5567213864031973997 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3472041800732464321} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 --- !u!1 &7991069327751894070 GameObject: m_ObjectHideFlags: 0 @@ -419,6 +312,7 @@ GameObject: - component: {fileID: 9095470796084918386} - component: {fileID: 606259940963463531} - component: {fileID: 8391808794720387191} + - component: {fileID: 7157907970610375421} m_Layer: 5 m_Name: StoryIdText m_TagString: Untagged @@ -546,6 +440,18 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!225 &7157907970610375421 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7991069327751894070} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 --- !u!1 &8279096577214194803 GameObject: m_ObjectHideFlags: 0 @@ -580,7 +486,6 @@ RectTransform: - {fileID: 6776097071409445873} - {fileID: 8088187650405042001} - {fileID: 5120337310990590007} - - {fileID: 808855937929311006} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} @@ -687,6 +592,6 @@ MonoBehaviour: blockRect: {fileID: 5350638854831129010} inPort: {fileID: 8088187650405042001} outPort: {fileID: 5120337310990590007} - button: {fileID: 3931523710101296998} + button: {fileID: 0} storyIdText: {fileID: 8391808794720387191} titleText: {fileID: 4081607830298877796} diff --git a/Assets/Prefabs/Story/Blocks/SongBlockUI.prefab b/Assets/Prefabs/Story/Blocks/SongBlockUI.prefab index 1b551e86..e34cf6c2 100644 --- a/Assets/Prefabs/Story/Blocks/SongBlockUI.prefab +++ b/Assets/Prefabs/Story/Blocks/SongBlockUI.prefab @@ -1,94 +1,5 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &629758055316317495 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5620483555661743440} - - component: {fileID: 808211794615970900} - - component: {fileID: 1717850242396468755} - m_Layer: 5 - m_Name: Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5620483555661743440 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 629758055316317495} - 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: 5350638854831129010} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 2.75, y: -1} - m_SizeDelta: {x: -25.5, y: -22} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &808211794615970900 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 629758055316317495} - m_CullTransparentMesh: 1 ---- !u!114 &1717850242396468755 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 629758055316317495} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 0 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 0} - m_OnClick: - m_PersistentCalls: - m_Calls: [] --- !u!1 &847642077185086423 GameObject: m_ObjectHideFlags: 0 @@ -257,6 +168,7 @@ GameObject: - component: {fileID: 1824825661128247125} - component: {fileID: 6839066121088903434} - component: {fileID: 4619121194727073750} + - component: {fileID: 6000241608163664205} m_Layer: 5 m_Name: Mask m_TagString: Untagged @@ -335,6 +247,50 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Mask m_ShowMaskGraphic: 0 +--- !u!114 &6000241608163664205 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2685032725291833036} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 5963302735353550978} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &2947357181438598616 GameObject: m_ObjectHideFlags: 0 @@ -1053,7 +1009,6 @@ RectTransform: - {fileID: 530893922272850372} - {fileID: 5732796955640118753} - {fileID: 4908100188787544557} - - {fileID: 5620483555661743440} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} @@ -1095,7 +1050,7 @@ MonoBehaviour: blockRect: {fileID: 5350638854831129010} inPort: {fileID: 5732796955640118753} outPort: {fileID: 4908100188787544557} - button: {fileID: 1717850242396468755} + button: {fileID: 6000241608163664205} illustrationImage: {fileID: 5963302735353550978} illustrationRect: {fileID: 4492029902276622460} songNameText: {fileID: 8391808794720387191} diff --git a/Assets/Prefabs/Story/Blocks/TutorialBlockUI.prefab b/Assets/Prefabs/Story/Blocks/TutorialBlockUI.prefab index 6e48164a..ec4357b5 100644 --- a/Assets/Prefabs/Story/Blocks/TutorialBlockUI.prefab +++ b/Assets/Prefabs/Story/Blocks/TutorialBlockUI.prefab @@ -55,6 +55,7 @@ GameObject: - component: {fileID: 808855937929311006} - component: {fileID: 3938143345111524688} - component: {fileID: 1269722336407503250} + - component: {fileID: 2589979841992238672} m_Layer: 5 m_Name: Image m_TagString: Untagged @@ -119,63 +120,18 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &2971854550119419744 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6723909345398867291} - - component: {fileID: 1883720140888459607} - - component: {fileID: 1506827284251123157} - m_Layer: 5 - m_Name: Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6723909345398867291 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2971854550119419744} - 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: 5350638854831129010} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0.5, y: -7.5} - m_SizeDelta: {x: -31, y: -29} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1883720140888459607 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2971854550119419744} - m_CullTransparentMesh: 1 ---- !u!114 &1506827284251123157 +--- !u!114 &2589979841992238672 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2971854550119419744} + m_GameObject: {fileID: 2947357181438598616} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} m_Name: - m_EditorClassIdentifier: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button m_Navigation: m_Mode: 3 m_WrapAround: 0 @@ -183,7 +139,7 @@ MonoBehaviour: m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} m_SelectOnRight: {fileID: 0} - m_Transition: 0 + m_Transition: 1 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} @@ -204,7 +160,7 @@ MonoBehaviour: m_SelectedTrigger: Selected m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 0} + m_TargetGraphic: {fileID: 1269722336407503250} m_OnClick: m_PersistentCalls: m_Calls: [] @@ -263,6 +219,7 @@ GameObject: - component: {fileID: 9095470796084918386} - component: {fileID: 606259940963463531} - component: {fileID: 8391808794720387191} + - component: {fileID: 2409804111795149599} m_Layer: 5 m_Name: Text (TMP) m_TagString: Untagged @@ -390,6 +347,18 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!225 &2409804111795149599 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7991069327751894070} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 --- !u!1 &8279096577214194803 GameObject: m_ObjectHideFlags: 0 @@ -424,7 +393,6 @@ RectTransform: - {fileID: 9095470796084918386} - {fileID: 5784757909052703056} - {fileID: 4937946904652960982} - - {fileID: 6723909345398867291} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} @@ -466,5 +434,5 @@ MonoBehaviour: blockRect: {fileID: 5350638854831129010} inPort: {fileID: 5784757909052703056} outPort: {fileID: 4937946904652960982} - button: {fileID: 1506827284251123157} + button: {fileID: 2589979841992238672} tutorialNameText: {fileID: 8391808794720387191} diff --git a/Assets/Prefabs/Story/Dialog/HistoryText.prefab b/Assets/Prefabs/Story/Dialog/HistoryText.prefab new file mode 100644 index 00000000..7a596c3c --- /dev/null +++ b/Assets/Prefabs/Story/Dialog/HistoryText.prefab @@ -0,0 +1,407 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &65537282130585173 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1643897006236830438} + - component: {fileID: 6202551277621388703} + - component: {fileID: 6295076540922261237} + m_Layer: 5 + m_Name: Speaker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1643897006236830438 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 65537282130585173} + 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: 5159032239856795640} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 225, y: 0} + m_SizeDelta: {x: 250, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6202551277621388703 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 65537282130585173} + m_CullTransparentMesh: 1 +--- !u!114 &6295076540922261237 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 65537282130585173} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + 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_text: "Speaker: \n" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2} + m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 42 + m_fontSizeBase: 42 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &1609519350888832602 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4891349041236814278} + - component: {fileID: 4388088537228770510} + - component: {fileID: 5176135775194928437} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4891349041236814278 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1609519350888832602} + 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: 5159032239856795640} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 175.00002, y: 0} + m_SizeDelta: {x: -349.99997, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4388088537228770510 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1609519350888832602} + m_CullTransparentMesh: 1 +--- !u!114 &5176135775194928437 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1609519350888832602} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI + 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_text: Content + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2} + m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 42 + m_fontSizeBase: 42 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &3327801269455335983 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5159032239856795640} + - component: {fileID: 5965612576668694196} + m_Layer: 5 + m_Name: HistoryText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5159032239856795640 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3327801269455335983} + 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: + - {fileID: 1643897006236830438} + - {fileID: 4891349041236814278} + - {fileID: 572619156665643296} + 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: 2560, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &5965612576668694196 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3327801269455335983} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: eaf151163c994d31bfabde12ede0fa98, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Ichni.Story.UI.DialogueHistoryEntryView + speakerText: {fileID: 6295076540922261237} + contentText: {fileID: 5176135775194928437} + choiceIndicator: {fileID: 4440795975948891807} +--- !u!1 &4440795975948891807 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 572619156665643296} + - component: {fileID: 7654607494418361635} + - component: {fileID: 4823002412552371432} + m_Layer: 5 + m_Name: ChoiceIndicator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &572619156665643296 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4440795975948891807} + 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: 5159032239856795640} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 50, y: 0} + m_SizeDelta: {x: 25, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7654607494418361635 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4440795975948891807} + m_CullTransparentMesh: 1 +--- !u!114 &4823002412552371432 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4440795975948891807} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + 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: 0} + 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 diff --git a/Assets/Prefabs/Story/Dialog/HistoryText.prefab.meta b/Assets/Prefabs/Story/Dialog/HistoryText.prefab.meta new file mode 100644 index 00000000..444efdf3 --- /dev/null +++ b/Assets/Prefabs/Story/Dialog/HistoryText.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 75e7242449b105748a3d9a0864ce1391 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Story/HelperTalk.prefab b/Assets/Prefabs/Story/HelperTalk.prefab new file mode 100644 index 00000000..217a9c6b --- /dev/null +++ b/Assets/Prefabs/Story/HelperTalk.prefab @@ -0,0 +1,387 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1508090727333609782 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4686535100579303134} + - component: {fileID: 287764825431730093} + - component: {fileID: 604884221485964818} + - component: {fileID: -2678516924990041575} + - component: {fileID: 4403268097300063903} + m_Layer: 5 + m_Name: HelperTalk + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4686535100579303134 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1508090727333609782} + 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: + - {fileID: 7502641187092686647} + - {fileID: 3218827982254574115} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 700, y: 270} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &287764825431730093 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1508090727333609782} + m_CullTransparentMesh: 1 +--- !u!114 &604884221485964818 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1508090727333609782} + 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: 8746c977baa2dfb42a2e1acd589d3c5b, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!225 &-2678516924990041575 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1508090727333609782} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!114 &4403268097300063903 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1508090727333609782} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e8bca20cc0f14b97944b95bdcf47d506, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Ichni.Story.StoryHelperTalk + speakerText: {fileID: 966082263634710134} + contentText: {fileID: 5450284912810547205} + showDuration: 0.18 + visibleDuration: 4.5 + hideDuration: 0.16 + initialScaleMultiplier: 0.92 +--- !u!1 &3587908678025149924 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3218827982254574115} + - component: {fileID: 904411096527340721} + - component: {fileID: 5450284912810547205} + m_Layer: 5 + m_Name: HelperText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3218827982254574115 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3587908678025149924} + 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: 4686535100579303134} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 17.5, y: -7.5} + m_SizeDelta: {x: -85, y: -165} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &904411096527340721 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3587908678025149924} + m_CullTransparentMesh: 1 +--- !u!114 &5450284912810547205 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3587908678025149924} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: "\u95F9\u9EBB\u4E86" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 73f9a9bb620a2b040ab7347b390452fe, type: 2} + m_sharedMaterial: {fileID: 1291443754377433884, guid: 73f9a9bb620a2b040ab7347b390452fe, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 32 + m_fontSizeBase: 32 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 18 + m_fontSizeMax: 32 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &7936195258843532652 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7502641187092686647} + - component: {fileID: 5167521932169979174} + - component: {fileID: 966082263634710134} + m_Layer: 5 + m_Name: HelperName + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7502641187092686647 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7936195258843532652} + 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: 4686535100579303134} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 200, y: -55} + m_SizeDelta: {x: 300, y: 45} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5167521932169979174 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7936195258843532652} + m_CullTransparentMesh: 1 +--- !u!114 &966082263634710134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7936195258843532652} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: "\u95F9\u9EBB\u4E86" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 73f9a9bb620a2b040ab7347b390452fe, type: 2} + m_sharedMaterial: {fileID: 1291443754377433884, guid: 73f9a9bb620a2b040ab7347b390452fe, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 37.2 + m_fontSizeBase: 32 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 18 + m_fontSizeMax: 42 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/Prefabs/Story/HelperTalk.prefab.meta b/Assets/Prefabs/Story/HelperTalk.prefab.meta new file mode 100644 index 00000000..2c7232cf --- /dev/null +++ b/Assets/Prefabs/Story/HelperTalk.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 40df11d39d80e2f4785e492c3b1d1a10 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Story/StoryTimelineMarker.prefab b/Assets/Prefabs/Story/StoryTimelineMarker.prefab index 7cc0009a..1cb5fd66 100644 --- a/Assets/Prefabs/Story/StoryTimelineMarker.prefab +++ b/Assets/Prefabs/Story/StoryTimelineMarker.prefab @@ -10,6 +10,7 @@ GameObject: m_Component: - component: {fileID: 4290474858249249208} - component: {fileID: 483471027588563956} + - component: {fileID: 6009244213662721001} m_Layer: 5 m_Name: StoryTimelineMarker m_TagString: Untagged @@ -48,10 +49,55 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 5fa49b969e984456985eec86f0275d7d, type: 3} - m_Name: + m_Name: m_EditorClassIdentifier: Assembly-CSharp::Ichni.Story.UI.StoryTimelineMarkerView markerRect: {fileID: 4290474858249249208} labelText: {fileID: 3350283590570236064} + button: {fileID: 6009244213662721001} +--- !u!114 &6009244213662721001 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1574009245387883632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: "" + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 1, g: 1, b: 1, a: 1} + m_PressedColor: {r: 1, g: 1, b: 1, a: 1} + m_SelectedColor: {r: 1, g: 1, b: 1, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 0.5} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 940605879243566513} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &4209846266689669036 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/Beatmap.bytes b/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/Beatmap.bytes index 0e797e6db1aed639f53af416c23a2078f03e5171..145d4d17303811489b3c1a9d4dd209b28495ad86 100644 GIT binary patch literal 232752 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%0DM@ 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ΝWmzdsGfs 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 literal 219056 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

7(r5) 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 z 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 z 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%0AO{HEax#@ipa{Pg4$1bHnePLtF-5SCEOV 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 DiOW~v diff --git a/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/CommandScripts.bytes b/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/CommandScripts.bytes index b254fa901c8ac44bfe24d310b69e361038090017..0080eaa53f4a075dd2288b8e64cd0030f93f9e3d 100644 GIT binary patch literal 192 zcmV;x06+i7=<+OY2yH+7!$D_d;AZ!JTaT7=Mq8V@z!2)peUEa!|IemtC#Xj{NYP@d z@>Mc#>`?Lsc#6?Ukl2e+3U7y8AW?7%5#`1|uGdCq@CBuNjo?INp5iYyL#XsqKEug{ zhYzu!k6rVs2%flo3*|-r+of?c{SRsD`=1x0!*Lb*XS`tpfN1fr2?29SkJd$7_+`+V uuV}9FOwuAKW8=dbq1>abrU-sB*Ifgm@~DjAr|O0*PI%CPz0it{A(EQLt7ORl literal 192 zcmV;x06+f;&i|X^;y0PyJd&)7w%8LyzM;Hxh%ez_h&fAxwG$5F&D_+tH_iO6j4bwT zslKy=Co9qAX!kRwNSKB-yws3N|9fB3q_2X!+=xv}rcmO4szxV%KtGKLT*ycl-hd2VkgA%M&UU%x0*)!XEdIZNdZ;J8TEeP4F~ diff --git a/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/ProjectInfo.bytes b/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/ProjectInfo.bytes index f021318f51cf0e656097222d5e81b29f42efc0fa..da170462152a5b07c147638c313929b35188cbd0 100644 GIT binary patch literal 368 zcmV-$0gwKje{DBIT4WG~o@CbOg}K$L2gz}6OUr|I3~s|whL3q5%9J&2mO zKz))6%xz-rdQ9k}j_VyWokJfl&{ByVLB&}Tstr#n2dsD{?_awIo70yRJLzMNDx{D; zsu@^^H2J>uUg_Nam>@?j;MgWhv*;4-aR^V~kR|W!z8f=EWEhL~2$+SZ)~4d?UrZTn zr}FbVA0ff}m9^S$S#%xf!NFAfWuX1@5 zOsws{{DC{PwkU!Yz^d}5n;%w9B{-iYNwwS{&o(i=GqAayslEDkuWEPY4y`GjdhpNI zt)VAJZ|XmqaaG%k9MWHG?EtRnw~6icm5lO;^dI$dB{>WgK~u&wXwG&S^P}50Q(0Z( zQ~bOSQWGFlG4cJZ$EW%Mx-sr>!G+E#71^w3Ic!uKC#4D+~US>pX^=%eI8FY2j%eN2GgSGhe9J`M_VW zC}&m04X2Ic?aSPT<_ehHsw5$l^CbE9fK;0+?8~98**!pGep{H}54;g*_|bTxk!aiJ OP3$u0!prw?v~O1_7`#dV diff --git a/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/SongInfo.bytes b/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/SongInfo.bytes index d3fb91de6ea5ce30a0ead6445e135b6cf0fcc97d..0c833f01cfd08350aa5d61f9750708eae4a7a3a2 100644 GIT binary patch literal 240 zcmVb*X+El zTOoe7TcqaN*`t|0t`{l(3rMWpv~8#*fy<YUzb*_dvj2~J-Hj0UAXZ&AbCsP*IxqSry literal 240 zcmVi%x|k-F-^+rr`5wJ6a*)Ef+IfIFUTH3< z`G?(239+-F4Hi}j=-Ue`G2M7sLeah})f;S}9#mOHjc!nT-BSUbR4XlFGU9tHXKD9c zLazMFnw=D3rX7*J?DHu2OcWGo@tc(gG6N)6aHg=mbt>5!;2lv%c@Z99ep}Idwgi(? z+9AgyE)TNfEmJRg940zyftgyt_NQKX qlAlNz(eMx(v;@ZPyjb4%goGR1<|Xw4e&p0!w=kIrdP>6o1ElIC6><~+ diff --git a/Assets/Scenes/MenuScene.unity b/Assets/Scenes/MenuScene.unity index 60997155..83a07ae3 100644 --- a/Assets/Scenes/MenuScene.unity +++ b/Assets/Scenes/MenuScene.unity @@ -859,6 +859,7 @@ GameObject: - component: {fileID: 39339086} - component: {fileID: 39339088} - component: {fileID: 39339087} + - component: {fileID: 39339089} m_Layer: 5 m_Name: Image m_TagString: Untagged @@ -923,6 +924,19 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 39339085} m_CullTransparentMesh: 1 +--- !u!114 &39339089 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 39339085} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c31f8bd5e6ca44399645c4f7cb21e0ad, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Ichni.Story.StaticStoryHelperVisualPresenter + portraitImage: {fileID: 39339087} --- !u!1 &48744551 GameObject: m_ObjectHideFlags: 0 @@ -2010,7 +2024,7 @@ MonoBehaviour: columnStep: 720 rowStep: 525 marginLeft: 50 - helperReservedLeftSpace: 400 + helperReservedLeftSpace: 1600 marginRight: 50 marginTop: 50 marginBottom: 50 @@ -3102,83 +3116,6 @@ CanvasGroup: m_Interactable: 1 m_BlocksRaycasts: 1 m_IgnoreParentGroups: 0 ---- !u!1 &179146692 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 179146693} - - component: {fileID: 179146695} - - component: {fileID: 179146694} - m_Layer: 5 - m_Name: HelperTalk - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &179146693 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 179146692} - 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: - - {fileID: 822876208} - - {fileID: 1047641975} - m_Father: {fileID: 1119493264} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 149.99997} - m_SizeDelta: {x: 700, y: 270} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &179146694 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 179146692} - 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: 8746c977baa2dfb42a2e1acd589d3c5b, type: 3} - m_Type: 0 - m_PreserveAspect: 1 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &179146695 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 179146692} - m_CullTransparentMesh: 1 --- !u!1 &190695849 GameObject: m_ObjectHideFlags: 0 @@ -3597,81 +3534,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 212689266} m_CullTransparentMesh: 1 ---- !u!1 &213267826 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 213267827} - - component: {fileID: 213267829} - - component: {fileID: 213267828} - m_Layer: 5 - m_Name: SampleImage - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &213267827 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 213267826} - 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: 6347218673911890593} - 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 &213267828 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 213267826} - 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: 6e71ed9739e49af48a43129d9e16dc6f, 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 &213267829 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 213267826} - m_CullTransparentMesh: 1 --- !u!1 &217492843 GameObject: m_ObjectHideFlags: 0 @@ -3892,7 +3754,7 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 265943988} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + 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 @@ -3903,7 +3765,7 @@ RectTransform: - {fileID: 600935697} - {fileID: 314360845} - {fileID: 761436471} - m_Father: {fileID: 1365808733} + m_Father: {fileID: 708872017} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} @@ -4414,16 +4276,16 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 290007303} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + 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: 1365808733} + m_Father: {fileID: 708872017} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: -650} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: 70} m_SizeDelta: {x: 1000, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &290007305 @@ -4712,7 +4574,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 200, y: 50} + m_AnchoredPosition: {x: 200, y: -150} m_SizeDelta: {x: 328, y: 192} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &314360846 @@ -7413,6 +7275,9 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::Ichni.Story.Dialogue.StoryDialogueController dialogueRunner: {fileID: 449802389} storyUIPage: {fileID: 78737089} + yarnLinesTable: + m_TableReference: + m_TableCollectionName: --- !u!114 &449802391 MonoBehaviour: m_ObjectHideFlags: 0 @@ -8273,7 +8138,7 @@ GameObject: - component: {fileID: 490649580} - component: {fileID: 490649579} m_Layer: 5 - m_Name: SkipButton + m_Name: FastButton m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -8406,17 +8271,17 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 491543717} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + 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: 1365808733} + m_Father: {fileID: 708872017} 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_SizeDelta: {x: 0, y: -0.68322754} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &491543719 MonoBehaviour: @@ -8808,7 +8673,6 @@ MonoBehaviour: mainCanvasGroup: {fileID: 1296688837} chapterContainer: {fileID: 3166036863631877736} containerLayoutGroup: {fileID: 3166036863631877740} - settingsButton: {fileID: 1937063705} chapterSelectionUIPrefab: {fileID: 7049295459616353709, guid: f536078f3fe8e764aba92be12b81c2c4, type: 3} --- !u!1 &520601618 @@ -9355,144 +9219,6 @@ MonoBehaviour: mGUI_ShowCallback: 0 mLocalizeTarget: {fileID: 1567730149} mLocalizeTargetName: I2.Loc.LocalizeTarget_TextMeshPro_UGUI ---- !u!1 &582350574 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 582350575} - - component: {fileID: 582350577} - - component: {fileID: 582350576} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &582350575 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 582350574} - 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: 1129805216} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: -25} - m_SizeDelta: {x: 200, y: 20} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &582350576 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 582350574} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: -Settings- - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 19a92ec938f7b364dad1975875f9fe3a, type: 2} - m_sharedMaterial: {fileID: -5812992765432063453, guid: 19a92ec938f7b364dad1975875f9fe3a, - type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 24 - m_fontSizeBase: 24 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 10 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &582350577 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 582350574} - m_CullTransparentMesh: 1 --- !u!1 &600935696 GameObject: m_ObjectHideFlags: 0 @@ -9528,7 +9254,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 200, y: -50} + m_AnchoredPosition: {x: 200, y: 150} m_SizeDelta: {x: 328, y: 192} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &600935698 @@ -9611,12 +9337,13 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 1657412686} m_Father: {fileID: 1672615611} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 0, y: 0.5} - m_AnchoredPosition: {x: 200, y: 0} + m_AnchoredPosition: {x: 600, y: 0} m_SizeDelta: {x: 235, y: 1080} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &603195650 @@ -10204,81 +9931,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 5151cbfb4a7c39c4599fb711d3332cbd, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &621188556 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 621188557} - - component: {fileID: 621188559} - - component: {fileID: 621188558} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &621188557 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 621188556} - 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: 869340149} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 2560, y: 1440} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &621188558 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 621188556} - 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: 0.105882354} - 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: a5742c5f03bacf94c8a95659f8f36466, 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 &621188559 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 621188556} - m_CullTransparentMesh: 1 --- !u!1 &631888791 GameObject: m_ObjectHideFlags: 0 @@ -10430,7 +10082,7 @@ MonoBehaviour: m_text: m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2} - m_sharedMaterial: {fileID: -5812992765432063453, guid: 19a92ec938f7b364dad1975875f9fe3a, + m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} @@ -10478,7 +10130,7 @@ MonoBehaviour: m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 - m_ActiveFontFeatures: 00000000 + m_ActiveFontFeatures: 6e72656b m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 @@ -10497,7 +10149,7 @@ MonoBehaviour: m_margin: {x: 0, y: 0, z: 0, w: 0} m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 - m_hasFontAssetChanged: 1 + m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!222 &642366237 @@ -11775,7 +11427,7 @@ MonoBehaviour: m_UiScaleMode: 1 m_ReferencePixelsPerUnit: 100 m_ScaleFactor: 1 - m_ReferenceResolution: {x: 1920, y: 1080} + m_ReferenceResolution: {x: 2560, y: 1440} m_ScreenMatchMode: 0 m_MatchWidthOrHeight: 0 m_PhysicalUnit: 3 @@ -11818,8 +11470,13 @@ RectTransform: m_LocalScale: {x: 0, y: 0, z: 0} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 1364566253} + - {fileID: 1028956953} + - {fileID: 265943989} + - {fileID: 1424785511} + - {fileID: 290007304} + - {fileID: 1672615611} - {fileID: 1365808733} + - {fileID: 491543718} - {fileID: 1589396086} m_Father: {fileID: 1998834542} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -12570,7 +12227,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -200, y: 50} + m_AnchoredPosition: {x: -200, y: -150} m_SizeDelta: {x: 328, y: 192} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &761436472 @@ -13869,144 +13526,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 820445455} m_CullTransparentMesh: 1 ---- !u!1 &822876207 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 822876208} - - component: {fileID: 822876210} - - component: {fileID: 822876209} - m_Layer: 5 - m_Name: HelperName - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &822876208 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 822876207} - 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: 179146693} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 200, y: -55} - m_SizeDelta: {x: 300, y: 45} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &822876209 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 822876207} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: "\u95F9\u9EBB\u4E86" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 73f9a9bb620a2b040ab7347b390452fe, type: 2} - m_sharedMaterial: {fileID: 1291443754377433884, guid: 73f9a9bb620a2b040ab7347b390452fe, - type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 37.2 - m_fontSizeBase: 32 - m_fontWeight: 400 - m_enableAutoSizing: 1 - m_fontSizeMin: 18 - m_fontSizeMax: 42 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_characterHorizontalScale: 1 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_TextWrappingMode: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_ActiveFontFeatures: 6e72656b - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_EmojiFallbackSupport: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &822876210 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 822876207} - m_CullTransparentMesh: 1 --- !u!114 &834685805 MonoBehaviour: m_ObjectHideFlags: 0 @@ -14024,6 +13543,83 @@ MonoBehaviour: mAlignment_LTR: 514 mAlignmentWasRTL: 0 mInitializeAlignment: 0 +--- !u!1 &845689279 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 845689280} + - component: {fileID: 845689282} + - component: {fileID: 845689281} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &845689280 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 845689279} + 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: 1549490742} + 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: -1439.9999} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &845689281 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 845689279} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ContentSizeFitter + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!114 &845689282 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 845689279} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.VerticalLayoutGroup + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 1 + m_Spacing: 0 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 0 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1001 &846975560 PrefabInstance: m_ObjectHideFlags: 0 @@ -14272,7 +13868,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &859038602 RectTransform: m_ObjectHideFlags: 0 @@ -14733,8 +14329,7 @@ RectTransform: - {fileID: 909563967} - {fileID: 1091682062} - {fileID: 1457573152} - - {fileID: 1129805216} - - {fileID: 621188557} + - {fileID: 1635704381} - {fileID: 1519945292} - {fileID: 1371572583} - {fileID: 1119493264} @@ -15281,6 +14876,32 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 400, y: 306} m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &909090005 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1635704380} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9fad765e8a5d4c47a434e22e06254b7e, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Ichni.Menu.SettingsButton + sourcePage: {fileID: 78737089} +--- !u!114 &909090006 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1937063703} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9fad765e8a5d4c47a434e22e06254b7e, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Ichni.Menu.SettingsButton + sourcePage: {fileID: 512486724} --- !u!1 &909563966 GameObject: m_ObjectHideFlags: 0 @@ -16260,17 +15881,17 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1028956952} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + 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: 1365808733} + m_Father: {fileID: 708872017} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 2560, y: 1439.9996} + m_SizeDelta: {x: 3424, y: 1926} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1028956954 MonoBehaviour: @@ -16385,7 +16006,7 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1032070286} m_CullTransparentMesh: 1 ---- !u!1 &1047641974 +--- !u!1 &1033442781 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -16393,42 +16014,82 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1047641975} - - component: {fileID: 1047641977} - - component: {fileID: 1047641976} + - component: {fileID: 1033442782} + - component: {fileID: 1033442785} + - component: {fileID: 1033442784} + - component: {fileID: 1033442783} m_Layer: 5 - m_Name: HelperText + m_Name: Text (TMP) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1047641975 +--- !u!224 &1033442782 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1047641974} + m_GameObject: {fileID: 1033442781} 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: 179146693} + m_Father: {fileID: 1635704381} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 17.5, y: -7.5} - m_SizeDelta: {x: -85, y: -165} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -25} + m_SizeDelta: {x: 200, y: 20} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1047641976 +--- !u!114 &1033442783 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1047641974} + m_GameObject: {fileID: 1033442781} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 344445a89b4f74a0e9a0a766903df87e, type: 3} + m_Name: + m_EditorClassIdentifier: + mTerm: Menu UI/Settings + mTermSecondary: + PrimaryTermModifier: 0 + SecondaryTermModifier: 0 + TermPrefix: + TermSuffix: + LocalizeOnAwake: 1 + IgnoreRTL: 0 + MaxCharactersInRTL: 0 + IgnoreNumbersInRTL: 1 + CorrectAlignmentForRTL: 1 + AddSpacesToJoinedLanguages: 0 + AllowLocalizedParameters: 1 + AllowParameters: 1 + TranslatedObjects: [] + LocalizeEvent: + m_PersistentCalls: + m_Calls: [] + AlwaysForceLocalize: 0 + LocalizeCallBack: + Target: {fileID: 0} + MethodName: + mGUI_ShowReferences: 0 + mGUI_ShowTems: 1 + mGUI_ShowCallback: 0 + mLocalizeTarget: {fileID: 864604141} + mLocalizeTargetName: I2.Loc.LocalizeTarget_TextMeshPro_UGUI +--- !u!114 &1033442784 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1033442781} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} @@ -16442,10 +16103,10 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: "\u95F9\u9EBB\u4E86" + m_text: m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 73f9a9bb620a2b040ab7347b390452fe, type: 2} - m_sharedMaterial: {fileID: 1291443754377433884, guid: 73f9a9bb620a2b040ab7347b390452fe, + m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2} + m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} @@ -16470,17 +16131,17 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 32 - m_fontSizeBase: 32 + m_fontSize: 24 + m_fontSizeBase: 24 m_fontWeight: 400 - m_enableAutoSizing: 1 + m_enableAutoSizing: 0 m_fontSizeMin: 18 - m_fontSizeMax: 32 + m_fontSizeMax: 72 m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 m_textAlignment: 65535 - m_characterSpacing: 0 + m_characterSpacing: 10 m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 @@ -16515,13 +16176,13 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &1047641977 +--- !u!222 &1033442785 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1047641974} + m_GameObject: {fileID: 1033442781} m_CullTransparentMesh: 1 --- !u!1 &1055026777 GameObject: @@ -17685,8 +17346,10 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1119493264} + - component: {fileID: 1119493266} + - component: {fileID: 1119493265} m_Layer: 5 - m_Name: Avatar + m_Name: Helper m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -17706,7 +17369,7 @@ RectTransform: m_Children: - {fileID: 39339086} - {fileID: 1294456583} - - {fileID: 179146693} + - {fileID: 1999011946555502230} m_Father: {fileID: 869340149} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -17714,6 +17377,75 @@ RectTransform: m_AnchoredPosition: {x: 400, y: 250} m_SizeDelta: {x: 800, y: 1200} m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1119493265 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1119493263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e3e75d25eea4224a487c9de56d5a91c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Ichni.Story.StoryHelperController + helperButton: {fileID: 1119493266} + visualPresenter: {fileID: 39339089} + helperTalkPrefab: {fileID: 4403268097300063903, guid: 40df11d39d80e2f4785e492c3b1d1a10, + type: 3} + helperTalkContainer: {fileID: 1999011946555502230} + idleRoot: {fileID: 39339086} + clickRoot: {fileID: 39339086} + idleFloatDistance: 8 + idleHalfDuration: 1.35 + clickPunchDuration: 0.2 + clickPunchScale: 0.035 + clickPunchOffset: 5 + clickCooldown: 0.3 +--- !u!114 &1119493266 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1119493263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1001 &1127235732 PrefabInstance: m_ObjectHideFlags: 0 @@ -17855,127 +17587,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f7db12c4a04bb4249a4916541b6d0e5d, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &1129805215 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1129805216} - - component: {fileID: 1129805219} - - component: {fileID: 1129805218} - - component: {fileID: 1129805217} - m_Layer: 5 - m_Name: Settings - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1129805216 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1129805215} - 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: - - {fileID: 582350575} - m_Father: {fileID: 869340149} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0} - m_AnchorMax: {x: 0.5, y: 0} - m_AnchoredPosition: {x: 0, y: 40} - m_SizeDelta: {x: 310, y: 80} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1129805217 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1129805215} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 2 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 21300000, guid: a9b93dba6435cd54b963b1b5ef4e2c50, type: 3} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1129805218} - m_OnClick: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &1129805218 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1129805215} - 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: 97384a959c9b0e546bdfc9cc9931a7d9, 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 &1129805219 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1129805215} - m_CullTransparentMesh: 1 --- !u!1 &1132246363 GameObject: m_ObjectHideFlags: 0 @@ -18006,12 +17617,13 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: -1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 1293033760} m_Father: {fileID: 1672615611} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: -200, y: 0} + m_AnchoredPosition: {x: -600, y: 0} m_SizeDelta: {x: 235, y: 1080} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1132246365 @@ -19917,16 +19529,16 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1293033759} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + 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_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1672615611} + m_Father: {fileID: 1132246364} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: -135, y: 0} + m_AnchoredPosition: {x: -182.49998, y: 0} m_SizeDelta: {x: 213, y: 1080} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1293033761 @@ -20163,9 +19775,9 @@ MonoBehaviour: m_UiScaleMode: 1 m_ReferencePixelsPerUnit: 100 m_ScaleFactor: 1 - m_ReferenceResolution: {x: 1920, y: 1080} + m_ReferenceResolution: {x: 2560, y: 1440} m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 1 + m_MatchWidthOrHeight: 0 m_PhysicalUnit: 3 m_FallbackScreenDPI: 96 m_DefaultSpriteDPI: 96 @@ -20202,9 +19814,9 @@ CanvasGroup: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1296688832} m_Enabled: 1 - m_Alpha: 0 - m_Interactable: 0 - m_BlocksRaycasts: 0 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 m_IgnoreParentGroups: 0 --- !u!114 &1299562985 stripped MonoBehaviour: @@ -20746,81 +20358,6 @@ MonoBehaviour: mAlignment_LTR: 513 mAlignmentWasRTL: 0 mInitializeAlignment: 1 ---- !u!1 &1364566252 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1364566253} - - component: {fileID: 1364566255} - - component: {fileID: 1364566254} - m_Layer: 5 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1364566253 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1364566252} - 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: 708872017} - 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 &1364566254 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1364566252} - 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: 0, g: 0, b: 0, 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: 0} - 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 &1364566255 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1364566252} - m_CullTransparentMesh: 1 --- !u!1 &1365808732 GameObject: m_ObjectHideFlags: 0 @@ -20849,23 +20386,17 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 1028956953} - - {fileID: 265943989} - {fileID: 932247137} - {fileID: 673579561} - - {fileID: 1424785511} - {fileID: 217492844} - {fileID: 61907791} - - {fileID: 290007304} - - {fileID: 1672615611} - {fileID: 2009017381} - - {fileID: 491543718} m_Father: {fileID: 708872017} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 1920, y: 1080} + m_SizeDelta: {x: 2560, y: 1440} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1371572582 GameObject: @@ -21454,16 +20985,16 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1424785510} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + 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: 1365808733} + m_Father: {fileID: 708872017} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0} m_AnchorMax: {x: 0.5, y: 0} - m_AnchoredPosition: {x: 0, y: 539.9999} + m_AnchoredPosition: {x: 0, y: 720.3416} m_SizeDelta: {x: 2560, y: 1440} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1424785512 @@ -21832,6 +21363,76 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 33444f8904d91374fb31960969da96ed, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &1440954338 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1440954339} + - component: {fileID: 1440954341} + - component: {fileID: 1440954340} + m_Layer: 5 + m_Name: DialogHistoryPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1440954339 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1440954338} + 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: + - {fileID: 1558066970} + - {fileID: 1549490742} + - {fileID: 2063684405} + m_Father: {fileID: 6347218673911890593} + 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 &1440954340 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1440954338} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b01a0f4f2bd84076a5fa1e6c43a21d47, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Ichni.Story.UI.DialogueHistoryPage + canvasGroup: {fileID: 1440954341} + scrollRect: {fileID: 1549490743} + entryContainer: {fileID: 845689280} + entryPrefab: {fileID: 5965612576668694196, guid: 75e7242449b105748a3d9a0864ce1391, + type: 3} + closeButton: {fileID: 2063684406} +--- !u!225 &1440954341 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1440954338} + m_Enabled: 1 + m_Alpha: 0 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 --- !u!1 &1442275325 GameObject: m_ObjectHideFlags: 0 @@ -23268,7 +22869,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 0} m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: -200, y: -50} + m_AnchoredPosition: {x: -200, y: 150} m_SizeDelta: {x: 328, y: 192} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1521593246 @@ -23518,6 +23119,73 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1534639413} m_CullTransparentMesh: 1 +--- !u!1 &1549490741 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1549490742} + - component: {fileID: 1549490743} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1549490742 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1549490741} + 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: + - {fileID: 845689280} + m_Father: {fileID: 1440954339} + 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 &1549490743 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1549490741} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.ScrollRect + m_Content: {fileID: 845689280} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 0} + m_HorizontalScrollbar: {fileID: 0} + m_VerticalScrollbar: {fileID: 0} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 0 + m_HorizontalScrollbarSpacing: 0 + m_VerticalScrollbarSpacing: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] --- !u!1 &1550903663 GameObject: m_ObjectHideFlags: 0 @@ -23713,6 +23381,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1555496268} m_CullTransparentMesh: 1 +--- !u!1 &1558066969 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1558066970} + - component: {fileID: 1558066972} + - component: {fileID: 1558066971} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1558066970 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1558066969} + 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: 1440954339} + 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 &1558066971 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1558066969} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.5019608} + 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: 0} + 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 &1558066972 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1558066969} + m_CullTransparentMesh: 1 --- !u!114 &1567730149 MonoBehaviour: m_ObjectHideFlags: 0 @@ -24031,7 +23774,7 @@ CanvasGroup: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1589396085} m_Enabled: 1 - m_Alpha: 0 + m_Alpha: 1 m_Interactable: 1 m_BlocksRaycasts: 1 m_IgnoreParentGroups: 0 @@ -24189,7 +23932,7 @@ GameObject: - component: {fileID: 1617002815} - component: {fileID: 1617002814} m_Layer: 5 - m_Name: ShowFramesButton + m_Name: ShowHistoryButton m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -24582,6 +24325,128 @@ SpriteRenderer: m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 m_SpriteSortPoint: 0 +--- !u!1 &1635704380 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1635704381} + - component: {fileID: 1635704384} + - component: {fileID: 1635704383} + - component: {fileID: 1635704382} + - component: {fileID: 909090005} + m_Layer: 5 + m_Name: Settings + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1635704381 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1635704380} + 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: + - {fileID: 1033442782} + m_Father: {fileID: 869340149} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: 40} + m_SizeDelta: {x: 310, y: 80} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1635704382 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1635704380} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 2 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 21300000, guid: a9b93dba6435cd54b963b1b5ef4e2c50, type: 3} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1635704383} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1635704383 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1635704380} + 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: 97384a959c9b0e546bdfc9cc9931a7d9, 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 &1635704384 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1635704380} + m_CullTransparentMesh: 1 --- !u!1 &1637111142 GameObject: m_ObjectHideFlags: 0 @@ -24827,11 +24692,11 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1672615611} + m_Father: {fileID: 603195649} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 0, y: 0.5} - m_AnchoredPosition: {x: 135, y: 0} + m_AnchoredPosition: {x: 52.500008, y: 0} m_SizeDelta: {x: 213, y: 1080} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1657412687 @@ -25096,16 +24961,14 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1672615610} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + 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: - {fileID: 603195649} - - {fileID: 1657412686} - {fileID: 1132246364} - - {fileID: 1293033760} - m_Father: {fileID: 1365808733} + m_Father: {fileID: 708872017} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} @@ -27920,6 +27783,7 @@ GameObject: - component: {fileID: 1937063707} - component: {fileID: 1937063706} - component: {fileID: 1937063705} + - component: {fileID: 909090006} m_Layer: 5 m_Name: Settings m_TagString: Untagged @@ -28619,7 +28483,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!4 &1998834542 Transform: m_ObjectHideFlags: 0 @@ -34139,6 +34003,126 @@ RectTransform: m_AnchoredPosition: {x: 207.5, y: -160} m_SizeDelta: {x: 415, y: 116} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2063684404 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2063684405} + - component: {fileID: 2063684408} + - component: {fileID: 2063684407} + - component: {fileID: 2063684406} + m_Layer: 5 + m_Name: BackButton (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2063684405 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2063684404} + 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: 1440954339} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 126, y: -112} + m_SizeDelta: {x: 116, y: 111} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2063684406 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2063684404} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2063684407} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &2063684407 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2063684404} + 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: 31ad2ac42b911b6418a7bbca874277e9, 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 &2063684408 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2063684404} + m_CullTransparentMesh: 1 --- !u!1 &2066043556 GameObject: m_ObjectHideFlags: 0 @@ -34588,7 +34572,7 @@ MonoBehaviour: m_UiScaleMode: 1 m_ReferencePixelsPerUnit: 100 m_ScaleFactor: 1 - m_ReferenceResolution: {x: 1920, y: 1080} + m_ReferenceResolution: {x: 2560, y: 1440} m_ScreenMatchMode: 0 m_MatchWidthOrHeight: 0 m_PhysicalUnit: 3 @@ -35890,6 +35874,18 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2146211968} m_CullTransparentMesh: 1 +--- !u!225 &29272425175118417 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5645772956766953854} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 --- !u!1001 &1790733586872878389 PrefabInstance: m_ObjectHideFlags: 0 @@ -36075,6 +36071,25 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 63ac87ec6c134804c9cd877b8820d283, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!224 &1999011946555502230 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5645772956766953854} + 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: 1119493264} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 149.99997} + m_SizeDelta: {x: 700, y: 270} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1001 &2004387430697357062 PrefabInstance: m_ObjectHideFlags: 0 @@ -36512,6 +36527,24 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!1 &5645772956766953854 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1999011946555502230} + - component: {fileID: 6434052342951954405} + - component: {fileID: 29272425175118417} + m_Layer: 5 + m_Name: HelperTalkContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 --- !u!1 &5686664992784830960 GameObject: m_ObjectHideFlags: 0 @@ -36586,7 +36619,7 @@ MonoBehaviour: treeController: {fileID: 78737090} storyUIPage: {fileID: 78737089} characterRegistry: {fileID: 11400000, guid: cb28799b724eb714aa0cc820b36a8b5f, type: 2} - helperData: {fileID: 0} + helperData: {fileID: 11400000, guid: 9be0d59b81017ab4b93df6ea9eace6fe, type: 2} --- !u!4 &5788293620442285278 Transform: m_ObjectHideFlags: 0 @@ -36640,6 +36673,9 @@ MonoBehaviour: speakerText: {fileID: 1870072472} advanceButton: {fileID: 776434468} fastForwardButton: {fileID: 490649579} + backButton: {fileID: 1908680556} + showHistoryButton: {fileID: 1617002814} + dialogueHistoryPage: {fileID: 1440954340} choiceFrame: {fileID: 234096306} choiceButtons: - {fileID: 190695854} @@ -36710,7 +36746,7 @@ RectTransform: - {fileID: 1908680555} - {fileID: 490649578} - {fileID: 1617002813} - - {fileID: 213267827} + - {fileID: 1440954339} m_Father: {fileID: 5788293620442285278} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -36718,6 +36754,14 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!222 &6434052342951954405 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5645772956766953854} + m_CullTransparentMesh: 1 --- !u!225 &6759614698927231795 CanvasGroup: m_ObjectHideFlags: 0 @@ -36726,9 +36770,9 @@ CanvasGroup: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5918997816214783523} m_Enabled: 1 - m_Alpha: 0 - m_Interactable: 0 - m_BlocksRaycasts: 0 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 m_IgnoreParentGroups: 0 --- !u!1001 &6776602870058590884 PrefabInstance: diff --git a/Assets/Scripts/Menu/InformationTransistor.cs b/Assets/Scripts/Menu/InformationTransistor.cs index 47b08915..35bd3f96 100644 --- a/Assets/Scripts/Menu/InformationTransistor.cs +++ b/Assets/Scripts/Menu/InformationTransistor.cs @@ -2,6 +2,7 @@ using System.Collections; using System.Collections.Generic; using AK.Wwise; using Ichni.Menu; +using Ichni.Story; using UnityEngine; using UnityEngine.Serialization; @@ -28,6 +29,12 @@ namespace Ichni /// public MenuReturnDestination menuReturnDestination; + ///

+ /// 由剧情 SongBlock 发起的单次选曲上下文。它是运行时路由数据,不属于玩家存档; + /// 仅用于校验目标歌曲、决定返回页面并还原剧情树浏览位置。 + /// + [System.NonSerialized] public StorySongEntryContext storySongEntryContext = new StorySongEntryContext(); + public ChapterSelectionUnit chapter; public SongItemData song; public DifficultyData difficulty; @@ -57,7 +64,12 @@ namespace Ichni { // 保留旧入口,供现有选曲流程在播放过场前预先写入歌曲信息。 // 真正进入 GameScene 时,MenuManager.EnterGame 会补充 SongSelection 返回目标。 - PrepareGameLaunch(chapter, song, difficulty, MenuReturnDestination.None); + if (PrepareGameLaunch(chapter, song, difficulty, MenuReturnDestination.None)) + { + // 只有玩家真正确认“进入游戏”且命中剧情目标歌曲时,才完成对应 SongBlock。 + // 单纯从剧情打开选曲、浏览其它歌曲或返回菜单都不会写入剧情进度。 + StoryManager.instance?.HandleSongSelectionConfirmed(chapter, song); + } } /// @@ -79,6 +91,10 @@ namespace Ichni chapterSwitch = chapter.chapterSwitch; songSwitch = song.songSwitch; menuReturnDestination = returnDestination; + + // “确认进入游戏”是歌曲尝试的统一边界。无论入口来自普通选曲、Story SongBlock 或教程, + // 都由 SongSaves 记录这一次尝试;StoryTree 会在构建/返回时据此同步 SongBlock 完成状态。 + GameSaveManager.instance?.SongSaveModule?.MarkSongTried(song.songName); return true; } diff --git a/Assets/Scripts/Menu/MenuManager.cs b/Assets/Scripts/Menu/MenuManager.cs index 3ab17271..bcf7f6db 100644 --- a/Assets/Scripts/Menu/MenuManager.cs +++ b/Assets/Scripts/Menu/MenuManager.cs @@ -81,6 +81,7 @@ namespace Ichni // 不能依赖旧场景中残留的 Block 实例。 StoryManager.instance?.OpenChapter(ChapterSelectionManager.instance.currentChapter.chapterIndex); storyUIPage.FadeIn(); + StoryManager.instance?.RestoreStoryAfterGameReturn(); } // 返回目标是一次性运行态信息。无论是否能恢复页面,都不能让它在下次重进菜单时重复生效。 @@ -96,7 +97,14 @@ namespace Ichni { public void EnterGame() { - EnterGame(MenuReturnDestination.SongSelection); + // 剧情 SongBlock 仅在玩家确认进入指定目标歌曲后才要求返回剧情; + // 普通选曲与从剧情入口改选其它歌曲都继续返回选曲页。 + StorySongEntryContext context = InformationTransistor.instance?.storySongEntryContext; + MenuReturnDestination destination = context != null && context.isActive && + context.returnToStoryAfterGame + ? MenuReturnDestination.Story + : MenuReturnDestination.SongSelection; + EnterGame(destination); } /// diff --git a/Assets/Scripts/NewStorySystem/Data/CharacterData.cs b/Assets/Scripts/NewStorySystem/Data/CharacterData.cs index aa8e81fd..de4d89e5 100644 --- a/Assets/Scripts/NewStorySystem/Data/CharacterData.cs +++ b/Assets/Scripts/NewStorySystem/Data/CharacterData.cs @@ -40,14 +40,14 @@ namespace Ichni.Story [LabelText("Emotion Sprites")] [ShowIf("portraitStyle", PortraitStyle.Sprite)] [DictionaryDrawerSettings(KeyLabel = "Emotion Name", ValueLabel = "Sprite")] - [InfoBox("Key 为情绪名(如 normal / happy / angry),Value 为对应 Sprite 资产。")] + [Tooltip("Key 为情绪名(如 normal / happy / angry),Value 为对应 Sprite 资产。")] public Dictionary emotionSprites = new Dictionary(); // ── Dynamic (Live2D / Spine) ───────────────────────────────────────────── [LabelText("Dynamic Portrait Prefab")] [ShowIf("IsDynamicPortrait")] - [InfoBox("Live2D / Spine 立绘预制体,需挂载实现 IPortraitRenderer 接口的组件(阶段 3 制作)。")] + [Tooltip("Live2D / Spine 立绘预制体,需挂载实现 IPortraitRenderer 接口的组件。")] public GameObject dynamicPortraitPrefab; private bool IsDynamicPortrait => portraitStyle == PortraitStyle.Live2D || portraitStyle == PortraitStyle.Spine; diff --git a/Assets/Scripts/NewStorySystem/Data/CharacterRegistry.cs b/Assets/Scripts/NewStorySystem/Data/CharacterRegistry.cs index 68c3731c..4e00ff23 100644 --- a/Assets/Scripts/NewStorySystem/Data/CharacterRegistry.cs +++ b/Assets/Scripts/NewStorySystem/Data/CharacterRegistry.cs @@ -14,7 +14,7 @@ namespace Ichni.Story { [LabelText("Characters")] [ListDrawerSettings(ShowFoldout = true, DraggableItems = true)] - [InfoBox("将所有角色的 CharacterData 资产拖入此列表,系统运行时会自动按 characterId 建立索引。")] + [Tooltip("将所有角色的 CharacterData 资产拖入此列表,系统运行时会自动按 characterId 建立索引。")] public List characters = new List(); // 运行时缓存,首次 TryGet 时延迟构建 diff --git a/Assets/Scripts/NewStorySystem/Data/StoryBlockDefinition.cs b/Assets/Scripts/NewStorySystem/Data/StoryBlockDefinition.cs index d4a620e1..561c1af6 100644 --- a/Assets/Scripts/NewStorySystem/Data/StoryBlockDefinition.cs +++ b/Assets/Scripts/NewStorySystem/Data/StoryBlockDefinition.cs @@ -26,6 +26,25 @@ namespace Ichni.Story Tutorial } + /// + /// 一个 Block 如何自动处理指向它的直接连接线。 + /// 连接线表达基础流程关系,因此默认要求所有直接前置 Block 都已完成;该结果会与 + /// 按 AND 合并。 + /// 路线汇合时应使用 ;仅用于视觉连线、 + /// 不应影响可用性的连接则使用 + /// + public enum ConnectedBlockUnlockRule + { + /// 默认值:全部直接前置 Block 都必须完成。 + RequireAllDirectPredecessors = 0, + + /// 至少一个直接前置 Block 完成即可,适用于互斥分支的汇合节点。 + RequireAnyDirectPredecessor = 1, + + /// 忽略连接线,只按手写 Unlock Condition 判断。 + IgnoreConnections = 2 + } + /// /// TextBlock 的叙事层级。层级只决定剧情树中的视觉样式和 checkpoint 候选资格, /// 不会自行改变 Block 的解锁条件或 Yarn 执行逻辑。 @@ -53,34 +72,59 @@ namespace Ichni.Story /// 故事树中单个 block 的完整数据定义,由 持有。 /// [InlineProperty] + [HideReferenceObjectPicker] [Serializable] public class StoryBlockDefinition { - [FoldoutGroup("$blockId", false)] - [LabelText("Block ID")] + // 仅用于 Odin Inspector 的动态折叠标题,不参与序列化或运行时状态推导。 + // 在列表中即可识别 Block 的身份、类型与布局位置,减少频繁展开确认的需要。 + private string EditorHeader => string.IsNullOrWhiteSpace(blockId) + ? "New Block" + : $"{blockId} · {blockType} · C{gridColumn:0.##} / R{gridRow:0.##}"; + + [FoldoutGroup("$EditorHeader", false)] + [HorizontalGroup("$EditorHeader/Identity", 0.58f)] + [LabelText("ID")] + [Tooltip("Block 的稳定唯一 ID。连接、条件、Timeline Marker 与存档均依赖该值;建议使用英文、数字和下划线。")] public string blockId; - [FoldoutGroup("$blockId")] + [FoldoutGroup("$EditorHeader")] + [HorizontalGroup("$EditorHeader/Identity")] [LabelText("Type")] + [Tooltip("决定该 Block 的运行时入口与下方显示的专属配置。")] public StoryBlockType blockType; - [FoldoutGroup("$blockId")] - [LabelText("Grid Column")] + [FoldoutGroup("$EditorHeader")] + [HorizontalGroup("$EditorHeader/Layout")] + [LabelText("Column")] [Tooltip("故事树网格中的列:向右为正,(0,0) 位于容器左侧中部。可为负数与小数(用于微调)。")] public float gridColumn; - [FoldoutGroup("$blockId")] - [LabelText("Grid Row")] + [FoldoutGroup("$EditorHeader")] + [HorizontalGroup("$EditorHeader/Layout")] + [LabelText("Row")] [Tooltip("故事树网格中的行:向下为正、向上为负,0 对应垂直中线。可为小数(用于微调)。")] public float gridRow; - [FoldoutGroup("$blockId")] - [LabelText("Next Block IDs")] + [FoldoutGroup("$EditorHeader/Flow", false)] + [LabelText("Next Blocks")] + [Tooltip("从本 Block 指向的后续 Block ID。该列表既决定连接线,也会成为后续 Block 的自动前置条件来源。")] + [ListDrawerSettings(ShowFoldout = true, DefaultExpandedState = false, ShowItemCount = true)] public List nextBlockIds = new List(); - [FoldoutGroup("$blockId")] - [LabelText("Unlock Condition")] - [InfoBox("留空表示无条件解锁(章节起始即可用)。")] + /// + /// 自动把所有指向本 Block 的直接连接线转化为基础解锁条件。 + /// 没有前置连接线的章节起始 Block 不受此字段限制;默认“全部前置完成”再与手写条件按 AND 合并。 + /// + [FoldoutGroup("$EditorHeader/Flow")] + [LabelText("Connected Rule")] + [Tooltip("默认 Require All:所有直接前置 Block 完成后才可用。互斥路线汇合使用 Require Any;纯视觉连接使用 Ignore。")] + public ConnectedBlockUnlockRule connectedBlockUnlockRule = + ConnectedBlockUnlockRule.RequireAllDirectPredecessors; + + [FoldoutGroup("$EditorHeader/Rules", false)] + [LabelText("Unlock")] + [Tooltip("可选的额外可用条件;它与 Connected Rule 按 AND 合并。没有前置连接的起始 Block 通常留空即可。")] public StoryCondition unlockCondition = new StoryCondition(); /// @@ -88,38 +132,41 @@ namespace Ichni.Story /// 因而可直接使用剧情变量、Block 完成状态及 AND / OR / NOT 组合。 /// 条件满足时,该 Block 的状态固定为 Forbidden,且优先于 Completed / Current / Locked。 /// - [FoldoutGroup("$blockId")] - [LabelText("Forbidden Condition")] - [InfoBox("可选。留空表示此 Block 不会被条件禁用;满足时显示为 Forbidden 且不可点击。")] + [FoldoutGroup("$EditorHeader/Rules")] + [LabelText("Forbidden")] + [Tooltip("可选。满足时该 Block 固定显示为 Forbidden 且不可点击;留空表示不会被条件禁用。")] public StoryCondition forbiddenCondition = new StoryCondition(); // ── Text Block ────────────────────────────────────────────────────────── - [FoldoutGroup("$blockId")] + [FoldoutGroup("$EditorHeader/Text Content", false)] [ShowIf("blockType", StoryBlockType.Text)] - [LabelText("Yarn Node Name")] + [LabelText("Yarn Node")] + [Tooltip("点击 TextBlock 后由 Yarn Spinner 开始执行的节点名。")] public string yarnNodeName; - [FoldoutGroup("$blockId")] + [FoldoutGroup("$EditorHeader/Text Content")] [ShowIf("blockType", StoryBlockType.Text)] - [LabelText("Title Key (Localization)")] + [LabelText("Title Key")] + [Tooltip("该 TextBlock 标题使用的 Unity Localization Entry Key;留空时视觉层可使用 Block ID 作为开发阶段回退。")] public string titleKey; /// /// TextBlock 的视觉和叙事层级。Important 用于主线转折与后续 checkpoint; /// Secondary 用于支线或补充剧情。默认 Important,以保持现有 TextBlock 的呈现语义。 /// - [FoldoutGroup("$blockId")] + [FoldoutGroup("$EditorHeader/Text Content")] [ShowIf("blockType", StoryBlockType.Text)] - [LabelText("Text Importance")] + [LabelText("Importance")] + [Tooltip("Important 用于主线转折与后续 Checkpoint;Secondary 用于支线或补充剧情,并决定对应的 Block Prefab。")] public TextBlockImportance textImportance = TextBlockImportance.Important; // ── Song Block ────────────────────────────────────────────────────────── - [FoldoutGroup("$blockId")] + [FoldoutGroup("$EditorHeader/Song Content", false)] [ShowIf("blockType", StoryBlockType.Song)] - [LabelText("Song Name (Stable ID)")] - [InfoBox("对应 ChapterSelectionUnit 中 SongItemData.songName 的稳定歌曲标识。它用于查找歌曲资料与进入选曲,不能填写 displaySongName、翻译文本或作曲者名称。")] + [LabelText("Song ID")] + [Tooltip("对应 ChapterSelectionUnit 中 SongItemData.songName 的稳定歌曲标识。不能填写 displaySongName、翻译文本或作曲者名称。")] public string songName; /// @@ -127,18 +174,19 @@ namespace Ichni.Story /// Mask 可视区域固定为当前 Prefab 的尺寸;在不露出上下空白的前提下,安全范围为 -74.25 到 74.25。 /// 该值是最终坐标而非偏移量:0 表示居中,负值向下移动,正值向上移动。 /// - [FoldoutGroup("$blockId")] + [FoldoutGroup("$EditorHeader/Song Content")] [ShowIf("blockType", StoryBlockType.Song)] - [LabelText("Illustration Local Y")] + [LabelText("Illustration Y")] [Range(-74.25f, 74.25f)] - [InfoBox("用于微调 16:9 插画在 SongBlock Mask 中的纵向裁切。请保持 SongBlockUI 的 Illustration 尺寸为 400 x 225。")] + [Tooltip("微调 16:9 插画在 SongBlock Mask 中的纵向裁切。SongBlockUI 的 Illustration 尺寸应保持为 400 × 225。")] public float illustrationLocalY; // ── Tutorial Block ────────────────────────────────────────────────────── - [FoldoutGroup("$blockId")] + [FoldoutGroup("$EditorHeader/Tutorial Content", false)] [ShowIf("blockType", StoryBlockType.Tutorial)] - [LabelText("Tutorial Name")] + [LabelText("Display Name")] + [Tooltip("仅用于 StoryBlock 的显示与编辑识别,不参与教程查找。")] public string tutorialName; /// @@ -146,29 +194,32 @@ namespace Ichni.Story /// 只用于运行时查找,不使用展示名称或章节名称作为逻辑匹配条件。 /// 命名统一使用小写英文、数字和下划线,例如 chapter0_intro。 /// - [FoldoutGroup("$blockId")] + [FoldoutGroup("$EditorHeader/Tutorial Content")] [ShowIf("blockType", StoryBlockType.Tutorial)] [LabelText("Tutorial Key")] + [Tooltip("TutorialCollection 中的稳定 Key。使用小写英文、数字和下划线,例如 chapter0_intro。")] public string tutorialKey; /// - /// 教程被玩家选择“游玩”或“跳过”后写入的全局剧情变量。 + /// 教程被玩家选择“游玩”或“跳过”后写入的当前章节剧情变量。 /// 后续 Block 应通过 检查该变量是否等于 1 来解锁。 /// 命名统一使用小写英文、数字和下划线,例如 /// story_tutorial_chapter0_intro_resolved。 /// - [FoldoutGroup("$blockId")] + [FoldoutGroup("$EditorHeader/Tutorial Content")] [ShowIf("blockType", StoryBlockType.Tutorial)] [LabelText("Progress Variable")] + [Tooltip("玩家选择游玩或跳过教程后写入 true 的章节剧情变量;后续 Block 可通过条件检查它。")] public string tutorialProgressVariable; /// /// 要启动的教程难度的稳定存档 ID,对应 。 /// 不使用难度列表下标,避免调整难度排列后教程进入错误谱面。 /// - [FoldoutGroup("$blockId")] + [FoldoutGroup("$EditorHeader/Tutorial Content")] [ShowIf("blockType", StoryBlockType.Tutorial)] - [LabelText("Tutorial Difficulty Save ID")] + [LabelText("Difficulty Save ID")] + [Tooltip("要启动教程谱面的 DifficultyData.saveDifficultyId。不要使用难度列表下标,以免排序变化后指向错误谱面。")] public int tutorialDifficultySaveId = -1; /// @@ -196,12 +247,13 @@ namespace Ichni.Story /// 例如 unlockCondition 留空即允许,而 forbiddenCondition 留空即不禁用。 /// [InlineProperty] + [HideReferenceObjectPicker] [Serializable] public class StoryCondition { [HideLabel] [SerializeReference] - [InfoBox("留空表示未配置条件。可选择 All Of(AND) / Any Of(OR) / Not 复合节点进行任意嵌套。")] + [Tooltip("留空表示未配置条件。可选择 All Of(AND) / Any Of(OR) / Not 复合节点进行任意嵌套。")] public StoryConditionNode root; /// @@ -219,5 +271,15 @@ namespace Ichni.Story { return root != null && root.Evaluate(getVariable, isBlockCompleted); } + +#if UNITY_EDITOR + /// + /// Odin 条件 Drawer 使用的只读摘要;不参与运行时求值和序列化。 + /// + public string GetEditorSummary() + { + return root == null ? "None" : root.GetEditorSummary(); + } +#endif } } diff --git a/Assets/Scripts/NewStorySystem/Data/StoryConditionNode.cs b/Assets/Scripts/NewStorySystem/Data/StoryConditionNode.cs index 77617084..323b705e 100644 --- a/Assets/Scripts/NewStorySystem/Data/StoryConditionNode.cs +++ b/Assets/Scripts/NewStorySystem/Data/StoryConditionNode.cs @@ -19,6 +19,13 @@ namespace Ichni.Story /// 按变量名返回其整型值的委托。 /// 按 blockId 判断该 Block 是否已完成的委托。 public abstract bool Evaluate(Func getVariable, Func isBlockCompleted); + +#if UNITY_EDITOR + /// + /// 返回 Inspector 中使用的紧凑摘要。条件编辑器只读取该文本,不影响运行时求值逻辑。 + /// + public virtual string GetEditorSummary() => GetType().Name; +#endif } /// @@ -43,6 +50,10 @@ namespace Ichni.Story return true; } + +#if UNITY_EDITOR + public override string GetEditorSummary() => $"All Of ({conditions?.Count ?? 0})"; +#endif } /// @@ -70,6 +81,10 @@ namespace Ichni.Story return false; } + +#if UNITY_EDITOR + public override string GetEditorSummary() => $"Any Of ({conditions?.Count ?? 0})"; +#endif } /// @@ -87,6 +102,10 @@ namespace Ichni.Story { return condition == null || !condition.Evaluate(getVariable, isBlockCompleted); } + +#if UNITY_EDITOR + public override string GetEditorSummary() => $"Not ({condition?.GetEditorSummary() ?? "None"})"; +#endif } /// @@ -97,12 +116,20 @@ namespace Ichni.Story public class BlockCompletedCondition : StoryConditionNode { [LabelText("Block ID")] + [LabelWidth(50)] + [Tooltip("必须已完成的 StoryBlock ID。可用于表达显式前置条件;通常连接关系已由 Connected Rule 自动处理。")] public string blockId; public override bool Evaluate(Func getVariable, Func isBlockCompleted) { return !string.IsNullOrEmpty(blockId) && isBlockCompleted(blockId); } + +#if UNITY_EDITOR + public override string GetEditorSummary() => string.IsNullOrWhiteSpace(blockId) + ? "Block Completed: " + : $"Block Completed: {blockId}"; +#endif } /// @@ -113,13 +140,22 @@ namespace Ichni.Story [LabelText("Variable Compare")] public class VariableCondition : StoryConditionNode { - [LabelText("Variable Name")] + [HorizontalGroup("VariableComparison", 0.50f)] + [LabelText("Var")] + [LabelWidth(24)] + [Tooltip("章节剧情变量名。使用小写英文、数字和下划线;可由 Yarn 的 set_* 指令写入。")] public string variableName; - [LabelText("Comparison")] + [HorizontalGroup("VariableComparison", 0.22f)] + [LabelText("Op")] + [LabelWidth(20)] + [Tooltip("变量值与目标值之间的比较方式。")] public VariableComparison comparison; + [HorizontalGroup("VariableComparison")] [LabelText("Value")] + [LabelWidth(35)] + [Tooltip("用于比较的整数目标值。Bool 条件使用 0 / 1。")] public int value; public override bool Evaluate(Func getVariable, Func isBlockCompleted) @@ -136,5 +172,67 @@ namespace Ichni.Story _ => false }; } + +#if UNITY_EDITOR + public override string GetEditorSummary() + { + string variable = string.IsNullOrWhiteSpace(variableName) ? "" : variableName; + string operation = comparison switch + { + VariableComparison.Equal => "==", + VariableComparison.NotEqual => "!=", + VariableComparison.Greater => ">", + VariableComparison.GreaterOrEqual => ">=", + VariableComparison.Less => "<", + VariableComparison.LessOrEqual => "<=", + _ => "?" + }; + return $"{variable} {operation} {value}"; + } +#endif } } + +#if UNITY_EDITOR +namespace Ichni.Story.Editor +{ + /// + /// 通用 StoryCondition 的 Odin Inspector Drawer。 + /// Unlock、Forbidden 与 Helper Availability 共用同一条件模型;此 Drawer 只改变编辑器中的 + /// 折叠呈现方式,不修改条件树的序列化结构或运行时求值结果。 + /// 默认仅显示可读摘要。需要调整条件时再展开,避免 SerializeReference 条件树长期占据 Block 的编辑空间。 + /// + public class StoryConditionDrawer : Sirenix.OdinInspector.Editor.OdinValueDrawer + { + private bool _isExpanded; + + protected override void DrawPropertyLayout(UnityEngine.GUIContent label) + { + StoryCondition condition = ValueEntry.SmartValue; + string summary = condition == null ? "None" : condition.GetEditorSummary(); + + // 父属性若保留了简短标签(例如 Helper 的 Availability),则与摘要合并显示; + // StoryBlock 中使用 HideLabel 时只保留摘要,避免重复占用左侧标签列。 + string prefix = label == null || string.IsNullOrWhiteSpace(label.text) + ? string.Empty + : $"{label.text}: "; + + UnityEngine.GUIContent foldoutLabel = new UnityEngine.GUIContent( + prefix + summary, + "留空表示未配置条件。展开后可选择 All Of (AND)、Any Of (OR)、Not、Block Completed 或 Variable Compare。" + ); + + _isExpanded = UnityEditor.EditorGUILayout.Foldout(_isExpanded, foldoutLabel, true); + if (!_isExpanded) + { + return; + } + + UnityEditor.EditorGUI.indentLevel++; + // 继续调用 Odin 的默认 SerializeReference 绘制链,使类型选择、嵌套条件和 Undo 行为保持原样。 + CallNextDrawer(UnityEngine.GUIContent.none); + UnityEditor.EditorGUI.indentLevel--; + } + } +} +#endif diff --git a/Assets/Scripts/NewStorySystem/Data/StoryData.Editor.cs b/Assets/Scripts/NewStorySystem/Data/StoryData.Editor.cs new file mode 100644 index 00000000..f602c941 --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Data/StoryData.Editor.cs @@ -0,0 +1,780 @@ +#if UNITY_EDITOR +using System.Collections.Generic; +using System.Linq; +using Sirenix.OdinInspector; +using UnityEditor; +using UnityEngine; + +namespace Ichni.Story +{ + /// + /// StoryData 的编辑器扩展:集中存放只读 Validation 与故事树 Preview。 + /// 与运行时数据查询拆分后,修改剧情结构时无需在同一文件中穿过大量 Inspector 绘制代码。 + /// + public partial class StoryData + { + private enum StoryPreviewMode { Detailed, Simple } + + // 编辑器 UI 临时状态(不参与序列化) + [System.NonSerialized] private StoryPreviewMode _previewMode = StoryPreviewMode.Detailed; + [System.NonSerialized] private Vector2 _previewPan; + [System.NonSerialized] private bool _isPanningPreview; + [System.NonSerialized] private bool _isPreviewExpanded; + [System.NonSerialized] private bool _requestPreviewFit; + + private const float PreviewViewportHeight = 380f; + private const float PreviewPaddingLeft = 24f; + + // 预览与运行时共用同一套“列 / 行代表 Block 中心点”的布局语义。 + // 这里的尺寸直接对应当前四种 Block Prefab 的设计尺寸;若未来修改 Prefab 尺寸,必须同步更新本组常量。 + private const float ImportantBlockWidth = 600f; + private const float ImportantBlockHeight = 375f; + private const float SecondaryBlockWidth = 400f; + private const float SecondaryBlockHeight = 200f; + private const float SongBlockWidth = 400f; + private const float SongBlockHeight = 100f; + private const float TutorialBlockWidth = 400f; + private const float TutorialBlockHeight = 100f; + + // 与 StoryTreeController 默认 columnStep / rowStep 保持比例一致, + // 因而预览中的相邻列、行间距也能反映运行时的实际布局关系。 + private const float RuntimeColumnStep = 720f; + private const float RuntimeRowStep = 525f; + private const float DetailedPreviewScale = 0.25f; + private const float SimplePreviewScale = 0.10f; + + [PropertyOrder(-9)] + [Button("Validate Story Data", ButtonSizes.Medium)] + [Tooltip("只读检查当前 StoryData 的引用、ID 与必要字段,不会自动修改资产,也不会检查歌曲/谱面的导入内容。")] + private void ValidateStoryData() + { + List issues = new List(); + HashSet blockIds = new HashSet(); + HashSet variableKeys = new HashSet(); + HashSet markerIds = new HashSet(); + + if (string.IsNullOrWhiteSpace(chapterIndex)) + { + issues.Add("[Error] Chapter Index 为空。"); + } + + if (yarnProject == null) + { + issues.Add("[Warning] Yarn Project 未配置;TextBlock 无法开始对应的 Yarn 节点。"); + } + + foreach (StoryVariableDefinition variable in initialVariables) + { + if (variable == null) + { + issues.Add("[Warning] Initial Variables 中存在空项。"); + continue; + } + + if (!IsValidStableKey(variable.key)) + { + issues.Add($"[Warning] Initial Variable Key '{variable.key}' 为空或不符合小写英文、数字、下划线的命名规则。"); + continue; + } + + if (!variableKeys.Add(variable.key)) + { + issues.Add($"[Error] Initial Variable Key '{variable.key}' 重复。"); + } + } + + foreach (StoryBlockDefinition block in blocks) + { + if (block == null) + { + issues.Add("[Warning] Blocks 中存在空项。"); + continue; + } + + if (string.IsNullOrWhiteSpace(block.blockId)) + { + issues.Add("[Error] 存在未填写 Block ID 的 Block。"); + continue; + } + + if (!blockIds.Add(block.blockId)) + { + issues.Add($"[Error] Block ID '{block.blockId}' 重复。"); + } + } + + foreach (StoryBlockDefinition block in blocks) + { + if (block == null || string.IsNullOrWhiteSpace(block.blockId)) + { + continue; + } + + ValidateBlock(block, blockIds, issues); + ValidateCondition(block.unlockCondition, $"Block '{block.blockId}' Unlock Condition", blockIds, issues); + ValidateCondition(block.forbiddenCondition, $"Block '{block.blockId}' Forbidden Condition", blockIds, issues); + } + + ValidateTextBlockYarnNodes(issues); + HashSet reachableBlockIds = ValidateStoryGraph(blockIds, issues); + + foreach (StoryTimelineMarkerDefinition marker in timelineMarkers) + { + if (marker == null) + { + issues.Add("[Warning] Timeline Markers 中存在空项。"); + continue; + } + + if (!IsValidStableKey(marker.markerId)) + { + issues.Add($"[Error] Timeline Marker ID '{marker.markerId}' 为空或不符合命名规则。"); + } + else if (!markerIds.Add(marker.markerId)) + { + issues.Add($"[Error] Timeline Marker ID '{marker.markerId}' 重复。"); + } + + StoryBlockDefinition anchor = GetBlock(marker.anchorBlockId); + if (anchor == null) + { + issues.Add($"[Error] Timeline Marker '{marker.markerId}' 指向不存在的 Anchor Block '{marker.anchorBlockId}'。"); + } + else if (anchor.blockType != StoryBlockType.Text) + { + issues.Add($"[Error] Timeline Marker '{marker.markerId}' 的 Anchor Block '{marker.anchorBlockId}' 不是 TextBlock。"); + } + + if (string.IsNullOrWhiteSpace(marker.labelKey)) + { + issues.Add($"[Warning] Timeline Marker '{marker.markerId}' 未配置 Label Key。"); + } + } + + ValidateTimelineMarkerAnchors(reachableBlockIds, issues); + ValidateExclusiveRouteGroups(blockIds, issues); + ValidateLegacyYarnSyntax(issues); + + if (issues.Count == 0) + { + Debug.Log($"[StoryData] '{name}' validation passed.", this); + } + else + { + // Unity Console 的折叠列表不会为单条日志中的换行自动增加行高, + // 把整份报告拼成多行字符串会导致文本重叠。摘要与每个问题分别输出, + // 既保持 Console 可读,也能让使用者逐条双击定位所属 StoryData。 + Debug.LogWarning($"[StoryData] '{name}' validation found {issues.Count} issue(s). See the following entries.", this); + for (int index = 0; index < issues.Count; index++) + { + string issue = issues[index]; + string message = $"[StoryData] '{name}' [{index + 1}/{issues.Count}] {issue}"; + if (issue.StartsWith("[Error]")) + Debug.LogError(message, this); + else + Debug.LogWarning(message, this); + } + } + } + + /// + /// 检查单个 Block 的必要配置。该方法只报告明确会导致运行时入口失效的字段, + /// 不检查歌曲或谱面导入结果,以免把内容制作流程变成阻断式校验。 + /// + private static void ValidateBlock(StoryBlockDefinition block, HashSet blockIds, List issues) + { + HashSet nextIds = new HashSet(); + foreach (string nextId in block.nextBlockIds) + { + if (string.IsNullOrWhiteSpace(nextId)) + { + issues.Add($"[Warning] Block '{block.blockId}' 的 Next Blocks 中存在空 ID。"); + } + else if (!blockIds.Contains(nextId)) + { + issues.Add($"[Error] Block '{block.blockId}' 指向不存在的 Next Block '{nextId}'。"); + } + else if (!nextIds.Add(nextId)) + { + issues.Add($"[Warning] Block '{block.blockId}' 重复指向 Next Block '{nextId}'。"); + } + } + + switch (block.blockType) + { + case StoryBlockType.Text when string.IsNullOrWhiteSpace(block.yarnNodeName): + issues.Add($"[Warning] TextBlock '{block.blockId}' 未配置 Yarn Node。"); + break; + case StoryBlockType.Song when string.IsNullOrWhiteSpace(block.songName): + issues.Add($"[Warning] SongBlock '{block.blockId}' 未配置 Song ID。"); + break; + case StoryBlockType.Tutorial: + if (string.IsNullOrWhiteSpace(block.tutorialKey)) + issues.Add($"[Warning] TutorialBlock '{block.blockId}' 未配置 Tutorial Key。"); + if (string.IsNullOrWhiteSpace(block.tutorialProgressVariable)) + issues.Add($"[Warning] TutorialBlock '{block.blockId}' 未配置 Progress Variable。"); + if (block.tutorialDifficultySaveId < 0) + issues.Add($"[Warning] TutorialBlock '{block.blockId}' 未配置有效的 Difficulty Save ID。"); + break; + } + } + + /// + /// 校验 TextBlock 的 Yarn 节点是否真实存在于已编译的 YarnProject,及是否被多个 Block 共用。 + /// 后者并非必然错误,但通常意味着复制 Block 后忘记替换 Node,因此仅报告 Warning。 + /// + private void ValidateTextBlockYarnNodes(List issues) + { + if (yarnProject?.Program == null) + return; + + Dictionary> blockIdsByNode = new Dictionary>(); + foreach (StoryBlockDefinition block in blocks) + { + if (block == null || block.blockType != StoryBlockType.Text || string.IsNullOrWhiteSpace(block.yarnNodeName)) + continue; + + if (!yarnProject.Program.Nodes.ContainsKey(block.yarnNodeName)) + issues.Add($"[Error] TextBlock '{block.blockId}' 指向的 Yarn Node '{block.yarnNodeName}' 不存在于当前 Yarn Project。" ); + + if (!blockIdsByNode.TryGetValue(block.yarnNodeName, out List referencedBlocks)) + { + referencedBlocks = new List(); + blockIdsByNode[block.yarnNodeName] = referencedBlocks; + } + + referencedBlocks.Add(block.blockId); + } + + foreach (KeyValuePair> pair in blockIdsByNode) + { + if (pair.Value.Count > 1) + issues.Add($"[Warning] Yarn Node '{pair.Key}' 被多个 TextBlock 共用:{string.Join(", ", pair.Value)}。确认这是有意复用,而非遗漏修改 Node。" ); + } + } + + /// + /// 对 StoryData 的连接图做只读的结构检查:入口、不可达 Block、环路、非向前连接与终点。 + /// 这些检查不评价具体剧情质量,只定位最容易造成“永远无法游玩”或“无法结束章节”的配置问题。 + /// + private HashSet ValidateStoryGraph(HashSet blockIds, List issues) + { + Dictionary> adjacency = new Dictionary>(); + Dictionary indegree = new Dictionary(); + foreach (string id in blockIds) + { + adjacency[id] = new List(); + indegree[id] = 0; + } + + foreach (StoryBlockDefinition block in blocks) + { + if (block == null || !blockIds.Contains(block.blockId)) + continue; + + foreach (string nextId in block.nextBlockIds.Where(id => !string.IsNullOrWhiteSpace(id) && blockIds.Contains(id)).Distinct()) + { + adjacency[block.blockId].Add(nextId); + indegree[nextId]++; + + StoryBlockDefinition next = GetBlock(nextId); + if (next != null && next.gridColumn <= block.gridColumn) + issues.Add($"[Warning] Block '{block.blockId}' -> '{nextId}' 没有指向更靠后的 Column;请确认这不是意外的回退连接或循环。" ); + } + } + + List entries = indegree.Where(pair => pair.Value == 0).Select(pair => pair.Key).ToList(); + if (entries.Count == 0 && blockIds.Count > 0) + issues.Add("[Error] 剧情连接图没有入口 Block(所有 Block 都存在前置连接)。"); + else if (entries.Count > 1) + issues.Add($"[Warning] 剧情连接图存在 {entries.Count} 个入口 Block:{string.Join(", ", entries)}。确认它们均由条件或设计意图控制。" ); + + HashSet reachable = new HashSet(); + Stack pending = new Stack(entries); + while (pending.Count > 0) + { + string current = pending.Pop(); + if (!reachable.Add(current)) + continue; + + foreach (string next in adjacency[current]) + pending.Push(next); + } + + foreach (string id in blockIds.Where(id => !reachable.Contains(id))) + issues.Add($"[Warning] Block '{id}' 从任何入口都不可达;若依赖纯变量条件进入,请确认存在外部入口。" ); + + List terminalBlocks = adjacency.Where(pair => pair.Value.Count == 0).Select(pair => pair.Key).ToList(); + if (blockIds.Count > 0 && terminalBlocks.Count == 0) + issues.Add("[Warning] 剧情连接图不存在终点 Block;请确认循环路线可以按预期结束。" ); + + HashSet visiting = new HashSet(); + HashSet visited = new HashSet(); + foreach (string entry in entries) + DetectCycle(entry, adjacency, visiting, visited, issues); + + return reachable; + } + + private static void DetectCycle(string blockId, Dictionary> adjacency, + HashSet visiting, HashSet visited, List issues) + { + if (visited.Contains(blockId)) + return; + + if (!visiting.Add(blockId)) + { + issues.Add($"[Warning] 剧情连接图检测到包含 Block '{blockId}' 的循环。请确认该循环有明确的变量出口。" ); + return; + } + + foreach (string next in adjacency[blockId]) + DetectCycle(next, adjacency, visiting, visited, issues); + + visiting.Remove(blockId); + visited.Add(blockId); + } + + /// 检查多个 Marker 是否锚定到同一 Block;通常表示重复配置,不阻止特殊的多标签时间点。 + private void ValidateTimelineMarkerAnchors(HashSet reachableBlockIds, List issues) + { + foreach (IGrouping group in timelineMarkers + .Where(marker => marker != null && !string.IsNullOrWhiteSpace(marker.anchorBlockId)) + .GroupBy(marker => marker.anchorBlockId)) + { + if (group.Count() > 1) + issues.Add($"[Warning] 多个 Timeline Marker 锚定到 Block '{group.Key}':{string.Join(", ", group.Select(marker => marker.markerId))}。确认这是有意的多标签时间点。" ); + + if (!reachableBlockIds.Contains(group.Key)) + issues.Add($"[Warning] Timeline Marker 锚定的 Block '{group.Key}' 从任何入口都不可达,Marker 将永远不会按正常流程显示。" ); + } + } + + /// + /// 检查互斥结局的编辑期声明。由于 Forbidden Condition 可以是任意变量表达式, + /// 自检无法数学证明条件完全互斥;它只检查显式分组、引用、终点形态和最基本的禁用条件覆盖。 + /// + private void ValidateExclusiveRouteGroups(HashSet blockIds, List issues) + { + HashSet groupIds = new HashSet(); + foreach (StoryRouteValidationGroup group in exclusiveRouteGroups) + { + if (group == null) + { + issues.Add("[Warning] Exclusive Route Groups 中存在空项。"); + continue; + } + + if (!IsValidStableKey(group.groupId)) + issues.Add($"[Error] Exclusive Route Group ID '{group.groupId}' 为空或不符合命名规则。" ); + else if (!groupIds.Add(group.groupId)) + issues.Add($"[Error] Exclusive Route Group ID '{group.groupId}' 重复。" ); + + if (group.terminalBlockIds == null || group.terminalBlockIds.Count < 2) + { + issues.Add($"[Warning] Exclusive Route Group '{group.groupId}' 至少应包含两个互斥终点 Block。" ); + continue; + } + + HashSet seenTerminalIds = new HashSet(); + foreach (string terminalId in group.terminalBlockIds) + { + if (!seenTerminalIds.Add(terminalId)) + { + issues.Add($"[Warning] Exclusive Route Group '{group.groupId}' 重复包含 Block '{terminalId}'。" ); + continue; + } + + StoryBlockDefinition terminal = GetBlock(terminalId); + if (terminal == null || !blockIds.Contains(terminalId)) + { + issues.Add($"[Error] Exclusive Route Group '{group.groupId}' 引用了不存在的 Block '{terminalId}'。" ); + continue; + } + + if (terminal.nextBlockIds.Any(id => !string.IsNullOrWhiteSpace(id))) + issues.Add($"[Warning] Exclusive Route Group '{group.groupId}' 的终点 Block '{terminalId}' 仍配置了 Next Block。" ); + + if (terminal.forbiddenCondition == null || !terminal.forbiddenCondition.IsConfigured) + issues.Add($"[Warning] 互斥终点 Block '{terminalId}' 未配置 Forbidden Condition;请人工确认其它路线完成后会禁用它。" ); + } + } + } + + /// + /// 侦测已废弃的 Yarn 临时变量语法。新台本应只使用项目提供的 set_* / get_* 永久变量命令; + /// C0 旧台本仍可能保留历史语法,故当前只输出 Warning,不自动修改任何文本资产。 + /// + private void ValidateLegacyYarnSyntax(List issues) + { + if (yarnProject == null) + return; + + string projectPath = AssetDatabase.GetAssetPath(yarnProject); + foreach (string path in AssetDatabase.GetDependencies(projectPath, true).Where(path => path.EndsWith(".yarn"))) + { + TextAsset yarnSource = AssetDatabase.LoadAssetAtPath(path); + if (yarnSource == null) + continue; + + string[] lines = yarnSource.text.Split('\n'); + for (int index = 0; index < lines.Length; index++) + { + string line = lines[index].TrimStart(); + if (line.StartsWith("< + /// 遍历通用条件树,检查会造成条件无法按预期求值的空引用或不存在 Block 引用。 + /// VariableCondition 只检查变量名是否为空:未在 Initial Variables 声明的变量允许由 Yarn 在运行时首次写入。 + /// + private static void ValidateCondition(StoryCondition condition, string owner, HashSet blockIds, List issues) + { + if (condition?.root != null) + { + ValidateConditionNode(condition.root, owner, blockIds, issues); + } + } + + private static void ValidateConditionNode(StoryConditionNode node, string owner, HashSet blockIds, List issues) + { + switch (node) + { + case AllOfCondition allOf: + if (allOf.conditions == null || allOf.conditions.Count == 0) + issues.Add($"[Warning] {owner} 的 All Of 没有子条件,会恒为 true。"); + else + ValidateConditionChildren(allOf.conditions, owner, blockIds, issues); + break; + case AnyOfCondition anyOf: + if (anyOf.conditions == null || anyOf.conditions.Count == 0) + issues.Add($"[Warning] {owner} 的 Any Of 没有子条件,会恒为 false。"); + else + ValidateConditionChildren(anyOf.conditions, owner, blockIds, issues); + break; + case NotCondition not: + if (not.condition == null) + issues.Add($"[Warning] {owner} 的 Not 没有子条件,会恒为 true。"); + else + ValidateConditionNode(not.condition, owner, blockIds, issues); + break; + case BlockCompletedCondition blockCompleted: + if (string.IsNullOrWhiteSpace(blockCompleted.blockId) || !blockIds.Contains(blockCompleted.blockId)) + issues.Add($"[Error] {owner} 引用了不存在的 Block Completed ID '{blockCompleted.blockId}'。"); + break; + case VariableCondition variable when string.IsNullOrWhiteSpace(variable.variableName): + issues.Add($"[Error] {owner} 存在未填写 Variable Name 的 Variable Compare。"); + break; + case null: + issues.Add($"[Warning] {owner} 包含空条件节点。"); + break; + } + } + + private static void ValidateConditionChildren(List children, string owner, HashSet blockIds, List issues) + { + foreach (StoryConditionNode child in children) + { + ValidateConditionNode(child, owner, blockIds, issues); + } + } + + private static bool IsValidStableKey(string value) + { + if (string.IsNullOrWhiteSpace(value)) + { + return false; + } + + foreach (char character in value) + { + if (!(character is >= 'a' and <= 'z') && + !(character is >= '0' and <= '9') && + character != '_') + { + return false; + } + } + + return true; + } + + /// + /// 在 Inspector 顶部绘制只读的故事树结构预览(流程图样式,连线左右相连)。 + /// 提供"详细 / 简略"两种可拖拽平移的视图;按 (gridColumn, gridRow) 摆放 block。 + /// 每个 Block 使用其运行时 Prefab 尺寸按统一比例缩放后的矩形,且列坐标始终代表 Block 的中心点, + /// 从而让 Important / Secondary / Song / Tutorial 的体积与连线端点关系尽量接近游戏内画面。 + /// + [PropertyOrder(-10)] + [OnInspectorGUI] + private void DrawStoryPreview() + { + _isPreviewExpanded = EditorGUILayout.Foldout( + _isPreviewExpanded, + new GUIContent( + "Story Tree Preview", + "只读预览:按 StoryData 的 Column / Row、连接关系和当前 Block 尺寸约定绘制。展开后可拖动平移视图。" + ), + true + ); + if (!_isPreviewExpanded) + { + return; + } + + if (blocks == null || blocks.Count == 0) + { + EditorGUILayout.HelpBox("尚未定义任何 block。", MessageType.Info); + return; + } + + // 顶部工具条:模式切换 + 复位视图 + EditorGUILayout.BeginHorizontal(); + _previewMode = (StoryPreviewMode)GUILayout.Toolbar( + (int)_previewMode, new[] { "Detailed", "Simple" }, GUILayout.Height(20f)); + if (GUILayout.Button("Fit View", GUILayout.Width(80f), GUILayout.Height(20f))) + _requestPreviewFit = true; + if (GUILayout.Button("Reset", GUILayout.Width(60f), GUILayout.Height(20f))) + _previewPan = Vector2.zero; + EditorGUILayout.EndHorizontal(); + + bool simple = _previewMode == StoryPreviewMode.Simple; + float previewScale = simple ? SimplePreviewScale : DetailedPreviewScale; + float stepX = RuntimeColumnStep * previewScale; + float stepY = RuntimeRowStep * previewScale; + + Rect area = GUILayoutUtility.GetRect(0f, PreviewViewportHeight, GUILayout.ExpandWidth(true)); + // 工具栏按钮在取得最终 Preview 区域后才可执行精确 Fit;用当前 Event 的热键标记延迟到这里处理。 + if (_requestPreviewFit) + { + FitPreviewView(area, previewScale); + _requestPreviewFit = false; + } + EditorGUI.DrawRect(area, new Color(0.12f, 0.12f, 0.14f, 1f)); + + HandlePreviewPanning(area); + + // 裁剪到预览区,超出部分(平移后)不外溢到其它 Inspector 元素 + GUI.BeginClip(area); + { + // (0,0) 是 Block 的逻辑中心点。为避免第一列 Important Block 被左侧裁掉, + // 初始视图预留半个最大 Block 宽度;这不改变 StoryData 的坐标语义。 + float originX = PreviewPaddingLeft + ImportantBlockWidth * previewScale * 0.5f + _previewPan.x; + float originY = area.height * 0.5f + _previewPan.y; + + // 计算各 Block 的实际比例矩形。运行时同样以中心 Pivot 放置,因此 gridColumn / gridRow + // 在预览中也对应矩形中心,而不是左边缘。 + Dictionary cellRects = new Dictionary(); + foreach (StoryBlockDefinition block in blocks) + { + if (!HasPreviewableBlockId(block)) continue; + + Vector2 blockSize = GetPreviewBlockSize(block, previewScale); + float px = originX + block.gridColumn * stepX; // 列向右为正(可负、可小数) + float py = originY + block.gridRow * stepY; // 行向下为正、向上为负 + cellRects[block.blockId] = new Rect( + px - blockSize.x * 0.5f, + py - blockSize.y * 0.5f, + blockSize.x, + blockSize.y); + } + + // 先画连线:与 BlockConnectorView 相同,起点右中 → 以两个 Block 中心的中点列折线 → 终点左中。 + // 不使用端口中点作为转折列,避免不同宽度 Block 在同一列时出现不一致的转折位置。 + Handles.BeginGUI(); + foreach (StoryBlockDefinition block in blocks) + { + if (!HasPreviewableBlockId(block) || !cellRects.TryGetValue(block.blockId, out Rect fromRect)) continue; + + foreach (string nextId in block.nextBlockIds) + { + if (string.IsNullOrEmpty(nextId) || !cellRects.TryGetValue(nextId, out Rect toRect)) continue; + + Vector3 start = new Vector3(fromRect.xMax, fromRect.center.y, 0f); + Vector3 end = new Vector3(toRect.xMin, toRect.center.y, 0f); + float midX = (fromRect.center.x + toRect.center.x) * 0.5f; + Vector3 mid1 = new Vector3(midX, start.y, 0f); + Vector3 mid2 = new Vector3(midX, end.y, 0f); + + Handles.color = new Color(0.82f, 0.82f, 0.88f, 1f); + Handles.DrawAAPolyLine(simple ? 2f : 3f, start, mid1, mid2, end); + } + } + Handles.EndGUI(); + + // 再画 block 方块 + GUIStyle labelStyle = new GUIStyle(EditorStyles.boldLabel) + { + alignment = TextAnchor.MiddleCenter, + wordWrap = true, + richText = false, + fontSize = simple ? 9 : 11, + normal = { textColor = Color.white } + }; + + foreach (StoryBlockDefinition block in blocks) + { + if (!HasPreviewableBlockId(block) || !cellRects.TryGetValue(block.blockId, out Rect rect)) continue; + + EditorGUI.DrawRect(rect, GetTypeColor(block.blockType)); + string label = GetPreviewLabel(block, simple, rect.height); + GUI.Label(rect, label, labelStyle); + } + } + GUI.EndClip(); + + } + + /// + /// 返回一个 Block 在 Inspector 预览中的尺寸。所有类型使用同一缩放比例, + /// 因而宽高比及不同 Block 之间的体积关系与运行时 Prefab 保持一致。 + /// + private static Vector2 GetPreviewBlockSize(StoryBlockDefinition block, float previewScale) + { + Vector2 runtimeSize = block.blockType switch + { + StoryBlockType.Text when block.textImportance == TextBlockImportance.Important => + new Vector2(ImportantBlockWidth, ImportantBlockHeight), + StoryBlockType.Text => new Vector2(SecondaryBlockWidth, SecondaryBlockHeight), + StoryBlockType.Song => new Vector2(SongBlockWidth, SongBlockHeight), + StoryBlockType.Tutorial => new Vector2(TutorialBlockWidth, TutorialBlockHeight), + _ => Vector2.zero + }; + + return runtimeSize * previewScale; + } + + /// + /// 将当前 StoryData 的真实预览边界居中到可视区域。 + /// 只修改 Inspector 的临时平移量,不会修改任何 Block 的 gridColumn / gridRow。 + /// + private void FitPreviewView(Rect area, float previewScale) + { + if (blocks == null || blocks.Count == 0) + { + _previewPan = Vector2.zero; + return; + } + + float stepX = RuntimeColumnStep * previewScale; + float stepY = RuntimeRowStep * previewScale; + float minX = float.PositiveInfinity; + float maxX = float.NegativeInfinity; + float minY = float.PositiveInfinity; + float maxY = float.NegativeInfinity; + + foreach (StoryBlockDefinition block in blocks) + { + if (!HasPreviewableBlockId(block)) + { + continue; + } + + Vector2 size = GetPreviewBlockSize(block, previewScale); + float centerX = block.gridColumn * stepX; + float centerY = block.gridRow * stepY; + minX = Mathf.Min(minX, centerX - size.x * 0.5f); + maxX = Mathf.Max(maxX, centerX + size.x * 0.5f); + minY = Mathf.Min(minY, centerY - size.y * 0.5f); + maxY = Mathf.Max(maxY, centerY + size.y * 0.5f); + } + + if (float.IsPositiveInfinity(minX)) + { + _previewPan = Vector2.zero; + return; + } + + // DrawStoryPreview 的初始原点位于左侧 Padding + 半个最大 Block 宽度; + // 此处只补偿该基础原点与内容包围盒中心之间的差值。 + float baseOriginX = PreviewPaddingLeft + ImportantBlockWidth * previewScale * 0.5f; + _previewPan = new Vector2( + area.width * 0.5f - baseOriginX - (minX + maxX) * 0.5f, + -(minY + maxY) * 0.5f + ); + } + + /// + /// 根据可用高度选择预览标签密度。Song / Tutorial 的真实比例高度较小, + /// 因此只显示 Block ID,避免文字撑破矩形而掩盖实际体积关系。 + /// + private static string GetPreviewLabel(StoryBlockDefinition block, bool simple, float blockHeight) + { + if (simple || blockHeight < 32f) + { + return block.blockId; + } + + if (blockHeight < 60f) + { + return $"{block.blockId}\n[{block.blockType}]"; + } + + return $"{block.blockId}\n[{block.blockType}]\n{block.GetDisplayTitle()}"; + } + + /// + /// 处理预览区内的鼠标拖拽平移。 + /// + private void HandlePreviewPanning(Rect area) + { + Event e = Event.current; + switch (e.type) + { + case EventType.MouseDown: + if (area.Contains(e.mousePosition)) + { + _isPanningPreview = true; + e.Use(); + } + break; + case EventType.MouseDrag: + if (_isPanningPreview) + { + _previewPan += e.delta; + GUI.changed = true; + e.Use(); + } + break; + case EventType.MouseUp: + if (_isPanningPreview) + { + _isPanningPreview = false; + e.Use(); + } + break; + } + } + + /// + /// 判断 Block 能否参与 Inspector 中的故事树预览。 + /// 新增 Block 时,Odin 会先创建一个尚未填写 blockId 的临时数据项;它还不能作为 + /// Dictionary 的 Key,也不应在预览中显示或连接。统一在三个预览阶段过滤,避免后续 + /// Draw / TryGetValue 阶段再次把空引用传入 Dictionary。 + /// + private static bool HasPreviewableBlockId(StoryBlockDefinition block) + { + return block != null && !string.IsNullOrWhiteSpace(block.blockId); + } + + /// + /// 预览中不同 block 类型的填充色。 + /// + private static Color GetTypeColor(StoryBlockType type) + { + return type switch + { + StoryBlockType.Text => new Color(0.20f, 0.42f, 0.72f, 1f), // 蓝 + StoryBlockType.Song => new Color(0.62f, 0.30f, 0.66f, 1f), // 紫 + StoryBlockType.Tutorial => new Color(0.28f, 0.56f, 0.36f, 1f), // 绿 + _ => new Color(0.4f, 0.4f, 0.4f, 1f) + }; + } + } +} +#endif + + diff --git a/Assets/Scripts/NewStorySystem/Data/StoryData.Editor.cs.meta b/Assets/Scripts/NewStorySystem/Data/StoryData.Editor.cs.meta new file mode 100644 index 00000000..7553f786 --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Data/StoryData.Editor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 93a8de9ae74f4e8784af656377c443be diff --git a/Assets/Scripts/NewStorySystem/Data/StoryData.cs b/Assets/Scripts/NewStorySystem/Data/StoryData.cs index 7e947394..a114c322 100644 --- a/Assets/Scripts/NewStorySystem/Data/StoryData.cs +++ b/Assets/Scripts/NewStorySystem/Data/StoryData.cs @@ -2,10 +2,6 @@ using System.Collections.Generic; using Sirenix.OdinInspector; using UnityEngine; using Yarn.Unity; -#if UNITY_EDITOR -using UnityEditor; -using Sirenix.Utilities.Editor; -#endif namespace Ichni.Story { @@ -14,17 +10,30 @@ namespace Ichni.Story /// 布局完全由每个 block 的 (gridColumn, gridRow) 静态决定,运行时全量展示。 /// [CreateAssetMenu(fileName = "StoryData", menuName = "Ichni/Story/New/StoryData")] - public class StoryData : SerializedScriptableObject + public partial class StoryData : SerializedScriptableObject { + [TitleGroup("Chapter Settings", Alignment = TitleAlignments.Centered)] [LabelText("Chapter Index")] + [Tooltip("章节的稳定索引。StorySave、StoryManager 与 ChapterSelection 都以该值定位当前章节。")] public string chapterIndex; + [TitleGroup("Chapter Settings")] [LabelText("Yarn Project")] - [InfoBox("该章节对应的 YarnProject 编译资产,阶段 2 接线。")] + [Tooltip("该章节对应的 YarnProject 编译资产。TextBlock 会在运行时从此项目中执行配置的 Yarn Node。")] public YarnProject yarnProject; + /// + /// 本章节永久剧情变量的默认值。它们只属于本章节,且不会直接写入存档; + /// 玩家第一次通过 Yarn 或其它剧情入口写入同名变量后,存档值才会覆盖这里的默认值。 + /// + [LabelText("Initial Variables")] + [ListDrawerSettings(ShowFoldout = true, DefaultExpandedState = false, DraggableItems = true, ShowItemCount = true)] + [Tooltip("变量 Key 使用小写英文、数字和下划线。Yarn 请通过 <> 与 get_*() 访问,不使用 <>、<> 或 $variable。")] + public List initialVariables = new List(); + [LabelText("Blocks")] [ListDrawerSettings(ShowFoldout = true, DefaultExpandedState = false, DraggableItems = true, ShowItemCount = true)] + [Tooltip("章节的完整剧情树定义。列表排序不决定运行时流程;连接关系、条件与网格坐标才是唯一依据。")] public List blocks = new List(); /// @@ -34,9 +43,18 @@ namespace Ichni.Story /// [LabelText("Timeline Markers")] [ListDrawerSettings(ShowFoldout = true, DefaultExpandedState = false, DraggableItems = true, ShowItemCount = true)] - [InfoBox("每个标记锚定到一个 TextBlock;运行时使用该 Block 的 Grid Column 对齐 Timeline。TextBlock 为 Current / Completed 时显示,Locked / Forbidden 时隐藏。未配置标记时,现有章节行为不变。")] + [Tooltip("每个标记锚定到一个 TextBlock;运行时使用该 Block 的 Grid Column 对齐 Timeline。TextBlock 为 Current / Completed 时显示,Locked / Forbidden 时隐藏。")] public List timelineMarkers = new List(); + /// + /// 仅供编辑器自检使用的互斥结局分组,不参与运行时的解锁、禁用或存档逻辑。 + /// 实际路线禁用仍完全通过各 Block 的 Forbidden Condition 表达,以保留剧情变量组合的灵活性。 + /// + [LabelText("Exclusive Route Groups")] + [ListDrawerSettings(ShowFoldout = true, DefaultExpandedState = false, DraggableItems = true, ShowItemCount = true)] + [Tooltip("把同一章节中只能同时达成一个的结局 Block 放入同一组。Validate Story Data 会检查引用、终点形态与 Forbidden Condition 配置;不会改变运行时逻辑。")] + public List exclusiveRouteGroups = new List(); + // ── Queries ───────────────────────────────────────────────────────────── /// @@ -46,13 +64,35 @@ namespace Ichni.Story { foreach (StoryBlockDefinition block in blocks) { - if (block.blockId == blockId) + if (block != null && block.blockId == blockId) return block; } return null; } + /// + /// 尝试获取一个章节变量的静态默认定义。重复 Key 取列表中第一项, + /// 因此配置时应保持 Key 唯一,以免在 Inspector 中产生歧义。 + /// + public bool TryGetInitialVariable(string key, out StoryVariableDefinition definition) + { + if (!string.IsNullOrWhiteSpace(key) && initialVariables != null) + { + foreach (StoryVariableDefinition item in initialVariables) + { + if (item != null && item.key == key) + { + definition = item; + return true; + } + } + } + + definition = null; + return false; + } + /// /// 获取指定 blockId 的所有直接后继 block 定义。 /// @@ -61,6 +101,9 @@ namespace Ichni.Story StoryBlockDefinition source = GetBlock(blockId); if (source == null) yield break; + if (source.nextBlockIds == null) + yield break; + foreach (string nextId in source.nextBlockIds) { StoryBlockDefinition next = GetBlock(nextId); @@ -69,241 +112,5 @@ namespace Ichni.Story } } - // ── Editor Preview ──────────────────────────────────────────────────────── -#if UNITY_EDITOR - private enum StoryPreviewMode { Detailed, Simple } - - // 编辑器 UI 临时状态(不参与序列化) - [System.NonSerialized] private StoryPreviewMode _previewMode = StoryPreviewMode.Detailed; - [System.NonSerialized] private Vector2 _previewPan; - [System.NonSerialized] private bool _isPanningPreview; - - private const float PreviewViewportHeight = 380f; - private const float PreviewPaddingLeft = 24f; - - // 预览与运行时共用同一套“列 / 行代表 Block 中心点”的布局语义。 - // 这里的尺寸直接对应当前四种 Block Prefab 的设计尺寸;若未来修改 Prefab 尺寸,必须同步更新本组常量。 - private const float ImportantBlockWidth = 600f; - private const float ImportantBlockHeight = 375f; - private const float SecondaryBlockWidth = 400f; - private const float SecondaryBlockHeight = 200f; - private const float SongBlockWidth = 400f; - private const float SongBlockHeight = 100f; - private const float TutorialBlockWidth = 400f; - private const float TutorialBlockHeight = 100f; - - // 与 StoryTreeController 默认 columnStep / rowStep 保持比例一致, - // 因而预览中的相邻列、行间距也能反映运行时的实际布局关系。 - private const float RuntimeColumnStep = 720f; - private const float RuntimeRowStep = 525f; - private const float DetailedPreviewScale = 0.25f; - private const float SimplePreviewScale = 0.10f; - - /// - /// 在 Inspector 顶部绘制只读的故事树结构预览(流程图样式,连线左右相连)。 - /// 提供"详细 / 简略"两种可拖拽平移的视图;按 (gridColumn, gridRow) 摆放 block。 - /// 每个 Block 使用其运行时 Prefab 尺寸按统一比例缩放后的矩形,且列坐标始终代表 Block 的中心点, - /// 从而让 Important / Secondary / Song / Tutorial 的体积与连线端点关系尽量接近游戏内画面。 - /// - [PropertyOrder(-10)] - [OnInspectorGUI] - private void DrawStoryPreview() - { - SirenixEditorGUI.Title("Story Tree Preview", null, TextAlignment.Left, true); - - if (blocks == null || blocks.Count == 0) - { - EditorGUILayout.HelpBox("尚未定义任何 block。", MessageType.Info); - return; - } - - // 顶部工具条:模式切换 + 复位视图 - EditorGUILayout.BeginHorizontal(); - _previewMode = (StoryPreviewMode)GUILayout.Toolbar( - (int)_previewMode, new[] { "Detailed", "Simple" }, GUILayout.Height(20f)); - if (GUILayout.Button("Reset View", GUILayout.Width(90f), GUILayout.Height(20f))) - _previewPan = Vector2.zero; - EditorGUILayout.EndHorizontal(); - - bool simple = _previewMode == StoryPreviewMode.Simple; - float previewScale = simple ? SimplePreviewScale : DetailedPreviewScale; - float stepX = RuntimeColumnStep * previewScale; - float stepY = RuntimeRowStep * previewScale; - - Rect area = GUILayoutUtility.GetRect(0f, PreviewViewportHeight, GUILayout.ExpandWidth(true)); - EditorGUI.DrawRect(area, new Color(0.12f, 0.12f, 0.14f, 1f)); - - HandlePreviewPanning(area); - - // 裁剪到预览区,超出部分(平移后)不外溢到其它 Inspector 元素 - GUI.BeginClip(area); - { - // (0,0) 是 Block 的逻辑中心点。为避免第一列 Important Block 被左侧裁掉, - // 初始视图预留半个最大 Block 宽度;这不改变 StoryData 的坐标语义。 - float originX = PreviewPaddingLeft + ImportantBlockWidth * previewScale * 0.5f + _previewPan.x; - float originY = area.height * 0.5f + _previewPan.y; - - // 计算各 Block 的实际比例矩形。运行时同样以中心 Pivot 放置,因此 gridColumn / gridRow - // 在预览中也对应矩形中心,而不是左边缘。 - Dictionary cellRects = new Dictionary(); - foreach (StoryBlockDefinition block in blocks) - { - if (!HasPreviewableBlockId(block)) continue; - - Vector2 blockSize = GetPreviewBlockSize(block, previewScale); - float px = originX + block.gridColumn * stepX; // 列向右为正(可负、可小数) - float py = originY + block.gridRow * stepY; // 行向下为正、向上为负 - cellRects[block.blockId] = new Rect( - px - blockSize.x * 0.5f, - py - blockSize.y * 0.5f, - blockSize.x, - blockSize.y); - } - - // 先画连线:与 BlockConnectorView 相同,起点右中 → 以两个 Block 中心的中点列折线 → 终点左中。 - // 不使用端口中点作为转折列,避免不同宽度 Block 在同一列时出现不一致的转折位置。 - Handles.BeginGUI(); - foreach (StoryBlockDefinition block in blocks) - { - if (!HasPreviewableBlockId(block) || !cellRects.TryGetValue(block.blockId, out Rect fromRect)) continue; - - foreach (string nextId in block.nextBlockIds) - { - if (string.IsNullOrEmpty(nextId) || !cellRects.TryGetValue(nextId, out Rect toRect)) continue; - - Vector3 start = new Vector3(fromRect.xMax, fromRect.center.y, 0f); - Vector3 end = new Vector3(toRect.xMin, toRect.center.y, 0f); - float midX = (fromRect.center.x + toRect.center.x) * 0.5f; - Vector3 mid1 = new Vector3(midX, start.y, 0f); - Vector3 mid2 = new Vector3(midX, end.y, 0f); - - Handles.color = new Color(0.82f, 0.82f, 0.88f, 1f); - Handles.DrawAAPolyLine(simple ? 2f : 3f, start, mid1, mid2, end); - } - } - Handles.EndGUI(); - - // 再画 block 方块 - GUIStyle labelStyle = new GUIStyle(EditorStyles.boldLabel) - { - alignment = TextAnchor.MiddleCenter, - wordWrap = true, - richText = false, - fontSize = simple ? 9 : 11, - normal = { textColor = Color.white } - }; - - foreach (StoryBlockDefinition block in blocks) - { - if (!HasPreviewableBlockId(block) || !cellRects.TryGetValue(block.blockId, out Rect rect)) continue; - - EditorGUI.DrawRect(rect, GetTypeColor(block.blockType)); - string label = GetPreviewLabel(block, simple, rect.height); - GUI.Label(rect, label, labelStyle); - } - } - GUI.EndClip(); - - EditorGUILayout.HelpBox( - "在预览区内拖拽可平移视图。列 = 水平(右为正),行 = 垂直(下为正、上为负);坐标代表 Block 中心点。预览按当前 Prefab 尺寸比例绘制:Important 600×375、Secondary 400×200、Song / Tutorial 400×100。", - MessageType.None); - } - - /// - /// 返回一个 Block 在 Inspector 预览中的尺寸。所有类型使用同一缩放比例, - /// 因而宽高比及不同 Block 之间的体积关系与运行时 Prefab 保持一致。 - /// - private static Vector2 GetPreviewBlockSize(StoryBlockDefinition block, float previewScale) - { - Vector2 runtimeSize = block.blockType switch - { - StoryBlockType.Text when block.textImportance == TextBlockImportance.Important => - new Vector2(ImportantBlockWidth, ImportantBlockHeight), - StoryBlockType.Text => new Vector2(SecondaryBlockWidth, SecondaryBlockHeight), - StoryBlockType.Song => new Vector2(SongBlockWidth, SongBlockHeight), - StoryBlockType.Tutorial => new Vector2(TutorialBlockWidth, TutorialBlockHeight), - _ => Vector2.zero - }; - - return runtimeSize * previewScale; - } - - /// - /// 根据可用高度选择预览标签密度。Song / Tutorial 的真实比例高度较小, - /// 因此只显示 Block ID,避免文字撑破矩形而掩盖实际体积关系。 - /// - private static string GetPreviewLabel(StoryBlockDefinition block, bool simple, float blockHeight) - { - if (simple || blockHeight < 32f) - { - return block.blockId; - } - - if (blockHeight < 60f) - { - return $"{block.blockId}\n[{block.blockType}]"; - } - - return $"{block.blockId}\n[{block.blockType}]\n{block.GetDisplayTitle()}"; - } - - /// - /// 处理预览区内的鼠标拖拽平移。 - /// - private void HandlePreviewPanning(Rect area) - { - Event e = Event.current; - switch (e.type) - { - case EventType.MouseDown: - if (area.Contains(e.mousePosition)) - { - _isPanningPreview = true; - e.Use(); - } - break; - case EventType.MouseDrag: - if (_isPanningPreview) - { - _previewPan += e.delta; - GUI.changed = true; - e.Use(); - } - break; - case EventType.MouseUp: - if (_isPanningPreview) - { - _isPanningPreview = false; - e.Use(); - } - break; - } - } - - /// - /// 判断 Block 能否参与 Inspector 中的故事树预览。 - /// 新增 Block 时,Odin 会先创建一个尚未填写 blockId 的临时数据项;它还不能作为 - /// Dictionary 的 Key,也不应在预览中显示或连接。统一在三个预览阶段过滤,避免后续 - /// Draw / TryGetValue 阶段再次把空引用传入 Dictionary。 - /// - private static bool HasPreviewableBlockId(StoryBlockDefinition block) - { - return block != null && !string.IsNullOrWhiteSpace(block.blockId); - } - - /// - /// 预览中不同 block 类型的填充色。 - /// - private static Color GetTypeColor(StoryBlockType type) - { - return type switch - { - StoryBlockType.Text => new Color(0.20f, 0.42f, 0.72f, 1f), // 蓝 - StoryBlockType.Song => new Color(0.62f, 0.30f, 0.66f, 1f), // 紫 - StoryBlockType.Tutorial => new Color(0.28f, 0.56f, 0.36f, 1f), // 绿 - _ => new Color(0.4f, 0.4f, 0.4f, 1f) - }; - } -#endif } } diff --git a/Assets/Scripts/NewStorySystem/Data/StoryHelperData.cs b/Assets/Scripts/NewStorySystem/Data/StoryHelperData.cs index f218a9a0..2ccfd7ba 100644 --- a/Assets/Scripts/NewStorySystem/Data/StoryHelperData.cs +++ b/Assets/Scripts/NewStorySystem/Data/StoryHelperData.cs @@ -2,6 +2,8 @@ using System; using System.Collections.Generic; using Sirenix.OdinInspector; using UnityEngine; +using UnityEngine.Localization; +using UnityEngine.Localization.Tables; namespace Ichni.Story { @@ -10,21 +12,47 @@ namespace Ichni.Story /// 该资产不隶属于任何 StoryData,由 统一引用, /// 因而所有章节都共用同一个 Helper 角色、名称和候选对话池。 /// 运行时会在满足条件的候选中按权重抽取,并在候选数量允许时避免与上次对话重复; - /// 具体抽取和 UI 展示逻辑将在 Helper 功能实现阶段接入。 + /// 具体抽取和 UI 展示由 负责。 /// [CreateAssetMenu(fileName = "StoryHelperData", menuName = "Ichni/Story/New/Story Helper Data")] public class StoryHelperData : SerializedScriptableObject { + /// + /// Helper 的稳定身份标识。当前阶段只有一个 Helper,但后续的更换界面、存档和统计 + /// 都应使用该 ID,而非依赖可变的资源名称或显示名称。 + /// + [LabelText("Helper ID")] + [Tooltip("使用小写英文、数字和下划线,例如 chapter0_helper。未来切换与持久化 Helper 时使用此稳定 ID。")] + public string helperId; + + /// + /// 当前静态版本使用的立绘。留空时,静态 Presenter 会保留场景中原本配置的 Image, + /// 因而可以在不立即迁移全部美术引用的情况下逐步接入本数据资产。 + /// + [PreviewField(75, ObjectFieldAlignment.Left)] + [LabelText("Portrait Sprite")] + [Tooltip("当前静态 Helper 立绘。未来改用 Spine 或 Live2D 时,可由对应 Presenter 忽略该字段。")] + public Sprite portraitSprite; + + /// + /// Helper 名称与对话文本所使用的 Unity Localization String Table。 + /// + [LabelText("Localization Table")] + [Tooltip("Display Name Key、Fallback Dialogue Key 与 Dialogue Pool 的 Text Key 均在此 String Table 中查找。")] + public TableReference localizationTable; + /// /// Helper 显示名称的 Unity Localization Entry Key。 /// [LabelText("Display Name Key (Localization)")] + [Tooltip("Helper 显示名称使用的 Unity Localization Entry Key。")] public string displayNameKey; /// /// 当所有候选对话均不满足条件时显示的兜底对话 Entry Key。 /// [LabelText("Fallback Dialogue Key (Localization)")] + [Tooltip("没有候选对话满足条件时显示的 Unity Localization Entry Key。")] public string fallbackDialogueKey; /// @@ -32,6 +60,7 @@ namespace Ichni.Story /// [LabelText("Dialogue Pool")] [ListDrawerSettings(ShowFoldout = true, DefaultExpandedState = false, DraggableItems = true, ShowItemCount = true)] + [Tooltip("全章节共用的候选 Helper 对话。条件留空时该项始终可参与按权重抽取。")] public List dialoguePool = new List(); } @@ -42,25 +71,33 @@ namespace Ichni.Story /// [Serializable] [InlineProperty] + [HideReferenceObjectPicker] public class StoryHelperDialogueDefinition { /// /// 候选对话的稳定 ID,仅用于调试、去重和未来数据追踪。 /// 命名使用小写英文、数字和下划线,例如 general_greeting_01。 /// - [LabelText("Dialogue ID")] + [HorizontalGroup("Identity", 0.38f)] + [LabelText("ID")] + [LabelWidth(20)] + [Tooltip("候选对话的稳定 ID,仅用于调试、去重和未来数据追踪。")] public string dialogueId; /// /// 实际显示内容的 Unity Localization Entry Key。 /// - [LabelText("Dialogue Key (Localization)")] + [HorizontalGroup("Identity")] + [LabelText("Text Key")] + [LabelWidth(52)] + [Tooltip("实际显示文本的 Unity Localization Entry Key。")] public string dialogueKey; /// /// 此对话可被抽取的条件;留空表示始终可用。 /// - [LabelText("Availability Condition")] + [LabelText("Availability")] + [Tooltip("此候选对话可参与抽取的条件;留空表示始终可用。")] public StoryCondition availabilityCondition = new StoryCondition(); /// @@ -69,6 +106,7 @@ namespace Ichni.Story /// [LabelText("Weight")] [MinValue(1)] + [Tooltip("在满足条件的候选中使用的相对抽取权重,最小为 1。")] public int weight = 1; } } diff --git a/Assets/Scripts/NewStorySystem/Data/StoryRouteValidationGroup.cs b/Assets/Scripts/NewStorySystem/Data/StoryRouteValidationGroup.cs new file mode 100644 index 00000000..cd5ed2f6 --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Data/StoryRouteValidationGroup.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using Sirenix.OdinInspector; +using UnityEngine; + +namespace Ichni.Story +{ + /// + /// StoryData 编辑期的互斥路线声明。 + /// 本类不会参与运行时条件求值:路线的开放与禁用仍只由 StoryBlockDefinition 中的 + /// Unlock Condition / Forbidden Condition 控制。它的唯一职责是让 Validate Story Data 能够 + /// 对“多个结局只能完成一个”的人工配置意图进行可定位检查。 + /// + [Serializable] + [InlineProperty] + [HideReferenceObjectPicker] + public class StoryRouteValidationGroup + { + [HorizontalGroup("Identity", 0.34f)] + [LabelText("Group ID")] + [LabelWidth(58)] + [Tooltip("仅用于编辑器验证与日志定位的稳定 ID。使用小写英文、数字和下划线,例如 chapter0_ending。")] + public string groupId; + + [HorizontalGroup("Identity")] + [LabelText("Terminal Blocks")] + [Tooltip("同一互斥结局组中的终点 Block ID。Validate Story Data 会检查它们是否存在、是否重复、是否为图终点,以及是否配置 Forbidden Condition。")] + public List terminalBlockIds = new List(); + } +} diff --git a/Assets/Scripts/NewStorySystem/Data/StoryRouteValidationGroup.cs.meta b/Assets/Scripts/NewStorySystem/Data/StoryRouteValidationGroup.cs.meta new file mode 100644 index 00000000..e1b7580b --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Data/StoryRouteValidationGroup.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 4c6fe8ac7f9f4efba5df1c7a7c52b3e1 diff --git a/Assets/Scripts/NewStorySystem/Data/StoryTimelineMarkerDefinition.cs b/Assets/Scripts/NewStorySystem/Data/StoryTimelineMarkerDefinition.cs index 883c1190..55ca2935 100644 --- a/Assets/Scripts/NewStorySystem/Data/StoryTimelineMarkerDefinition.cs +++ b/Assets/Scripts/NewStorySystem/Data/StoryTimelineMarkerDefinition.cs @@ -13,40 +13,56 @@ namespace Ichni.Story /// [Serializable] [InlineProperty] + [HideReferenceObjectPicker] public class StoryTimelineMarkerDefinition { /// /// 标记的稳定唯一 ID,仅用于配置、调试和未来持久化引用。 /// 命名使用小写英文、数字和下划线,例如 chapter0_day_01。 /// + [HorizontalGroup("Identity", 0.34f)] [LabelText("Marker ID")] + [LabelWidth(62)] + [Tooltip("Marker 的稳定唯一 ID。回滚快照会使用它作为索引;建议使用小写英文、数字和下划线。")] public string markerId; /// /// 被此标记锚定的 TextBlock ID。该 Block 的 gridColumn 是标记的唯一位置来源; /// 当它处于 Current 或 Completed 时,标记显示;Locked 或 Forbidden 时,标记隐藏。 /// - [LabelText("Anchor Block ID")] + [HorizontalGroup("Identity", 0.33f)] + [LabelText("Anchor")] + [LabelWidth(42)] + [Tooltip("被此 Marker 锚定的 TextBlock ID。该 Block 的列位置决定 Marker 的横坐标。")] public string anchorBlockId; /// /// Timeline 上显示的本地化文本 Key。通常用于时间描述,也可用于特殊叙事文本。 /// - [LabelText("Label Key (Localization)")] + [HorizontalGroup("Identity")] + [LabelText("Label Key")] + [LabelWidth(54)] + [Tooltip("Timeline 上显示的 Unity Localization Entry Key,通常用于时间或特殊叙事文本。")] public string labelKey; /// /// 是否参与章节主线进度百分比计算。支线或纯装饰性时间标记应关闭此项。 /// - [LabelText("Contributes To Main Progress")] + [HorizontalGroup("Progress", 0.42f)] + [LabelText("Main Progress")] + [Tooltip("开启后,此 Marker 完成时会参与章节主线进度百分比的最大值计算。")] public bool contributesToMainProgress = true; /// /// 锚定 Block 完成后可贡献的主线进度,范围为 0 到 1。 /// 同一章节的不同结局都应配置为 1;运行时取所有有效完成标记中的最大值。 /// - [LabelText("Progress Value")] + [HorizontalGroup("Progress")] + [LabelText("Value")] + [LabelWidth(35)] + [ShowIf(nameof(contributesToMainProgress))] [Range(0f, 1f)] + [Tooltip("完成该锚定 Block 后贡献的主线进度,范围为 0 到 1。互斥结局通常都设为 1。")] public float progressValue; } } diff --git a/Assets/Scripts/NewStorySystem/Data/StoryVariableDefinition.cs b/Assets/Scripts/NewStorySystem/Data/StoryVariableDefinition.cs new file mode 100644 index 00000000..d7ba9b8b --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Data/StoryVariableDefinition.cs @@ -0,0 +1,74 @@ +using System; +using Sirenix.OdinInspector; +using UnityEngine; + +namespace Ichni.Story +{ + /// + /// StoryData 中声明的章节变量默认值类型。 + /// 数值变量会保存为 float;Int 仅决定 Inspector 和读取接口的语义。 + /// + public enum StoryVariableType + { + Bool, + Int, + Float, + String + } + + /// + /// 一个章节变量的静态默认定义。 + /// 默认值不写入玩家存档:当存档中没有同名覆盖值时,StoryVariables 才返回此处的配置。 + /// 因此“重开章节”只要清空章节变量容器,便会自然回到该定义的初始状态。 + /// + [Serializable] + [InlineProperty] + [HideReferenceObjectPicker] + public class StoryVariableDefinition + { + [HorizontalGroup("Variable", 0.55f)] + [LabelText("Key")] + [LabelWidth(28)] + [Tooltip("变量 Key:使用小写英文、数字和下划线,例如 c0_route_choice。不要使用 Yarn 的 $variable 语法。")] + public string key; + + [HorizontalGroup("Variable", 0.18f)] + [LabelText("Type")] + [LabelWidth(32)] + [Tooltip("变量的默认值类型。运行时可由 Yarn 的 set_* 指令写入同名永久章节变量。")] + public StoryVariableType type; + + [HorizontalGroup("Variable")] + [LabelText("Default")] + [LabelWidth(48)] + [ShowIf(nameof(IsBool))] + [Tooltip("变量尚未被玩家存档覆盖时使用的默认 Bool 值。")] + public bool boolValue; + + [HorizontalGroup("Variable")] + [LabelText("Default")] + [LabelWidth(48)] + [ShowIf(nameof(IsInt))] + [Tooltip("变量尚未被玩家存档覆盖时使用的默认 Int 值。")] + public int intValue; + + [HorizontalGroup("Variable")] + [LabelText("Default")] + [LabelWidth(48)] + [ShowIf(nameof(IsFloat))] + [Tooltip("变量尚未被玩家存档覆盖时使用的默认 Float 值。")] + public float floatValue; + + [HorizontalGroup("Variable")] + [LabelText("Default")] + [LabelWidth(48)] + [ShowIf(nameof(IsString))] + [Tooltip("变量尚未被玩家存档覆盖时使用的默认 String 值。")] + public string stringValue; + + private bool IsBool() => type == StoryVariableType.Bool; + private bool IsInt() => type == StoryVariableType.Int; + private bool IsFloat() => type == StoryVariableType.Float; + private bool IsString() => type == StoryVariableType.String; + } +} diff --git a/Assets/Scripts/NewStorySystem/Data/StoryVariableDefinition.cs.meta b/Assets/Scripts/NewStorySystem/Data/StoryVariableDefinition.cs.meta new file mode 100644 index 00000000..c272e1d5 --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Data/StoryVariableDefinition.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8d61a59c6d4a423aae2e04ae3dac5b1a diff --git a/Assets/Scripts/NewStorySystem/Data/StoryVariables.cs b/Assets/Scripts/NewStorySystem/Data/StoryVariables.cs index 5b6a1f46..551875e5 100644 --- a/Assets/Scripts/NewStorySystem/Data/StoryVariables.cs +++ b/Assets/Scripts/NewStorySystem/Data/StoryVariables.cs @@ -5,9 +5,9 @@ using UnityEngine; namespace Ichni.Story { /// - /// 全局剧情变量的统一数据枢纽。 + /// 当前章节剧情变量的统一数据枢纽。 /// 所有外部系统(包括 Yarn、UI、小游戏)读写剧情变量的唯一官方入口。 - /// 自动桥接至 GameSaveManager 的 StorySaveModule 中持久化。 + /// 自动桥接至 GameSaveManager 的 StorySaveModule 中当前章节的持久化容器。 /// public static class StoryVariables { @@ -19,7 +19,7 @@ namespace Ichni.Story get { if (GameSaveManager.instance != null && GameSaveManager.instance.StorySaveModule != null) - return GameSaveManager.instance.StorySaveModule.variables; + return GameSaveManager.instance.StorySaveModule.GetActiveChapterVariables(); return _fallback; } } @@ -32,6 +32,17 @@ namespace Ichni.Story if (vars.floatVariables.TryGetValue(key, out float f)) return f; if (vars.boolVariables.TryGetValue(key, out bool b)) return b ? 1f : 0f; if (vars.stringVariables.TryGetValue(key, out string s) && float.TryParse(s, NumberStyles.Any, CultureInfo.InvariantCulture, out float p)) return p; + if (TryGetInitialVariable(key, out StoryVariableDefinition definition)) + { + return definition.type switch + { + StoryVariableType.Bool => definition.boolValue ? 1f : 0f, + StoryVariableType.Int => definition.intValue, + StoryVariableType.Float => definition.floatValue, + StoryVariableType.String when float.TryParse(definition.stringValue, NumberStyles.Any, CultureInfo.InvariantCulture, out float parsed) => parsed, + _ => defaultValue + }; + } return defaultValue; } @@ -41,6 +52,17 @@ namespace Ichni.Story if (vars.floatVariables.TryGetValue(key, out float f)) return Mathf.RoundToInt(f); if (vars.boolVariables.TryGetValue(key, out bool b)) return b ? 1 : 0; if (vars.stringVariables.TryGetValue(key, out string s) && float.TryParse(s, NumberStyles.Any, CultureInfo.InvariantCulture, out float p)) return Mathf.RoundToInt(p); + if (TryGetInitialVariable(key, out StoryVariableDefinition definition)) + { + return definition.type switch + { + StoryVariableType.Bool => definition.boolValue ? 1 : 0, + StoryVariableType.Int => definition.intValue, + StoryVariableType.Float => Mathf.RoundToInt(definition.floatValue), + StoryVariableType.String when float.TryParse(definition.stringValue, NumberStyles.Any, CultureInfo.InvariantCulture, out float parsed) => Mathf.RoundToInt(parsed), + _ => defaultValue + }; + } return defaultValue; } @@ -50,6 +72,17 @@ namespace Ichni.Story if (vars.boolVariables.TryGetValue(key, out bool b)) return b; if (vars.floatVariables.TryGetValue(key, out float f)) return f != 0f; if (vars.stringVariables.TryGetValue(key, out string s) && bool.TryParse(s, out bool p)) return p; + if (TryGetInitialVariable(key, out StoryVariableDefinition definition)) + { + return definition.type switch + { + StoryVariableType.Bool => definition.boolValue, + StoryVariableType.Int => definition.intValue != 0, + StoryVariableType.Float => !Mathf.Approximately(definition.floatValue, 0f), + StoryVariableType.String when bool.TryParse(definition.stringValue, out bool parsed) => parsed, + _ => defaultValue + }; + } return defaultValue; } @@ -59,13 +92,25 @@ namespace Ichni.Story if (vars.stringVariables.TryGetValue(key, out string s)) return s; if (vars.floatVariables.TryGetValue(key, out float f)) return f.ToString(CultureInfo.InvariantCulture); if (vars.boolVariables.TryGetValue(key, out bool b)) return b.ToString(); + if (TryGetInitialVariable(key, out StoryVariableDefinition definition)) + { + return definition.type switch + { + StoryVariableType.Bool => definition.boolValue.ToString(), + StoryVariableType.Int => definition.intValue.ToString(CultureInfo.InvariantCulture), + StoryVariableType.Float => definition.floatValue.ToString(CultureInfo.InvariantCulture), + StoryVariableType.String => definition.stringValue ?? string.Empty, + _ => defaultValue + }; + } return defaultValue; } public static bool HasVariable(string key) { StoryVariablesSave vars = Variables; - return vars.floatVariables.ContainsKey(key) || vars.boolVariables.ContainsKey(key) || vars.stringVariables.ContainsKey(key); + return vars.floatVariables.ContainsKey(key) || vars.boolVariables.ContainsKey(key) || vars.stringVariables.ContainsKey(key) || + TryGetInitialVariable(key, out _); } // ── 写入 ──────────────────────────────────────────────────────────────── @@ -124,6 +169,20 @@ namespace Ichni.Story if (!keepBool) vars.boolVariables.Remove(name); } + /// + /// 从当前 StoryTree 的 StoryData 查询变量默认值。没有章节上下文时不虚构默认值, + /// 由调用方传入的 defaultValue 作为独立测试场景的回退。 + /// + private static bool TryGetInitialVariable(string key, out StoryVariableDefinition definition) + { + StoryData storyData = StoryManager.instance?.treeController?.ActiveStoryData; + if (storyData != null) + return storyData.TryGetInitialVariable(key, out definition); + + definition = null; + return false; + } + // ── 字典批量操作(内部供 Yarn Adapter 使用) ───────────────────────────── internal static void SetAllVariables(Dictionary floats, Dictionary strings, Dictionary bools, bool clear = true) diff --git a/Assets/Scripts/NewStorySystem/Dialogue/ConsoleLinePresenter.cs b/Assets/Scripts/NewStorySystem/Dialogue/ConsoleLinePresenter.cs index 5a82624d..86d8a3ba 100644 --- a/Assets/Scripts/NewStorySystem/Dialogue/ConsoleLinePresenter.cs +++ b/Assets/Scripts/NewStorySystem/Dialogue/ConsoleLinePresenter.cs @@ -7,7 +7,7 @@ namespace Ichni.Story.Dialogue /// 【临时 / 调试用】将 Yarn 对话行以"本地化后的文本"输出到 Console 的呈现器。 /// 用途:在没有 VN 对话 UI 的情况下,验证整条 Yarn 管线是否跑通,以及 /// Unity Localization 是否正确返回当前语言的文本(点击文本块即可在 Console 看到结果)。 - /// 阶段 3 接入 VNDialoguePresenter 后,可从 DialogueRunner 的呈现器列表移除本组件并删除此脚本。 + /// 正式运行使用 VNDialoguePresenter;本组件只应在需要观察本地化解析结果时临时启用。 /// public class ConsoleLinePresenter : DialoguePresenterBase { diff --git a/Assets/Scripts/NewStorySystem/Dialogue/DialogueHistory.cs b/Assets/Scripts/NewStorySystem/Dialogue/DialogueHistory.cs new file mode 100644 index 00000000..cfab7caa --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Dialogue/DialogueHistory.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; + +namespace Ichni.Story.Dialogue +{ + /// 对话记录中一条已经实际显示或采用的内容。 + [Serializable] + public sealed class DialogueHistoryEntry + { + public string speakerName; + public string content; + public bool isChoice; + } + + /// + /// 当前一次 TextBlock 对话专用的临时记录。 + /// 记录不会写入 ES3;开始下一次对话、正常结束或点击 Back 取消时都会清空, + /// 因而它只承担 DialogUIPage 内的“本次对话回顾”职责。 + /// + public static class DialogueHistory + { + private static readonly List EntriesInternal = new(); + + public static IReadOnlyList Entries => EntriesInternal; + + public static void BeginSession() => EntriesInternal.Clear(); + + public static void AddLine(string speakerName, string content) + { + if (string.IsNullOrWhiteSpace(content)) + return; + + EntriesInternal.Add(new DialogueHistoryEntry + { + speakerName = speakerName ?? string.Empty, + content = content, + isChoice = false + }); + } + + public static void AddChoice(string content) + { + if (string.IsNullOrWhiteSpace(content)) + return; + + EntriesInternal.Add(new DialogueHistoryEntry + { + speakerName = string.Empty, + content = content, + isChoice = true + }); + } + + public static void Clear() => EntriesInternal.Clear(); + } +} diff --git a/Assets/Scripts/NewStorySystem/Dialogue/DialogueHistory.cs.meta b/Assets/Scripts/NewStorySystem/Dialogue/DialogueHistory.cs.meta new file mode 100644 index 00000000..c7cdbe38 --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Dialogue/DialogueHistory.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: fd7c83e0353e4fb7b912fb9996f64738 diff --git a/Assets/Scripts/NewStorySystem/Dialogue/StoryChoiceMemory.cs b/Assets/Scripts/NewStorySystem/Dialogue/StoryChoiceMemory.cs new file mode 100644 index 00000000..3a33452b --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Dialogue/StoryChoiceMemory.cs @@ -0,0 +1,86 @@ +using System; +using System.Linq; +using Yarn.Unity; + +namespace Ichni.Story.Dialogue +{ + /// + /// Yarn 选项的章节内记忆服务。 + /// 玩家第一次完成某组选项后,保存其 ;再次进入同一 TextBlock 时, + /// 若该选项仍存在且可用,则不显示选择 UI,直接返回该 Option 给 Yarn。 + /// 记录随 Timeline 回滚快照一起恢复,因此回滚到选项之前会让玩家重新选择。 + /// + public static class StoryChoiceMemory + { + /// + /// 根据来源 Block 与当前全部 Option Text ID 生成选项组 Key。 + /// Text ID 已由 Yarn 编译结果稳定生成;排序使纯显示顺序调整不会把同一组选项误认为新选项组。 + /// + public static string CreateChoiceKey(string sourceBlockId, DialogueOption[] options) + { + if (string.IsNullOrWhiteSpace(sourceBlockId) || options == null || options.Length == 0 || + options.Any(option => option == null || string.IsNullOrWhiteSpace(option.TextID))) + { + return null; + } + + string optionSignature = string.Join("|", options + .Select(option => option.TextID) + .OrderBy(textId => textId, StringComparer.Ordinal)); + return sourceBlockId + "::" + optionSignature; + } + + /// + /// 查找已保存的选项。若 Yarn 改稿后旧 Text ID 已不存在或暂时不可用, + /// 会删除陈旧记录并回退为普通选择界面,避免自动选择错误路线。 + /// + public static bool TryGetRememberedOption(string sourceBlockId, DialogueOption[] options, + out DialogueOption rememberedOption) + { + rememberedOption = null; + StoryTreeController treeController = StoryManager.instance?.treeController; + StorySaveModule saveModule = GameSaveManager.instance?.StorySaveModule; + string choiceKey = CreateChoiceKey(sourceBlockId, options); + if (treeController == null || saveModule == null || string.IsNullOrEmpty(treeController.ActiveChapterIndex) || + string.IsNullOrEmpty(choiceKey)) + { + return false; + } + + if (!saveModule.TryGetChoice(treeController.ActiveChapterIndex, choiceKey, out StoryChoiceRecord record)) + return false; + + rememberedOption = options.FirstOrDefault(option => option != null && option.IsAvailable && + option.TextID == record.selectedOptionTextId); + if (rememberedOption != null) + return true; + + saveModule.RemoveChoice(treeController.ActiveChapterIndex, choiceKey); + return false; + } + + /// + /// 保存玩家首次确认的选项。调用时先捕获所属 Block 的 Marker 快照, + /// 保证该选项及其随后写入的路线变量都能被重开流程一起回滚。 + /// + public static void RememberChoice(string sourceBlockId, DialogueOption[] options, DialogueOption selectedOption) + { + StoryTreeController treeController = StoryManager.instance?.treeController; + StorySaveModule saveModule = GameSaveManager.instance?.StorySaveModule; + string choiceKey = CreateChoiceKey(sourceBlockId, options); + if (treeController == null || saveModule == null || selectedOption == null || + string.IsNullOrEmpty(treeController.ActiveChapterIndex) || string.IsNullOrEmpty(choiceKey)) + { + return; + } + + StoryProgress.TryCaptureActiveBlockSnapshot(); + saveModule.SetChoice(treeController.ActiveChapterIndex, new StoryChoiceRecord + { + sourceBlockId = sourceBlockId, + choiceKey = choiceKey, + selectedOptionTextId = selectedOption.TextID + }); + } + } +} diff --git a/Assets/Scripts/NewStorySystem/Dialogue/StoryChoiceMemory.cs.meta b/Assets/Scripts/NewStorySystem/Dialogue/StoryChoiceMemory.cs.meta new file mode 100644 index 00000000..749d1f10 --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Dialogue/StoryChoiceMemory.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d73ac4c0c2034a04a7e701a64a3f8dd9 diff --git a/Assets/Scripts/NewStorySystem/Dialogue/StoryDialogueController.cs b/Assets/Scripts/NewStorySystem/Dialogue/StoryDialogueController.cs index 31242515..673c1830 100644 --- a/Assets/Scripts/NewStorySystem/Dialogue/StoryDialogueController.cs +++ b/Assets/Scripts/NewStorySystem/Dialogue/StoryDialogueController.cs @@ -3,6 +3,7 @@ using System.Reflection; using Ichni.Story.UI; using UnityEngine; using UnityEngine.Events; +using UnityEngine.Localization; using Yarn.Unity; using Yarn.Unity.UnityLocalization; @@ -11,7 +12,7 @@ namespace Ichni.Story.Dialogue /// /// 故事树 block 与 Yarn 之间的桥接控制器。 /// 点击文本块 → 启动对应 Yarn 节点;对话结束 → 持久化剧情变量、标记 block 完成、 - /// 重算解锁并存档、依次执行结束回调(如歌曲解锁提示,阶段 4 使用)。 + /// 重算解锁并存档、依次执行结束回调(例如歌曲解锁提示)。 /// public class StoryDialogueController : MonoBehaviour { @@ -24,21 +25,66 @@ namespace Ichni.Story.Dialogue [Tooltip("故事树页面:对话进行时淡出、结束后淡入(可选)。")] public StoryUIPage storyUIPage; + [Header("Localization")] + [Tooltip("所有章节 Yarn 台词共用的 Unity Localization String Table(建议命名 YarnLines)。留空时保留当前 UnityLocalisedLineProvider 的既有表配置。")] + public LocalizedStringTable yarnLinesTable; + /// - /// 对话结束后依次执行并清空的回调队列。供 unlock_song 等 Yarn 命令(阶段 4) + /// 对话结束后依次执行并清空的回调队列。供 unlock_song 等 Yarn 命令 /// 把"解锁提示"排队到对话结束后弹出。 /// - [System.NonSerialized] public List dialogueEndActions = new List(); + private readonly List _dialogueEndActions = new List(); // 当前正在播放对话的 block id;对话结束时据此标记完成 private string _activeBlockId; + // 当前 TextBlock 开始前的章节快照。它只服务于本次“中途退出对话”的恢复, + // 不会被写入 ES3,也不会影响歌曲成绩、解锁 Key、Settings 或其它章节。 + private ChapterStorySave _activeDialogueSnapshot; + private string _activeDialogueChapterIndex; + private bool _isCancellingDialogue; + + /// + /// 当前对话对应的 TextBlock ID。Yarn 选项记忆与变量指令使用它定位所属章节 Block, + /// 不应由其它系统直接赋值。 + /// + public string ActiveBlockId => _activeBlockId; + + /// + /// 当前是否存在尚未提交的 TextBlock 对话事务。 + /// Yarn 的全局副作用(例如 grant_unlock、unlock_song、show_message)必须据此决定延迟到正常结束后执行, + /// 从而避免玩家按 Back 时留下已解锁内容或孤立弹窗。 + /// + public bool IsDialogueTransactionActive => + !string.IsNullOrEmpty(_activeBlockId) && + GameSaveManager.instance?.StorySaveModule?.IsChapterTransactionActive(_activeDialogueChapterIndex) == true; + private void Awake() { instance = this; EnsureUnityLocalisedLineProvider(); } + private void Start() + { + // 这些引用不会由 StoryData 自检覆盖,因为它们属于场景运行时装配而非单个章节资产。 + // 仅输出可定位 Warning,不阻断编辑器下的部分独立测试流程。 + if (dialogueRunner == null) + { + Debug.LogWarning("[StoryDialogueController] 未配置 DialogueRunner;TextBlock 无法启动对话。", this); + return; + } + + if (dialogueRunner.GetComponent() == null) + Debug.LogWarning("[StoryDialogueController] DialogueRunner 缺少 VNDialoguePresenter;台词和选项不会显示。", dialogueRunner); + + if (dialogueRunner.GetComponent() == null) + Debug.LogWarning("[StoryDialogueController] DialogueRunner 缺少 UnityLocalisedLineProvider;本地化台词无法解析。", dialogueRunner); + + if (storyUIPage == null) + Debug.LogWarning("[StoryDialogueController] 未配置 StoryUIPage;对话开始/结束时不会切换剧情树页面。", this); + } + private void OnEnable() { if (dialogueRunner != null && dialogueRunner.onDialogueComplete != null) @@ -51,6 +97,12 @@ namespace Ichni.Story.Dialogue dialogueRunner.onDialogueComplete.RemoveListener(HandleDialogueComplete); } + private void OnDestroy() + { + if (instance == this) + instance = null; + } + /// /// 播放某文本块对应的 Yarn 节点。若对话已在进行、引用缺失或节点名为空则忽略。 /// @@ -79,13 +131,106 @@ namespace Ichni.Story.Dialogue // 将 DialogueRunner 的 YarnProject 对齐到当前章节(支持多章节共用一个 Runner) EnsureProjectForCurrentChapter(); + // StartDialogue 对缺失 Node 只会在内部抛出/记录错误;必须在开启事务前预检, + // 否则会留下一个没有机会提交或回滚的半开事务。 + if (dialogueRunner.YarnProject?.Program == null || + !dialogueRunner.YarnProject.Program.Nodes.ContainsKey(block.YarnNodeName)) + { + Debug.LogError($"[StoryDialogueController] Yarn Project 中不存在节点 '{block.YarnNodeName}',已取消启动 Block '{block.blockId}'。", dialogueRunner); + return; + } + + StoryTreeController treeController = StoryManager.instance?.treeController; + StorySaveModule saveModule = GameSaveManager.instance?.StorySaveModule; + string chapterIndex = treeController?.ActiveChapterIndex; + if (treeController == null || saveModule == null || string.IsNullOrEmpty(chapterIndex)) + { + Debug.LogError("[StoryDialogueController] 当前章节存档上下文未就绪,拒绝开始可回滚的 TextBlock 对话。"); + return; + } + + // 必须在任何 Yarn 命令、选项或 Marker 快照写入前完成复制并开启事务。 + // 事务期间所有剧情变化仅停留在内存;正常结束才提交,中途 Back 则完整恢复本副本。 + _activeDialogueSnapshot = StorySaveCloneUtility.CloneChapter(saveModule.GetChapter(chapterIndex)); + _activeDialogueChapterIndex = chapterIndex; + if (!saveModule.BeginChapterTransaction(chapterIndex)) + { + _activeDialogueSnapshot = null; + _activeDialogueChapterIndex = null; + return; + } + _activeBlockId = block.blockId; + // 在 Yarn 命令或选项改变章节变量前先登记来源,并为 Marker 所在列创建快照。 + StoryProgress.BeginBlockMutation(_activeBlockId); if (storyUIPage != null) storyUIPage.FadeOut(); - // StartDialogue 返回 YarnTask;此处即发即忘,完成由 onDialogueComplete 处理 - dialogueRunner.StartDialogue(block.YarnNodeName).Forget(); + // 启动异常会回滚本次章节事务;正常结束仍由 onDialogueComplete 统一提交。 + StartDialogueSafely(block.YarnNodeName).Forget(); + } + + /// + /// 以受保护方式启动 Yarn。缺失 Provider、Presenter 等启动级异常不应让 StorySave 的事务永久处于活动状态, + /// 因而会被转换为 Failed 流程并完整恢复进入对话前的章节快照。 + /// + private async YarnTask StartDialogueSafely(string yarnNodeName) + { + try + { + await dialogueRunner.StartDialogue(yarnNodeName); + } + catch (System.Exception exception) + { + Debug.LogException(exception, dialogueRunner); + // 启动阶段可能已经让部分 Presenter 进入展示状态;先请求停止,再立即清理事务。 + // 后续若收到 Runner 的完成事件,会因 activeBlockId 已被清空而被安全忽略。 + if (dialogueRunner != null && dialogueRunner.IsDialogueRunning) + { + dialogueRunner.GetComponent()?.CancelCurrentPresentation(); + dialogueRunner.Stop().Forget(); + } + RestoreInterruptedDialogue("启动 Yarn 对话失败"); + } + } + + /// + /// 取消当前 TextBlock 对话并恢复进入前的章节剧情快照。 + /// Yarn 的 仍会触发 onDialogueComplete; + /// 因此此处先标记取消状态,完成回调会走恢复流程而不是误将 Block 标记为 Completed。 + /// + public bool CancelActiveDialogue() + { + if (_isCancellingDialogue || string.IsNullOrEmpty(_activeBlockId) || + dialogueRunner == null || !dialogueRunner.IsDialogueRunning) + { + return false; + } + + _isCancellingDialogue = true; + _dialogueEndActions.Clear(); + dialogueRunner.GetComponent()?.CancelCurrentPresentation(); + dialogueRunner.Stop().Forget(); + return true; + } + + /// + /// 将一个全局副作用排入“本次 TextBlock 成功提交后”执行的队列。 + /// 没有活动对话事务时会立即执行,便于未来在非 TextBlock 环境复用同一批 Yarn 命令。 + /// + public void ExecuteAfterDialogueCommit(UnityAction action) + { + if (action == null) + return; + + if (IsDialogueTransactionActive) + { + _dialogueEndActions.Add(action); + return; + } + + action.Invoke(); } // 将 DialogueRunner 的 YarnProject 切换为当前已构建章节的 StoryData.yarnProject(若不同且未在运行) @@ -115,16 +260,25 @@ namespace Ichni.Story.Dialogue if (field == null) return; - // 已经是 UnityLocalisedLineProvider 则无需处理 - if (field.GetValue(dialogueRunner) is UnityLocalisedLineProvider) return; - - UnityLocalisedLineProvider provider = - dialogueRunner.GetComponent(); + UnityLocalisedLineProvider provider = field.GetValue(dialogueRunner) as UnityLocalisedLineProvider; + provider ??= dialogueRunner.GetComponent(); if (provider != null) { - field.SetValue(dialogueRunner, provider); - Debug.Log("[StoryDialogueController] Assigned UnityLocalisedLineProvider to DialogueRunner.lineProvider."); + if (field.GetValue(dialogueRunner) != provider) + { + field.SetValue(dialogueRunner, provider); + Debug.Log("[StoryDialogueController] Assigned UnityLocalisedLineProvider to DialogueRunner.lineProvider."); + } + + // Yarn 的 Localized Line Provider 本身只持有一个 String Table 引用;统一使用 YarnLines + // 可避免在切换章节时依赖反射替换不同表。未配置时不覆盖旧场景,便于分步迁移现有 Chapter0_Lines。 + if (yarnLinesTable != null && !yarnLinesTable.IsEmpty) + { + FieldInfo tableField = typeof(UnityLocalisedLineProvider).GetField( + "stringsTable", BindingFlags.NonPublic | BindingFlags.Instance); + tableField?.SetValue(provider, yarnLinesTable); + } } else { @@ -134,24 +288,35 @@ namespace Ichni.Story.Dialogue private void HandleDialogueComplete() { - // 持久化对话过程中写入的全局剧情变量 - if (GameSaveManager.instance != null && GameSaveManager.instance.StorySaveModule != null) - GameSaveManager.instance.StorySaveModule.SaveVariables(); + // Failed 流程已经清理 activeBlockId 后,底层 Runner 仍可能随后送达完成事件;此时绝不能误提交。 + if (string.IsNullOrEmpty(_activeBlockId)) + return; - // 标记 block 完成 → 重算解锁 → 存档(OnBlockCompleted 内部已去重并保存章节进度) + if (_isCancellingDialogue) + { + RestoreCancelledDialogue(); + return; + } + + // 标记 Block 完成 → 重算解锁 → 保存完整章节容器(含变量、选项与回滚快照)。 if (!string.IsNullOrEmpty(_activeBlockId) && StoryManager.instance != null && StoryManager.instance.treeController != null) { StoryManager.instance.treeController.OnBlockCompleted(_activeBlockId); } + StoryProgress.EndBlockMutation(_activeBlockId); _activeBlockId = null; + // 所有本次 TextBlock 的变量、选项和完成状态至此才一次性写入 ES3。 + GameSaveManager.instance?.StorySaveModule?.CommitChapterTransaction(_activeDialogueChapterIndex); + ClearDialogueSessionState(); + // 依次执行并清空结束回调(如歌曲解锁提示) - if (dialogueEndActions.Count > 0) + if (_dialogueEndActions.Count > 0) { - List pending = new List(dialogueEndActions); - dialogueEndActions.Clear(); + List pending = new List(_dialogueEndActions); + _dialogueEndActions.Clear(); foreach (UnityAction action in pending) { action?.Invoke(); @@ -164,6 +329,50 @@ namespace Ichni.Story.Dialogue { storyUIPage.FadeIn(); } + + DialogueHistory.Clear(); + } + + /// + /// 处理 Back 触发的 Yarn 停止回调:放弃运行期间的全部章节剧情改动, + /// 并只刷新当前已实例化的 StoryTree,保留玩家拖动剧情树后的视口位置。 + /// + private void RestoreCancelledDialogue() + { + RestoreInterruptedDialogue("玩家中途退出对话"); + } + + /// + /// 取消和失败共用的事务回滚出口。该方法具有幂等性:无活动 Block 时直接返回, + /// 因而底层 Yarn 在 Stop/异常后重复触发完成事件也不会把已回滚的数据再次提交。 + /// + private void RestoreInterruptedDialogue(string reason) + { + if (string.IsNullOrEmpty(_activeBlockId)) + return; + + string interruptedBlockId = _activeBlockId; + string chapterIndex = _activeDialogueChapterIndex; + StoryTreeController treeController = StoryManager.instance?.treeController; + + Debug.LogWarning($"[StoryDialogueController] {reason},已回滚 TextBlock '{interruptedBlockId}' 的章节剧情事务。"); + StoryProgress.EndBlockMutation(interruptedBlockId); + GameSaveManager.instance?.StorySaveModule?.RollbackChapterTransaction( + chapterIndex, _activeDialogueSnapshot); + treeController?.ReloadActiveChapterProgress(); + + _dialogueEndActions.Clear(); + DialogueHistory.Clear(); + _activeBlockId = null; + ClearDialogueSessionState(); + storyUIPage?.FadeIn(); + } + + private void ClearDialogueSessionState() + { + _activeDialogueSnapshot = null; + _activeDialogueChapterIndex = null; + _isCancellingDialogue = false; } } } diff --git a/Assets/Scripts/NewStorySystem/Dialogue/VNDialoguePresenter.cs b/Assets/Scripts/NewStorySystem/Dialogue/VNDialoguePresenter.cs index db6a390d..ea8037dc 100644 --- a/Assets/Scripts/NewStorySystem/Dialogue/VNDialoguePresenter.cs +++ b/Assets/Scripts/NewStorySystem/Dialogue/VNDialoguePresenter.cs @@ -94,6 +94,13 @@ namespace Ichni.Story.Dialogue public override async YarnTask OnDialogueStartedAsync() { + // 快进是一次 Yarn 对话会话的临时操作,绝不能遗留到下一次进入 TextBlock。 + _isFastForwarding = false; + _typewriterComplete = false; + + // 对话记录只保留当前一次 TextBlock;每次 Yarn 对话真正开始时清空上一段残留内容。 + DialogueHistory.BeginSession(); + if (Page != null) { var tcs = new YarnTaskCompletionSource(); @@ -119,6 +126,8 @@ namespace Ichni.Story.Dialogue // ── 打字效果 ── string fullText = line.TextWithoutCharacterName.Text; + // 记录的是本次实际展示时已经解析完成的本地化文本,而非 Yarn Key。 + DialogueHistory.AddLine(line.CharacterName, fullText); _typewriterComplete = false; if (Page.dialogueText != null) @@ -163,6 +172,16 @@ namespace Ichni.Story.Dialogue { if (Page == null) return null; + // 同一 TextBlock 的选项已被玩家选择过时,直接把原 Option 返回给 Yarn, + // 让后续指令和分支仍由 Yarn 正常执行,而不是在 C# 中复制分支逻辑。 + string sourceBlockId = StoryDialogueController.instance?.ActiveBlockId; + if (StoryChoiceMemory.TryGetRememberedOption(sourceBlockId, options, out DialogueOption rememberedOption)) + { + // 已记忆选项在普通回顾与快进时都会自动采用;记录页仍应如实显示本次经过的分支。 + DialogueHistory.AddChoice(rememberedOption.Line.TextWithoutCharacterName.Text); + return rememberedOption; + } + // 遇到选项强制打断快进 _isFastForwarding = false; @@ -173,9 +192,12 @@ namespace Ichni.Story.Dialogue // 显示选项容器 if (Page.choiceFrame != null) Page.choiceFrame.SetActive(true); - _optionTcs = new YarnTaskCompletionSource(); + YarnTaskCompletionSource optionTcs = new YarnTaskCompletionSource(); + _optionTcs = optionTcs; - WaitForExternalCancelAsync(token.NextContentToken).Forget(); + // 将本组选项自己的 TCS 传入取消监听,避免上一组选项的 Token 在稍后取消时 + // 错误结束下一组选项。_optionTcs 只用于外部 Back 流程定位当前正在等待的选择。 + WaitForExternalCancelAsync(token.NextContentToken, optionTcs).Forget(); // ── 配置每个选项按钮 ── for (int i = 0; i < Page.choiceButtons.Length; i++) @@ -183,13 +205,24 @@ namespace Ichni.Story.Dialogue if (Page.choiceButtons[i] == null) continue; if (i < options.Length) - Page.choiceButtons[i].Setup(options[i], opt => _optionTcs.TrySetResult(opt)); + { + Page.choiceButtons[i].Setup(options[i], opt => + { + // 先写入选项记忆,再结束异步等待;这样即使紧接着 Yarn 修改路线变量, + // Timeline 快照也仍然代表“本组选择之前”的状态。 + StoryChoiceMemory.RememberChoice(sourceBlockId, options, opt); + DialogueHistory.AddChoice(opt.Line.TextWithoutCharacterName.Text); + optionTcs.TrySetResult(opt); + }); + } else Page.choiceButtons[i].Cleanup(); } // ── 等待玩家选择 ── - DialogueOption? selected = await _optionTcs.Task; + DialogueOption? selected = await optionTcs.Task; + if (_optionTcs == optionTcs) + _optionTcs = null; // 清理所有按钮并隐藏选项容器 foreach (ChoiceButton btn in Page.choiceButtons) @@ -202,6 +235,10 @@ namespace Ichni.Story.Dialogue public override async YarnTask OnDialogueCompleteAsync() { + // 无论正常完成还是被 StoryDialogueController 通过 Stop 取消,都要结束本次快进状态。 + _isFastForwarding = false; + _typewriterComplete = true; + if (Page != null) { var tcs = new YarnTaskCompletionSource(); @@ -210,10 +247,48 @@ namespace Ichni.Story.Dialogue } } + /// + /// 打开对话记录前的 UI 收束操作。 + /// 停止自动快进,并补全当前正在打字的一句,但绝不请求下一句, + /// 因而 History 覆盖层打开期间不会改变 Yarn 的剧情进度。 + /// + public void PrepareForHistory() + { + _isFastForwarding = false; + + if (!_typewriterComplete && _runner != null) + _runner.RequestHurryUpLine(); + } + + /// + /// 为 DialogUIPage 的 Back 取消流程收起所有临时交互。 + /// 真正终止 Yarn 和恢复章节快照由 负责; + /// 本方法不写入任何剧情变量或选项。 + /// + public void CancelCurrentPresentation() + { + _isFastForwarding = false; + _typewriterComplete = true; + _optionTcs?.TrySetResult(null); + + if (Page == null) + return; + + foreach (ChoiceButton button in Page.choiceButtons) + button?.Cleanup(); + + if (Page.choiceFrame != null) + Page.choiceFrame.SetActive(false); + } + // ── 内部方法 ───────────────────────────────────────────────────────────── private void OnAdvanceButtonClicked() { + // 未记忆选项必须由 ChoiceButton 明确选择;推进按钮不能越过当前选择。 + if (_optionTcs != null) + return; + // 如果玩家在快进时点击屏幕/推进键,则打断快进状态并停止当前动作 if (_isFastForwarding) { @@ -231,6 +306,10 @@ namespace Ichni.Story.Dialogue private void OnFastForwardButtonClicked() { + // 快进可以跨过已经记忆的选项,但不能跳过正在等待玩家首次决定的选项。 + if (_optionTcs != null) + return; + _isFastForwarding = true; if (_runner == null) return; @@ -263,10 +342,12 @@ namespace Ichni.Story.Dialogue } } - private async YarnTask WaitForExternalCancelAsync(CancellationToken externalToken) + private static async YarnTask WaitForExternalCancelAsync( + CancellationToken externalToken, + YarnTaskCompletionSource optionTcs) { await YarnTask.WaitUntilCanceled(externalToken).SuppressCancellationThrow(); - _optionTcs?.TrySetResult(null); + optionTcs.TrySetResult(null); } } } diff --git a/Assets/Scripts/NewStorySystem/Editor.meta b/Assets/Scripts/NewStorySystem/Editor.meta new file mode 100644 index 00000000..e6e9d6ff --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cc2195a6a842d2044a7087f3e7fc63e1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/NewStorySystem/Helper.meta b/Assets/Scripts/NewStorySystem/Helper.meta new file mode 100644 index 00000000..40becee6 --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Helper.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 212db2c9a00528745af80a8df649d4d7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/NewStorySystem/Helper/StaticStoryHelperVisualPresenter.cs b/Assets/Scripts/NewStorySystem/Helper/StaticStoryHelperVisualPresenter.cs new file mode 100644 index 00000000..4a290c76 --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Helper/StaticStoryHelperVisualPresenter.cs @@ -0,0 +1,25 @@ +using UnityEngine; +using UnityEngine.UI; + +namespace Ichni.Story +{ + /// + /// 当前阶段使用 显示静态 Helper 插画的 Presenter。 + /// 若 StoryHelperData 未配置 portraitSprite,则保留场景中已有的 Sprite 作为回退, + /// 方便在视觉资源尚未完全迁移时继续工作。 + /// + public class StaticStoryHelperVisualPresenter : StoryHelperVisualPresenter + { + [SerializeField, Tooltip("用于显示当前 Helper 静态立绘的 Image。")] + private Image portraitImage; + + public override void ApplyHelper(StoryHelperData helperData) + { + if (portraitImage == null || helperData == null || helperData.portraitSprite == null) + return; + + // 不调用 SetNativeSize:Helper 的实际 UI 尺寸由场景布局统一控制。 + portraitImage.sprite = helperData.portraitSprite; + } + } +} diff --git a/Assets/Scripts/NewStorySystem/Helper/StaticStoryHelperVisualPresenter.cs.meta b/Assets/Scripts/NewStorySystem/Helper/StaticStoryHelperVisualPresenter.cs.meta new file mode 100644 index 00000000..506ff4a4 --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Helper/StaticStoryHelperVisualPresenter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c31f8bd5e6ca44399645c4f7cb21e0ad +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/NewStorySystem/Helper/StoryHelperController.cs b/Assets/Scripts/NewStorySystem/Helper/StoryHelperController.cs new file mode 100644 index 00000000..67142e94 --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Helper/StoryHelperController.cs @@ -0,0 +1,386 @@ +using System; +using System.Collections.Generic; +using DG.Tweening; +using UnityEngine; +using UnityEngine.Localization.Settings; +using UnityEngine.UI; + +namespace Ichni.Story +{ + /// + /// 场景中常驻 Helper 的交互控制器。 + /// 点击后会按剧情条件筛选并加权随机抽取一条台词,实例化 HelperTalk Prefab 显示; + /// 此过程不修改剧情变量、Block 完成状态或存档。 + /// + [RequireComponent(typeof(Button))] + public class StoryHelperController : MonoBehaviour + { + [Header("References")] + [SerializeField, Tooltip("承接 Helper 点击的 Button。建议挂在固定根节点,而非会移动的视觉节点上。")] + private Button helperButton; + + [SerializeField, Tooltip("当前 Helper 的视觉 Presenter。未来可替换为 Spine 或 Live2D 对应实现。")] + private StoryHelperVisualPresenter visualPresenter; + + [SerializeField, Tooltip("点击后实例化的 HelperTalk Prefab。它独立于 MessageBox。")] + private StoryHelperTalk helperTalkPrefab; + + [SerializeField, Tooltip("运行时 HelperTalk 的父节点。留空时使用当前 Helper 根节点。")] + private Transform helperTalkContainer; + + [Header("Motion Roots")] + [SerializeField, Tooltip("只承担循环漂浮动画的节点。")] + private RectTransform idleRoot; + + [SerializeField, Tooltip("只承担点击反馈的节点。它应位于 Idle Root 内部,避免与循环漂浮争夺同一属性。")] + private RectTransform clickRoot; + + [Header("Idle Animation")] + [SerializeField, Min(0f), Tooltip("循环漂浮的最大纵向偏移(Canvas 单位)。")] + private float idleFloatDistance = 8f; + + [SerializeField, Min(0.05f), Tooltip("从基准位置移动到最高点或最低点的单程时间。")] + private float idleHalfDuration = 1.35f; + + [Header("Click Animation")] + [SerializeField, Min(0.01f), Tooltip("点击缩放与位移反馈持续时间。")] + private float clickPunchDuration = 0.2f; + + [SerializeField, Min(0f), Tooltip("点击时的缩放强度;0.035 表示约 3.5% 的轻微放大。")] + private float clickPunchScale = 0.035f; + + [SerializeField, Min(0f), Tooltip("点击时的纵向位移反馈(Canvas 单位)。")] + private float clickPunchOffset = 5f; + + [SerializeField, Min(0f), Tooltip("连续点击的最小间隔,防止重复实例化大量气泡。")] + private float clickCooldown = 0.3f; + + private readonly List _eligibleDialogues = new(); + + private Sequence _idleSequence; + private Sequence _clickSequence; + private StoryHelperTalk _activeTalk; + private Vector2 _idleBasePosition; + private Vector2 _clickBasePosition; + private Vector3 _clickBaseScale; + private string _lastDialogueId; + private StoryHelperData _appliedHelperData; + private StoryManager _subscribedStoryManager; + private float _nextClickTime; + + private void Awake() + { + if (helperButton == null) + helperButton = GetComponent