From f1c2c5a1ee78130384d55075d5a98c973f2f904c Mon Sep 17 00:00:00 2001 From: bottlefish <781230111@qq.com> Date: Thu, 4 Dec 2025 20:38:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/AddressableAssetsData/link.xml | 536 --- Assets/Render/Renderer2Dtest.asset | 22 +- .../Resources/Yarn/Test_Huoshan/Center.yarn | 18 +- Assets/Scenes/HuoShanFixScene.unity | 4190 +++++++++++++---- Assets/Scenes/Persistence.unity | 4 +- .../Scripts/FixSystemNew/FixStateMachine.cs | 59 + .../Scripts/Framework/OtherKit/CameraKit.cs | 4 +- .../HuoShan/Language/ExpressionManager.cs | 6 +- .../HuoShan/Language/LanguageAnalysis.meta | 8 + .../LanguageAnalysis/AUTO_CONFIG_FEATURE.md | 165 + .../AUTO_CONFIG_FEATURE.md.meta} | 2 +- .../LanguageAnalysis/CLEAN_ARCHITECTURE.md | 228 + .../CLEAN_ARCHITECTURE.md.meta | 7 + .../Language/LanguageAnalysis/Editor.meta | 8 + .../LanguageAnalysisManager.cs | 151 + .../LanguageAnalysisManager.cs.meta | 11 + .../LanguageAnalysisYarnCommands.cs | 78 + .../LanguageAnalysisYarnCommands.cs.meta | 11 + .../LanguageAnalysis/QUICK_REFERENCE.md | 147 + .../LanguageAnalysis/QUICK_REFERENCE.md.meta | 7 + .../Language/LanguageAnalysis/README.md | 252 + .../Language/LanguageAnalysis/README.md.meta | 7 + .../LanguageAnalysis/REFACTORING_SUMMARY.md | 287 ++ .../REFACTORING_SUMMARY.md.meta | 7 + .../Language/LanguageAnalysis/SETUP_GUIDE.md | 272 ++ .../LanguageAnalysis/SETUP_GUIDE.md.meta | 7 + .../TestLanguageAnalysis.yarn | 69 + .../TestLanguageAnalysis.yarn.meta | 10 + .../HuoShan/Language/MemoryDecryptor.meta | 8 + .../Language/MemoryDecryptor/CHANGES.md | 299 ++ .../Language/MemoryDecryptor/CHANGES.md.meta | 7 + .../MemoryDecryptor/ExampleYarnDialogue.yarn | 128 + .../ExampleYarnDialogue.yarn.meta | 10 + .../MemoryDecryptor/IMPLEMENTATION_SUMMARY.md | 276 ++ .../IMPLEMENTATION_SUMMARY.md.meta | 7 + .../MemoryDecryptorConfigExample.cs | 163 + .../MemoryDecryptorConfigExample.cs.meta | 11 + .../MemoryDecryptor/MemoryDecryptorData.cs | 130 + .../MemoryDecryptorData.cs.meta | 11 + .../MemoryDecryptorInputHandler.cs | 347 ++ .../MemoryDecryptorInputHandler.cs.meta | 11 + .../MemoryDecryptor/MemoryDecryptorMode.cs | 607 +++ .../MemoryDecryptorMode.cs.meta | 11 + .../MemoryDecryptorRenderer.cs | 574 +++ .../MemoryDecryptorRenderer.cs.meta | 11 + .../MemoryDecryptorYarnCommands.cs | 97 + .../MemoryDecryptorYarnCommands.cs.meta | 11 + .../Language/MemoryDecryptor/QUICKSTART.md | 223 + .../MemoryDecryptor/QUICKSTART.md.meta | 7 + .../Language/MemoryDecryptor/README.md | 182 + .../Language/MemoryDecryptor/README.md.meta | 7 + .../Language/MemoryDecryptorConfig.asset | 27 + .../Language/MemoryDecryptorConfig.asset.meta | 8 + .../HuoShan/Language/SYSTEM_ARCHITECTURE.md | 258 + .../Language/SYSTEM_ARCHITECTURE.md.meta | 7 + WebPrototype/index.html | 1526 ++++++ step2_10.html | 704 +++ step2_14.html | 878 ++++ 58 files changed, 11754 insertions(+), 1365 deletions(-) delete mode 100644 Assets/AddressableAssetsData/link.xml create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/AUTO_CONFIG_FEATURE.md rename Assets/{AddressableAssetsData/link.xml.meta => Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/AUTO_CONFIG_FEATURE.md.meta} (75%) create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/CLEAN_ARCHITECTURE.md create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/CLEAN_ARCHITECTURE.md.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/Editor.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisManager.cs create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisManager.cs.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisYarnCommands.cs create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisYarnCommands.cs.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/QUICK_REFERENCE.md create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/QUICK_REFERENCE.md.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/README.md create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/README.md.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/REFACTORING_SUMMARY.md create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/REFACTORING_SUMMARY.md.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/SETUP_GUIDE.md create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/SETUP_GUIDE.md.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/TestLanguageAnalysis.yarn create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/TestLanguageAnalysis.yarn.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/CHANGES.md create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/CHANGES.md.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/ExampleYarnDialogue.yarn create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/ExampleYarnDialogue.yarn.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/IMPLEMENTATION_SUMMARY.md create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/IMPLEMENTATION_SUMMARY.md.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorConfigExample.cs create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorConfigExample.cs.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorData.cs create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorData.cs.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorInputHandler.cs create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorInputHandler.cs.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorMode.cs create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorMode.cs.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorRenderer.cs create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorRenderer.cs.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorYarnCommands.cs create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorYarnCommands.cs.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/QUICKSTART.md create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/QUICKSTART.md.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/README.md create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/README.md.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptorConfig.asset create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptorConfig.asset.meta create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/SYSTEM_ARCHITECTURE.md create mode 100644 Assets/Scripts/MiniGame/HuoShan/Language/SYSTEM_ARCHITECTURE.md.meta create mode 100644 WebPrototype/index.html create mode 100644 step2_10.html create mode 100644 step2_14.html diff --git a/Assets/AddressableAssetsData/link.xml b/Assets/AddressableAssetsData/link.xml deleted file mode 100644 index f250786fb..000000000 --- a/Assets/AddressableAssetsData/link.xml +++ /dev/null @@ -1,536 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Assets/Render/Renderer2Dtest.asset b/Assets/Render/Renderer2Dtest.asset index fdae0d5da..197d64d62 100644 --- a/Assets/Render/Renderer2Dtest.asset +++ b/Assets/Render/Renderer2Dtest.asset @@ -463,15 +463,19 @@ MonoBehaviour: m_PostInfinity: 2 m_RotationOrder: 4 _filter: - - 0.007228916 - - 0.043749984 - - 0.12409639 - - 0.20444278 - - 0.24096388 - - 0.20444278 - - 0.12409639 - - 0.043749984 - - 0.007228916 + - 0.0048309183 + - 0.016401261 + - 0.04532712 + - 0.08293076 + - 0.12053438 + - 0.14946026 + - 0.1610306 + - 0.14946026 + - 0.12053438 + - 0.08293076 + - 0.04532712 + - 0.016401261 + - 0.0048309183 --- !u!114 &-6086986437317696584 MonoBehaviour: m_ObjectHideFlags: 3 diff --git a/Assets/Resources/Yarn/Test_Huoshan/Center.yarn b/Assets/Resources/Yarn/Test_Huoshan/Center.yarn index 6bec78703..581ef72a1 100644 --- a/Assets/Resources/Yarn/Test_Huoshan/Center.yarn +++ b/Assets/Resources/Yarn/Test_Huoshan/Center.yarn @@ -18,7 +18,7 @@ position: 205,199 //【流程相关】 //gameStage -<> +<> //每个模块的首次检查 <> @@ -66,10 +66,26 @@ colorID: 1 <> <> <> +<> + <> //结束,进入下一个Yarn <> === +title: 测试 +description: 脚本跳转中心,GameStage在此处处理,理论上不在其他地方读取GameStage +position: 205,446 +colorID: 1 +--- +//每次进入维修界面就自动保存 +<> +<> +<> +<> + +=== + + diff --git a/Assets/Scenes/HuoShanFixScene.unity b/Assets/Scenes/HuoShanFixScene.unity index c906c9e51..17d3132bc 100644 --- a/Assets/Scenes/HuoShanFixScene.unity +++ b/Assets/Scenes/HuoShanFixScene.unity @@ -403,6 +403,81 @@ Transform: m_Children: [] m_Father: {fileID: 1766300704} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &107370894 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 107370895} + - component: {fileID: 107370897} + - component: {fileID: 107370896} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &107370895 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 107370894} + 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: 1949336478} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &107370896 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 107370894} + 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: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &107370897 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 107370894} + m_CullTransparentMesh: 1 --- !u!1 &118320536 GameObject: m_ObjectHideFlags: 0 @@ -1553,6 +1628,207 @@ LineRenderer: m_UseWorldSpace: 1 m_Loop: 0 m_ApplyActiveColorSpace: 1 +--- !u!1 &321273720 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 321273721} + - component: {fileID: 321273724} + - component: {fileID: 321273723} + - component: {fileID: 321273722} + m_Layer: 5 + m_Name: Scrollbar Horizontal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &321273721 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 321273720} + 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: 1925695431} + m_Father: {fileID: 1386270718} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 20} + m_Pivot: {x: 0, y: 0} +--- !u!114 &321273722 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 321273720} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, 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: 790974648} + m_HandleRect: {fileID: 790974647} + m_Direction: 0 + m_Value: 1 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &321273723 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 321273720} + 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: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &321273724 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 321273720} + m_CullTransparentMesh: 1 +--- !u!1 &373738022 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 373738023} + - component: {fileID: 373738025} + - component: {fileID: 373738024} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &373738023 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 373738022} + 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: 2106713778} + 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: 20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &373738024 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 373738022} + 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: 10913, guid: 0000000000000000f000000000000000, type: 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 &373738025 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 373738022} + m_CullTransparentMesh: 1 --- !u!1001 &396269651 PrefabInstance: m_ObjectHideFlags: 0 @@ -2336,6 +2612,50 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 408942347} m_CullTransparentMesh: 1 +--- !u!1 &409349231 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 409349232} + - component: {fileID: 409349233} + m_Layer: 5 + m_Name: DecoderStripContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &409349232 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 409349231} + 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: 1304798100} + 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 &409349233 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 409349231} + m_CullTransparentMesh: 1 --- !u!1 &452801802 GameObject: m_ObjectHideFlags: 0 @@ -4713,6 +5033,42 @@ SpriteRenderer: m_WasSpriteAssigned: 0 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &642883736 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 642883737} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &642883737 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642883736} + 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: 1918522890} + m_Father: {fileID: 1949336478} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &651984031 GameObject: m_ObjectHideFlags: 0 @@ -5036,6 +5392,55 @@ RectTransform: m_AnchoredPosition: {x: 42.9, y: -400} m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &725237232 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 725237234} + - component: {fileID: 725237233} + m_Layer: 0 + m_Name: AnalysisSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &725237233 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725237232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a851d4a1c0297384093b20da97237333, type: 3} + m_Name: + m_EditorClassIdentifier: + analysisView: {fileID: 1613146634} +--- !u!4 &725237234 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725237232} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -30, y: -28.87, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1940081527} + - {fileID: 2134286410} + - {fileID: 1446242527} + - {fileID: 1613146638} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &751535848 GameObject: m_ObjectHideFlags: 0 @@ -5204,6 +5609,81 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &790974646 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 790974647} + - component: {fileID: 790974649} + - component: {fileID: 790974648} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &790974647 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790974646} + 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: 1925695431} + 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: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &790974648 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790974646} + 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: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &790974649 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790974646} + m_CullTransparentMesh: 1 --- !u!1 &811040250 GameObject: m_ObjectHideFlags: 0 @@ -6191,6 +6671,140 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &961523122 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 961523123} + - component: {fileID: 961523125} + - component: {fileID: 961523124} + 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 &961523123 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 961523122} + 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: 1013643982} + 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: 13.1, y: 117.8} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &961523124 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 961523122} + 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: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, 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: 13.2 + m_fontSizeBase: 13.2 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 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: 31.915733, 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 &961523125 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 961523122} + m_CullTransparentMesh: 1 --- !u!1 &983979845 GameObject: m_ObjectHideFlags: 3 @@ -6366,6 +6980,225 @@ PrefabInstance: insertIndex: -1 addedObject: {fileID: 0} m_SourcePrefab: {fileID: 100100000, guid: 7c9077b0433a4cf45812d3d82e129d9d, type: 3} +--- !u!1 &1002865833 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1002865834} + - component: {fileID: 1002865835} + m_Layer: 5 + m_Name: ControlPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1002865834 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1002865833} + 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: 1260046909} + - {fileID: 2130990716} + - {fileID: 1162400669} + - {fileID: 1949336478} + - {fileID: 1386270718} + m_Father: {fileID: 1304798100} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 9.28, y: 0} + m_SizeDelta: {x: -6.1699953, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1002865835 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1002865833} + m_CullTransparentMesh: 1 +--- !u!1 &1013643981 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1013643982} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1013643982 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1013643981} + 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: 961523123} + m_Father: {fileID: 1885336434} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 300} + m_Pivot: {x: 0, y: 1} +--- !u!1 &1014184132 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1014184133} + - component: {fileID: 1014184135} + - component: {fileID: 1014184134} + 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 &1014184133 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1014184132} + 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: 1162400669} + 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 &1014184134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1014184132} + 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: "\u8F93\u51FA" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 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 &1014184135 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1014184132} + m_CullTransparentMesh: 1 --- !u!1 &1019648048 GameObject: m_ObjectHideFlags: 0 @@ -7531,6 +8364,127 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &1162400665 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1162400669} + - component: {fileID: 1162400668} + - component: {fileID: 1162400667} + - component: {fileID: 1162400666} + m_Layer: 5 + m_Name: Button (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1162400666 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1162400665} + 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: 1162400667} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1162400667 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1162400665} + 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: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &1162400668 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1162400665} + m_CullTransparentMesh: 1 +--- !u!224 &1162400669 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1162400665} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.012000492, y: 0.012000492, z: 0.012000492} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1014184133} + m_Father: {fileID: 1002865834} + 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.87, y: 0.05} + m_SizeDelta: {x: 160, y: 80} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1167274216 GameObject: m_ObjectHideFlags: 0 @@ -8418,6 +9372,140 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &1260046908 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1260046909} + - component: {fileID: 1260046911} + - component: {fileID: 1260046910} + m_Layer: 5 + m_Name: Text (TMP) (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1260046909 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1260046908} + 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: 1002865834} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0.5, y: -1.52} + m_SizeDelta: {x: 1, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1260046910 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1260046908} + 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: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294040693 + m_fontColor: {r: 0.45745817, g: 0.86362934, b: 0.9433962, 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: 0.3 + m_fontSizeBase: 0.3 + 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_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 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.41540456, z: -2.6862788, 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 &1260046911 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1260046908} + m_CullTransparentMesh: 1 --- !u!1 &1274839201 GameObject: m_ObjectHideFlags: 0 @@ -8694,6 +9782,186 @@ SpriteRenderer: m_WasSpriteAssigned: 0 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &1304798099 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1304798100} + - component: {fileID: 1304798103} + - component: {fileID: 1304798102} + - component: {fileID: 1304798101} + m_Layer: 5 + m_Name: Canvas (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1304798100 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304798099} + 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: 1629034176} + - {fileID: 409349232} + - {fileID: 1002865834} + - {fileID: 1648973932} + m_Father: {fileID: 1613146638} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -2.2422447, y: -3.5013924} + m_SizeDelta: {x: 10, y: 10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1304798101 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304798099} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1304798102 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304798099} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 1 +--- !u!223 &1304798103 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304798099} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 + m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 5 + m_TargetDisplay: 0 +--- !u!1 &1309832617 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1309832618} + - component: {fileID: 1309832620} + - component: {fileID: 1309832619} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1309832618 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1309832617} + 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: 1714480641} + 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: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1309832619 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1309832617} + 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: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &1309832620 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1309832617} + m_CullTransparentMesh: 1 --- !u!1 &1320617930 GameObject: m_ObjectHideFlags: 0 @@ -8769,6 +10037,132 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1320617930} m_CullTransparentMesh: 1 +--- !u!1 &1327283197 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1327283198} + - component: {fileID: 1327283201} + - component: {fileID: 1327283200} + - component: {fileID: 1327283199} + m_Layer: 5 + m_Name: Scrollbar Vertical + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1327283198 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1327283197} + 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: 1714480641} + m_Father: {fileID: 1386270718} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1327283199 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1327283197} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, 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: 1309832619} + m_HandleRect: {fileID: 1309832618} + m_Direction: 2 + m_Value: 0.99999976 + m_Size: 0.6100001 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1327283200 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1327283197} + 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: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &1327283201 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1327283197} + m_CullTransparentMesh: 1 --- !u!1 &1361125756 GameObject: m_ObjectHideFlags: 0 @@ -8919,6 +10313,115 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1362197941} m_CullTransparentMesh: 1 +--- !u!1 &1386270717 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1386270718} + - component: {fileID: 1386270721} + - component: {fileID: 1386270720} + - component: {fileID: 1386270719} + m_Layer: 5 + m_Name: Scroll View + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1386270718 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1386270717} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.019288434, y: 0.019288434, z: 0.019288434} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1885336434} + - {fileID: 321273721} + - {fileID: 1327283198} + m_Father: {fileID: 1002865834} + 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: -2.65} + m_SizeDelta: {x: 200, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1386270719 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1386270717} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 1013643982} + m_Horizontal: 1 + m_Vertical: 1 + m_MovementType: 1 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.135 + m_ScrollSensitivity: 1 + m_Viewport: {fileID: 1885336434} + m_HorizontalScrollbar: {fileID: 321273722} + m_VerticalScrollbar: {fileID: 1327283199} + m_HorizontalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1386270720 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1386270717} + 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.392} + 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: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &1386270721 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1386270717} + m_CullTransparentMesh: 1 --- !u!1 &1393009639 GameObject: m_ObjectHideFlags: 0 @@ -9085,3203 +10588,3203 @@ PrefabInstance: m_Modifications: - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[0].y - value: -1.2628121 + value: -1.2669977 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[1].y - value: -1.2584449 + value: -1.2686648 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[2].y - value: -1.2579025 + value: -1.265969 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[3].y - value: -1.2574186 + value: -1.2625494 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[4].y - value: -1.2530028 + value: -1.262901 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[5].y - value: -1.2501236 + value: -1.2618003 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[6].y - value: -1.2507051 + value: -1.2573076 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[7].y - value: -1.2494849 + value: -1.2548876 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[8].y - value: -1.2465103 + value: -1.2548957 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[9].y - value: -1.2471683 + value: -1.2521286 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[10].y - value: -1.2496929 + value: -1.248233 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[11].y - value: -1.2487211 + value: -1.2486386 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[12].y - value: -1.248245 + value: -1.2497193 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[13].y - value: -1.2521632 + value: -1.2472084 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[14].y - value: -1.2550255 + value: -1.2464821 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[15].y - value: -1.2550129 + value: -1.2494835 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[16].y - value: -1.257355 + value: -1.250813 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[17].y - value: -1.2618486 + value: -1.2502365 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[18].y - value: -1.263026 + value: -1.2530469 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[19].y - value: -1.262652 + value: -1.2574644 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[20].y - value: -1.2659755 + value: -1.258029 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[21].y - value: -1.2687334 + value: -1.2584891 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[22].y - value: -1.2670504 + value: -1.2628534 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[23].y - value: -1.2662607 + value: -1.2656567 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[24].y - value: -1.2679757 + value: -1.264946 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[25].y - value: -1.2668749 + value: -1.2660106 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[26].y - value: -1.263192 + value: -1.2688347 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[27].y - value: -1.262352 + value: -1.2680271 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[28].y - value: -1.2624754 + value: -1.2653329 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[29].y - value: -1.2583266 + value: -1.2661371 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[30].y - value: -1.254364 + value: -1.2664965 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[31].y - value: -1.2543665 + value: -1.2624787 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[32].y - value: -1.2531025 + value: -1.2595206 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[33].y - value: -1.2491621 + value: -1.2594819 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[34].y - value: -1.2479837 + value: -1.2571621 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[35].y - value: -1.2493584 + value: -1.2526983 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[36].y - value: -1.247984 + value: -1.2515818 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[37].y - value: -1.2459539 + value: -1.2520683 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[38].y - value: -1.2486048 + value: -1.2488792 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[39].y - value: -1.251413 + value: -1.2462646 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[40].y - value: -1.2508051 + value: -1.2480963 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[41].y - value: -1.2520459 + value: -1.2490649 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[42].y - value: -1.25645 + value: -1.2475177 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[43].y - value: -1.2585545 + value: -1.2487476 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[44].y - value: -1.2586154 + value: -1.2525486 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[45].y - value: -1.2618585 + value: -1.2534963 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[46].y - value: -1.265995 + value: -1.2534457 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[47].y - value: -1.2655714 + value: -1.2576026 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[48].y - value: -1.2651513 + value: -1.2615759 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[49].y - value: -1.2680244 + value: -1.2615135 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[50].y - value: -1.2688091 + value: -1.2626735 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[51].y - value: -1.2661792 + value: -1.266505 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[52].y - value: -1.2655035 + value: -1.2675507 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[53].y - value: -1.2663536 + value: -1.2660298 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[54].y - value: -1.2634554 + value: -1.2672337 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[55].y - value: -1.2591734 + value: -1.2690927 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[56].y - value: -1.2589763 + value: -1.2662956 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[57].y - value: -1.2581798 + value: -1.2633367 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[58].y - value: -1.2537073 + value: -1.2638413 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[59].y - value: -1.2510254 + value: -1.2625297 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[60].y - value: -1.2514648 + value: -1.2580729 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[61].y - value: -1.2497733 + value: -1.2559401 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[62].y - value: -1.2466009 + value: -1.2559171 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[63].y - value: -1.2473454 + value: -1.2527496 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[64].y - value: -1.2496618 + value: -1.2487046 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[65].y - value: -1.2481828 + value: -1.2492318 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[66].y - value: -1.2478292 + value: -1.2498217 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[67].y - value: -1.251593 + value: -1.2471154 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[68].y - value: -1.2540449 + value: -1.2464733 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[69].y - value: -1.253963 + value: -1.2492708 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[70].y - value: -1.2565807 + value: -1.2501032 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[71].y - value: -1.2611022 + value: -1.2493718 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[72].y - value: -1.2620527 + value: -1.2523669 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[73].y - value: -1.2617975 + value: -1.2567205 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[74].y - value: -1.265582 + value: -1.2569684 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[75].y - value: -1.2682205 + value: -1.2577428 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[76].y - value: -1.266746 + value: -1.2621685 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[77].y - value: -1.2416135 + value: -1.2647848 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[78].y - value: -1.2420416 + value: -1.2642465 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[79].y - value: -1.2424698 + value: -1.2657878 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[80].y - value: -1.2353833 + value: -1.2688012 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[81].y - value: -1.2234386 + value: -1.2679082 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[82].y - value: -1.2114595 + value: -1.2654386 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[83].y - value: -1.2041557 + value: -1.2667391 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[84].y - value: -1.2045839 + value: -1.2669713 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[85].y - value: -1.2050121 + value: -1.2630833 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[86].y - value: -1.2035433 + value: -1.260538 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[87].y - value: -1.1915642 + value: -1.2605543 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[88].y - value: -1.1795851 + value: -1.2579283 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[89].y - value: -1.1676404 + value: -1.2534312 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[90].y - value: -1.1671262 + value: -1.252528 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[91].y - value: -1.1675544 + value: -1.2528634 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[92].y - value: -1.1679825 + value: -1.2492151 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[93].y - value: -1.1597241 + value: -1.2467029 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[94].y - value: -1.1477451 + value: -1.2483433 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[95].y - value: -1.135766 + value: -1.2488023 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[96].y - value: -1.1296952 + value: -1.2470322 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[97].y - value: -1.1301233 + value: -1.2483732 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[98].y - value: -1.1305248 + value: -1.2520242 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[99].y - value: -1.1278841 + value: -1.2525545 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[100].y - value: -1.115905 + value: -1.2524006 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[101].y - value: -1.103926 + value: -1.256825 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[102].y - value: -1.0922374 + value: -1.2605088 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[103].y - value: -1.0926656 + value: -1.2605081 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[104].y - value: -1.0930938 + value: -1.2620876 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[105].y - value: -1.0935218 + value: -1.2660654 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[106].y - value: -1.084065 + value: -1.266995 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[107].y - value: -1.0720859 + value: -1.2656564 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[108].y - value: -1.0601069 + value: -1.2673692 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[109].y - value: -1.0552078 + value: -1.2694465 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[110].y - value: -1.0556359 + value: -1.2665597 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[111].y - value: -1.0560641 + value: -1.26408 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[112].y - value: -1.0428365 + value: -1.2647128 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[113].y - value: -1.0470786 + value: -1.2632183 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[114].y - value: -1.057819 + value: -1.2588351 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[115].y - value: -1.0507071 + value: -1.2570213 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[116].y - value: -1.0400125 + value: -1.2569441 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[117].y - value: -1.0499027 + value: -1.2534049 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[118].y - value: -1.0586233 + value: -1.2492825 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[119].y - value: -1.0479287 + value: -1.2499155 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[120].y - value: -1.0419865 + value: -1.2500051 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[121].y - value: -1.052681 + value: -1.2470924 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[122].y - value: -1.055845 + value: -1.2465496 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[123].y - value: -1.0451046 + value: -1.2491245 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[124].y - value: -1.0448105 + value: -1.2494644 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[125].y - value: -1.0555052 + value: -1.2485844 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[126].y - value: -1.0530208 + value: -1.2517388 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[127].y - value: -1.0423263 + value: -1.2558985 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[128].y - value: -1.0475888 + value: -1.255891 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[129].y - value: -1.0582834 + value: -1.256972 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[130].y - value: -1.0502425 + value: -1.2614594 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[131].y - value: -1.0397184 + value: -1.2638822 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[132].y - value: -1.050413 + value: -1.2634627 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[133].y - value: -1.0581131 + value: -1.2654766 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[134].y - value: -1.0474185 + value: -1.2686989 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[135].y - value: -1.0424967 + value: -1.2677196 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[136].y - value: -1.0531913 + value: -1.2655972 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[137].y - value: -1.0553347 + value: -1.267264 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[138].y - value: -1.0446402 + value: -1.2673689 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[139].y - value: -1.0452751 + value: -1.263636 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[140].y - value: -1.0560154 + value: -1.2614998 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[141].y - value: -1.0525106 + value: -1.2616104 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[142].y - value: -1.041816 + value: -1.2587072 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[143].y - value: -1.0480992 + value: -1.2541776 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[144].y - value: -1.0587937 + value: -1.2534945 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[145].y - value: -1.0497323 + value: -1.2535282 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[146].y - value: -1.0587139 + value: -1.2496328 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[147].y - value: -1.0668643 + value: -1.2472379 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[148].y - value: -1.0749695 + value: -1.2486584 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[149].y - value: -1.08429 + value: -1.2486088 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[150].y - value: -1.0969313 + value: -1.2466447 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[151].y - value: -1.1095726 + value: -1.2480835 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[152].y - value: -1.122214 + value: -1.2515494 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[153].y - value: -1.1348553 + value: -1.2516377 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[154].y - value: -1.1438715 + value: -1.2516472 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[155].y - value: -1.1520219 + value: -1.2560649 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[156].y - value: -1.1601722 + value: -1.2594303 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[157].y - value: -1.1682775 + value: -1.2594935 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[158].y - value: -1.1780931 + value: -1.2614537 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[159].y - value: -1.1907343 + value: -1.265552 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[160].y - value: -1.2033756 + value: -1.2663468 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[161].y - value: -1.2160169 + value: -1.2652181 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[162].y - value: -1.2286582 + value: -1.2674344 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[163].y - value: -1.2371795 + value: -1.2694273 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[164].y - value: -1.2453299 + value: -1.266733 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[165].y - value: -1.2534351 + value: -1.2647363 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[166].y - value: -1.2615855 + value: -1.2655495 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[167].y - value: -1.271896 + value: -1.2638783 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[168].y - value: -1.2845373 + value: -1.259568 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[169].y - value: -1.2971785 + value: -1.258102 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[170].y - value: -1.3098198 + value: -1.2580112 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[171].y - value: -1.3223372 + value: -1.2540978 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[172].y - value: -1.3304874 + value: -1.2501806 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[173].y - value: -1.3386377 + value: -1.2506673 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[174].y - value: -1.3467431 + value: -1.2502792 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[175].y - value: -1.3548934 + value: -1.2471535 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[176].y - value: -1.3656989 + value: -1.2466959 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[177].y - value: -1.3783402 + value: -1.249074 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[178].y - value: -1.3909816 + value: -1.2489184 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[179].y - value: -1.4036229 + value: -1.247841 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[180].y - value: -1.415645 + value: -1.2511489 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[181].y - value: -1.4171433 + value: -1.2548976 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[182].y - value: -1.4167072 + value: -1.2548469 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[183].y - value: -1.4113598 + value: -1.256203 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[184].y - value: -1.413208 + value: -1.2607142 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[185].y - value: -1.4185554 + value: -1.2629147 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[186].y - value: -1.4153179 + value: -1.2626187 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[187].y - value: -1.4099706 + value: -1.2651051 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[188].y - value: -1.4145973 + value: -1.2685153 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[189].y - value: -1.4192761 + value: -1.2674304 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[190].y - value: -1.4139059 + value: -1.2459928 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[191].y - value: -1.4106619 + value: -1.2464743 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[192].y - value: -1.4160093 + value: -1.2417319 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[193].y - value: -1.4178641 + value: -1.2296841 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[194].y - value: -1.4125167 + value: -1.2177738 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[195].y - value: -1.4120512 + value: -1.208187 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[196].y - value: -1.4173985 + value: -1.2085617 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[197].y - value: -1.4164748 + value: -1.2090433 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[198].y - value: -1.4111276 + value: -1.209418 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[199].y - value: -1.4134632 + value: -1.1978098 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[200].y - value: -1.4188105 + value: -1.1858994 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[201].y - value: -1.4150628 + value: -1.1738516 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[202].y - value: -1.4097155 + value: -1.1711307 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[203].y - value: -1.4148524 + value: -1.1715055 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[204].y - value: -1.4190209 + value: -1.171987 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[205].y - value: -1.4136736 + value: -1.1660727 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[206].y - value: -1.4108943 + value: -1.154025 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[207].y - value: -1.4162644 + value: -1.1421146 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[208].y - value: -1.4176089 + value: -1.1336997 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[209].y - value: -1.4122616 + value: -1.1340744 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[210].y - value: -1.4123063 + value: -1.1345559 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[211].y - value: -1.4176536 + value: -1.1341983 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[212].y - value: -1.4162197 + value: -1.1221507 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[213].y - value: -1.4108725 + value: -1.1102402 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[214].y - value: -1.4136955 + value: -1.0981925 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[215].y - value: -1.2539699 + value: -1.0966433 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[216].y - value: -1.2501738 + value: -1.0971249 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[217].y - value: -1.2472956 + value: -1.0974997 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[218].y - value: -1.2486109 + value: -1.0902762 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[219].y - value: -1.2488203 + value: -1.0783658 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[220].y - value: -1.2467259 + value: -1.0664554 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[221].y - value: -1.2476679 + value: -1.0592123 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[222].y - value: -1.2510349 + value: -1.0595871 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[223].y - value: -1.2514187 + value: -1.0600686 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[224].y - value: -1.2511041 + value: -1.0581821 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[225].y - value: -1.2553543 + value: -1.0504354 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[226].y - value: -1.2590989 + value: -1.0396494 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[227].y - value: -1.2591672 + value: -1.0501744 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[228].y - value: -1.2607849 + value: -1.0582602 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[229].y - value: -1.2649566 + value: -1.0476571 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[230].y - value: -1.2662317 + value: -1.0423496 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[231].y - value: -1.2652003 + value: -1.0529526 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[232].y - value: -1.2671461 + value: -1.0554818 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[233].y - value: -1.2695634 + value: -1.0448788 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[234].y - value: -1.2670797 + value: -1.0451279 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[235].y - value: -1.264816 + value: -1.0557309 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[236].y - value: -1.2657183 + value: -1.0527035 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[237].y - value: -1.2645098 + value: -1.0419173 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[238].y - value: -1.2602601 + value: -1.0479063 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[239].y - value: -1.258424 + value: -1.0586923 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[240].y - value: -1.258345 + value: -1.0499252 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[241].y - value: -1.2547958 + value: -1.0400815 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[242].y - value: -1.2504722 + value: -1.0506846 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[243].y - value: -1.2508385 + value: -1.0577499 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[244].y - value: -1.2507437 + value: -1.0471469 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[245].y - value: -1.247513 + value: -1.0428599 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[246].y - value: -1.2465472 + value: -1.0534629 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[247].y - value: -1.2487955 + value: -1.0549716 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[248].y - value: -1.2489096 + value: -1.0443685 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[249].y - value: -1.2477338 + value: -1.0456382 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[250].y - value: -1.2505625 + value: -1.0562413 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[251].y - value: -1.2546244 + value: -1.0521933 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[252].y - value: -1.2545179 + value: -1.0415902 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[253].y - value: -1.2554779 + value: -1.0484165 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[254].y - value: -1.2600039 + value: -1.0592027 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[255].y - value: -1.262626 + value: -1.0494149 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[256].y - value: -1.2624036 + value: -1.0405918 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[257].y - value: -1.2645773 + value: -1.0511948 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[258].y - value: -1.2680877 + value: -1.0572397 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[259].y - value: -1.2675061 + value: -1.0611423 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[260].y - value: -1.2656424 + value: -1.0738462 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[261].y - value: -1.2676307 + value: -1.0824869 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[262].y - value: -1.2681361 + value: -1.0905471 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[263].y - value: -1.264678 + value: -1.0987874 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[264].y - value: -1.262669 + value: -1.1068478 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[265].y - value: -1.2629212 + value: -1.1169901 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[266].y - value: -1.26019 + value: -1.129694 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[267].y - value: -1.2556682 + value: -1.1422727 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[268].y - value: -1.2548304 + value: -1.1549766 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[269].y - value: -1.2547988 + value: -1.1675553 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[270].y - value: -1.2506862 + value: -1.1757498 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[271].y - value: -1.24794 + value: -1.18381 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[272].y - value: -1.2490637 + value: -1.1920505 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[273].y - value: -1.2487687 + value: -1.2001107 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[274].y - value: -1.2464616 + value: -1.2108244 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[275].y - value: -1.2474974 + value: -1.2235281 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[276].y - value: -1.2506746 + value: -1.2361069 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[277].y - value: -1.2505914 + value: -1.2488108 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[278].y - value: -1.2503201 + value: -1.2609524 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[279].y - value: -1.2546185 + value: -1.2690127 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[280].y - value: -1.2580292 + value: -1.277253 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[281].y - value: -1.2581096 + value: -1.2853134 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[282].y - value: -1.2600845 + value: -1.2935537 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[283].y - value: -1.2643641 + value: -1.3046585 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[284].y - value: -1.2654798 + value: -1.3172373 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[285].y - value: -1.2646254 + value: -1.3299412 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[286].y - value: -1.2670754 + value: -1.3425199 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[287].y - value: -1.2694857 + value: -1.3542153 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[288].y - value: -1.267131 + value: -1.3622756 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[289].y - value: -1.2653652 + value: -1.370516 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[290].y - value: -1.2664473 + value: -1.3785763 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[291].y - value: -1.2650906 + value: -1.3868166 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[292].y - value: -1.2609484 + value: -1.3984928 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[293].y - value: -1.2594826 + value: -1.4110715 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[294].y - value: -1.2594211 + value: -1.4133897 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[295].y - value: -1.255538 + value: -1.4186912 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[296].y - value: -1.2513994 + value: -1.4151363 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[297].y - value: -1.2516768 + value: -1.4098349 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[298].y - value: -1.2511264 + value: -1.4147788 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[299].y - value: -1.2477088 + value: -1.4191402 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[300].y - value: -1.2468389 + value: -1.4137472 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[301].y - value: -1.2488743 + value: -1.410775 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[302].y - value: -1.2484747 + value: -1.416168 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[303].y - value: -1.247105 + value: -1.4177511 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[304].y - value: -1.250067 + value: -1.412358 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[305].y - value: -1.2536975 + value: -1.4122556 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[306].y - value: -1.2534983 + value: -1.4175571 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[307].y - value: -1.2547088 + value: -1.4162704 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[308].y - value: -1.2592369 + value: -1.4109689 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[309].y - value: -1.2616076 + value: -1.4136448 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[310].y - value: -1.2614821 + value: -1.4189463 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[311].y - value: -1.2640982 + value: -1.4148812 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[312].y - value: -1.2677768 + value: -1.4096409 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[313].y - value: -1.2670938 + value: -1.4150339 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[314].y - value: -1.2657365 + value: -1.4188851 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[315].y - value: -1.2679372 + value: -1.4134921 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[316].y - value: -1.2683496 + value: -1.41103 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[317].y - value: -1.2650732 + value: -1.4164231 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[318].y - value: -1.2635248 + value: -1.417496 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[319].y - value: -1.2638956 + value: -1.4121029 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[320].y - value: -1.260937 + value: -1.4124192 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[321].y - value: -1.2564424 + value: -1.4178122 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[322].y - value: -1.2558798 + value: -1.4160153 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[323].y - value: -1.2554816 + value: -1.4107138 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[324].y - value: -1.251255 + value: -1.4138999 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[325].y - value: -1.2486539 + value: -1.4192014 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[326].y - value: -1.2496002 + value: -1.4146261 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[327].y - value: -1.2487978 + value: -1.409896 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[328].y - value: -1.2462784 + value: -1.2531378 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[329].y - value: -1.2474048 + value: -1.2506392 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[330].y - value: -1.2503844 + value: -1.2470859 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[331].y - value: -1.24983 + value: -1.247904 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[332].y - value: -1.249714 + value: -1.249438 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[333].y - value: -1.2539109 + value: -1.2474098 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[334].y - value: -1.2569631 + value: -1.2471402 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[335].y - value: -1.2570359 + value: -1.2505513 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[336].y - value: -1.2593567 + value: -1.2522418 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[337].y - value: -1.263722 + value: -1.2519743 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[338].y - value: -1.2646705 + value: -1.2549676 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[339].y - value: -1.2639811 + value: -1.2594895 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[340].y - value: -1.2669195 + value: -1.260047 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[341].y - value: -1.2692404 + value: -1.2603832 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[342].y - value: -1.2670946 + value: -1.2645183 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[343].y - value: -1.2658404 + value: -1.2670081 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[344].y - value: -1.2671121 + value: -1.2659358 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[345].y - value: -1.2656133 + value: -1.2665666 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[346].y - value: -1.2616004 + value: -1.2689146 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[347].y - value: -1.2605153 + value: -1.2676402 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[348].y - value: -1.2604908 + value: -1.2645135 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[349].y - value: -1.2562987 + value: -1.2649194 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[350].y - value: -1.2523967 + value: -1.2649367 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[351].y - value: -1.2525738 + value: -1.2606547 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[352].y - value: -1.2515736 + value: -1.2575346 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[353].y - value: -1.247979 + value: -1.2574649 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[354].y - value: -1.2472101 + value: -1.2551936 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[355].y - value: -1.2490346 + value: -1.25089 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[356].y - value: -1.2481265 + value: -1.2500359 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[357].y - value: -1.2465558 + value: -1.2508422 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[358].y - value: -1.249635 + value: -1.248059 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[359].y - value: -1.2528149 + value: -1.2458905 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[360].y - value: -1.2525053 + value: -1.2482045 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[361].y - value: -1.2539548 + value: -1.2496343 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[362].y - value: -1.2584654 + value: -1.2485008 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[363].y - value: -1.2605685 + value: -1.2501138 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[364].y - value: -1.2605218 + value: -1.2542312 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[365].y - value: -1.2635568 + value: -1.2554001 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[366].y - value: -1.2673943 + value: -1.2554443 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[367].y - value: -1.266601 + value: -1.2596173 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[368].y - value: -1.2657495 + value: -1.2634858 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[369].y - value: -1.268163 + value: -1.2632439 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[370].y - value: -1.2684798 + value: -1.2641087 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[371].y - value: -1.2654004 + value: -1.2675611 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[372].y - value: -1.2643174 + value: -1.2681974 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[373].y - value: -1.2648225 + value: -1.2662022 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[374].y - value: -1.2616596 + value: -1.2669395 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[375].y - value: -1.2572116 + value: -1.2683631 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[376].y - value: -1.2569491 + value: -1.2651494 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[377].y - value: -1.2561953 + value: -1.2618437 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[378].y - value: -1.2518718 + value: -1.2620564 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[379].y - value: -1.2494375 + value: -1.260572 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[380].y - value: -1.2502079 + value: -1.2560507 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[381].y - value: -1.2489132 + value: -1.2539588 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[382].y - value: -1.2461842 + value: -1.2540545 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[383].y - value: -1.2473953 + value: -1.2511295 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[384].y - value: -1.250171 + value: -1.2474194 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[385].y - value: -1.2491301 + value: -1.2483433 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[386].y - value: -1.2491628 + value: -1.2493706 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[387].y - value: -1.2532411 + value: -1.2471142 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[388].y - value: -1.2559191 + value: -1.246938 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[389].y - value: -1.2559646 + value: -1.2501748 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[390].y - value: -1.2586043 + value: -1.2513939 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[391].y - value: -1.2630392 + value: -1.2510039 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[392].y - value: -1.2638047 + value: -1.2542301 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[393].y - value: -1.2632624 + value: -1.2587112 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[394].y - value: -1.2666878 + value: -1.258983 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[395].y - value: -1.2689067 + value: -1.2596874 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[396].y - value: -1.266977 + value: -1.2639425 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[397].y - value: -1.2662301 + value: -1.2662885 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[398].y - value: -1.2676994 + value: -1.2653774 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[399].y - value: -1.2660778 + value: -1.2665081 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[400].y - value: -1.2622064 + value: -1.2690823 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[401].y - value: -1.2615253 + value: -1.2677212 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[402].y - value: -1.2615569 + value: -1.2647804 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[403].y - value: -1.2570677 + value: -1.2656567 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[404].y - value: -1.253429 + value: -1.2655263 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[405].y - value: -1.253513 + value: -1.2613598 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[406].y - value: -1.2520859 + value: -1.2586029 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[407].y - value: -1.2483263 + value: -1.2585453 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[408].y - value: -1.247663 + value: -1.2559247 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[409].y - value: -1.2492799 + value: -1.2515371 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[410].y - value: -1.2478582 + value: -1.2508488 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[411].y - value: -1.2460973 + value: -1.251512 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[412].y - value: -1.2492747 + value: -1.2482398 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[413].y - value: -1.2519923 + value: -1.2461631 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[414].y - value: -1.2515564 + value: -1.248249 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[415].y - value: -1.253219 + value: -1.249173 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[416].y - value: -1.2576927 + value: -1.247866 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[417].y - value: -1.2595109 + value: -1.2496071 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[418].y - value: -1.2595245 + value: -1.2535841 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[419].y - value: -1.2629645 + value: -1.2543625 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[420].y - value: -1.2668809 + value: -1.2543867 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[421].y - value: -1.2660263 + value: -1.2588582 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[422].y - value: -1.2656752 + value: -1.2624916 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[423].y - value: -1.2479717 + value: -1.2623307 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[424].y - value: -1.2359926 + value: -1.2636496 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[425].y - value: -1.2295189 + value: -1.267277 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[426].y - value: -1.2299471 + value: -1.2677989 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[427].y - value: -1.2303485 + value: -1.2660303 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[428].y - value: -1.2281107 + value: -1.267277 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[429].y - value: -1.2161316 + value: -1.2688859 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[430].y - value: -1.2041526 + value: -1.2655604 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[431].y - value: -1.1921735 + value: -1.2626995 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[432].y - value: -1.1924893 + value: -1.2630463 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[433].y - value: -1.1929175 + value: -1.2613289 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[434].y - value: -1.1933457 + value: -1.2568203 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[435].y - value: -1.1842916 + value: -1.2549922 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[436].y - value: -1.1723125 + value: -1.2550342 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[437].y - value: -1.1603334 + value: -1.2516887 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[438].y - value: -1.1550316 + value: -1.2478635 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[439].y - value: -1.1554598 + value: -1.248845 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[440].y - value: -1.1558878 + value: -1.2493731 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[441].y - value: -1.1524172 + value: -1.2469039 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[442].y - value: -1.1404381 + value: -1.2468295 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[443].y - value: -1.128459 + value: -1.2498703 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[444].y - value: -1.1175739 + value: -1.250625 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[445].y - value: -1.118002 + value: -1.2500775 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[446].y - value: -1.1184301 + value: -1.2535093 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[447].y - value: -1.1188583 + value: -1.25784 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[448].y - value: -1.108598 + value: -1.2579274 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[449].y - value: -1.096619 + value: -1.2589694 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[450].y - value: -1.0846399 + value: -1.2633076 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[451].y - value: -1.0805709 + value: -1.265486 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[452].y - value: -1.0809724 + value: -1.2647622 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[453].y - value: -1.0814006 + value: -1.266381 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[454].y - value: -1.076758 + value: -1.2691499 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[455].y - value: -1.0647789 + value: -1.2677045 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[456].y - value: -1.0527998 + value: -1.2651353 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[457].y - value: -1.0431132 + value: -1.2663456 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[458].y - value: -1.0585855 + value: -1.266062 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[459].y - value: -1.0499405 + value: -1.2620182 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[460].y - value: -1.0399747 + value: -1.2596525 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[461].y - value: -1.0507151 + value: -1.2596053 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[462].y - value: -1.0578109 + value: -1.2566764 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[463].y - value: -1.0471164 + value: -1.2522329 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[464].y - value: -1.0427988 + value: -1.2517366 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[465].y - value: -1.0534934 + value: -1.252039 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[466].y - value: -1.0550326 + value: -1.2484859 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[467].y - value: -1.044338 + value: -1.2465034 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[468].y - value: -1.0455772 + value: -1.2483935 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[469].y - value: -1.0563174 + value: -1.2488104 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[470].y - value: -1.0522085 + value: -1.2472868 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[471].y - value: -1.0415139 + value: -1.2491515 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[472].y - value: -1.0484012 + value: -1.2529944 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[473].y - value: -1.0590959 + value: -1.2533548 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[474].y - value: -1.0494301 + value: -1.253568 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[475].y - value: -1.040485 + value: -1.25809 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[476].y - value: -1.0511795 + value: -1.2614483 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[477].y - value: -1.0573007 + value: -1.2613714 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[478].y - value: -1.0466061 + value: -1.2631185 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[479].y - value: -1.0433091 + value: -1.2669195 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[480].y - value: -1.0540037 + value: -1.2673365 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[481].y - value: -1.0545224 + value: -1.2657577 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[482].y - value: -1.0438278 + value: -1.2675142 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[483].y - value: -1.0460874 + value: -1.2690405 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[484].y - value: -1.056782 + value: -1.2659135 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[485].y - value: -1.051744 + value: -1.2635183 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[486].y - value: -1.0410037 + value: -1.2639751 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[487].y - value: -1.0489115 + value: -1.2620543 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[488].y - value: -1.0596061 + value: -1.2575963 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[489].y - value: -1.0489199 + value: -1.2560636 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[490].y - value: -1.0409952 + value: -1.2560494 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[491].y - value: -1.0516899 + value: -1.2522898 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[492].y - value: -1.0568361 + value: -1.2486349 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[493].y - value: -1.0650327 + value: -1.2494413 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[494].y - value: -1.073138 + value: -1.2494591 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[495].y - value: -1.0812883 + value: -1.2467941 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[496].y - value: -1.0921024 + value: -1.2468042 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[497].y - value: -1.1047437 + value: -1.2496293 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[498].y - value: -1.117385 + value: -1.2499018 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[499].y - value: -1.1300263 + value: -1.2492217 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[500].y - value: -1.14204 + value: -1.2528316 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[501].y - value: -1.1501904 + value: -1.2568012 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[502].y - value: -1.1583407 + value: -1.2568456 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[503].y - value: -1.166446 + value: -1.2582178 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[504].y - value: -1.1745963 + value: -1.2626401 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[505].y - value: -1.1859053 + value: -1.2646451 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[506].y - value: -1.1985466 + value: -1.2640575 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[507].y - value: -1.211188 + value: -1.2661737 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[508].y - value: -1.2238293 + value: -1.2691474 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[509].y - value: -1.235348 + value: -1.2676027 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[510].y - value: -1.2434983 + value: -1.2655388 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[511].y - value: -1.2516487 + value: -1.2669623 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[512].y - value: -1.259754 + value: -1.2665492 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[513].y - value: -1.2679043 + value: -1.2626324 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[514].y - value: -1.2797083 + value: -1.260655 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[515].y - value: -1.2923496 + value: -1.26068 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[516].y - value: -1.3049909 + value: -1.2574502 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[517].y - value: -1.3176322 + value: -1.2529509 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[518].y - value: -1.328656 + value: -1.2526534 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[519].y - value: -1.3368063 + value: -1.2525293 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[520].y - value: -1.3449116 + value: -1.2488194 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[521].y - value: -1.3530619 + value: -1.2469426 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[522].y - value: -1.3612123 + value: -1.2486076 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[523].y - value: -1.3735113 + value: -1.2485148 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[524].y - value: -1.3861526 + value: -1.2467856 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[525].y - value: -1.3987938 + value: -1.2487748 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[526].y - value: -1.4114351 + value: -1.2524587 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[527].y - value: -1.4109765 + value: -1.2524049 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[528].y - value: -1.4136143 + value: -1.2528306 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[529].y - value: -1.4189615 + value: -1.2573117 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[530].y - value: -1.4149117 + value: -1.2603843 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[531].y - value: -1.4096562 + value: -1.2603939 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[532].y - value: -1.4150034 + value: -1.2625428 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[533].y - value: -1.4188699 + value: -1.2664816 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[534].y - value: -1.4135226 + value: -1.2667782 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[535].y - value: -1.4110453 + value: -1.2654176 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[536].y - value: -1.4163926 + value: -1.2423068 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[537].y - value: -1.4174578 + value: -1.2335501 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[538].y - value: -1.4121106 + value: -1.2339249 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[539].y - value: -1.4124573 + value: -1.2344065 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[540].y - value: -1.4178046 + value: -1.2343906 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[541].y - value: -1.4160687 + value: -1.2224802 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[542].y - value: -1.4107214 + value: -1.2104324 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[543].y - value: -1.4138465 + value: -1.1985221 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[544].y - value: -1.4191937 + value: -1.1964939 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[545].y - value: -1.4146566 + value: -1.1968685 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[546].y - value: -1.4099113 + value: -1.1973501 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[547].y - value: -1.4152585 + value: -1.1906058 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[548].y - value: -1.4186147 + value: -1.1785581 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[549].y - value: -1.4132675 + value: -1.1666477 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[550].y - value: -1.4113004 + value: -1.1590629 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[551].y - value: -1.4166477 + value: -1.1594375 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[552].y - value: -1.4172256 + value: -1.1599191 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[553].y - value: -1.4118783 + value: -1.1587315 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[554].y - value: -1.4127125 + value: -1.1466837 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[555].y - value: -1.4180598 + value: -1.1347733 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[556].y - value: -1.4158136 + value: -1.1227255 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[557].y - value: -1.4104662 + value: -1.1220065 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[558].y - value: -1.4141016 + value: -1.1223813 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[559].y - value: -1.419449 + value: -1.1228628 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[560].y - value: -1.4144244 + value: -1.1149466 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[561].y - value: -1.4101435 + value: -1.1028988 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[562].y - value: -1.2488488 + value: -1.0909885 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[563].y - value: -1.2495376 + value: -1.0845755 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[564].y - value: -1.2498326 + value: -1.0849502 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[565].y - value: -1.2470411 + value: -1.0854318 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[566].y - value: -1.2465403 + value: -1.0830722 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[567].y - value: -1.2492533 + value: -1.0710245 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[568].y - value: -1.2498068 + value: -1.0591141 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[569].y - value: -1.2490236 + value: -1.0471444 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[570].y - value: -1.252177 + value: -1.0475192 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[571].y - value: -1.2564763 + value: -1.0509409 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[572].y - value: -1.2565098 + value: -1.0574936 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[573].y - value: -1.2575047 + value: -1.0468905 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[574].y - value: -1.261957 + value: -1.0431162 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[575].y - value: -1.2644011 + value: -1.0539023 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[576].y - value: -1.2639068 + value: -1.0547153 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[577].y - value: -1.2657298 + value: -1.0439291 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[578].y - value: -1.2688243 + value: -1.0458945 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[579].y - value: -1.2677932 + value: -1.0566807 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[580].y - value: -1.265463 + value: -1.0519369 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[581].y - value: -1.2669935 + value: -1.0411508 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[582].y - value: -1.2670742 + value: -1.0486728 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[583].y - value: -1.2632486 + value: -1.059459 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[584].y - value: -1.2609488 + value: -1.0491586 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[585].y - value: -1.261001 + value: -1.0408481 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[586].y - value: -1.258173 + value: -1.0514512 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[587].y - value: -1.253658 + value: -1.0569832 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[588].y - value: -1.252937 + value: -1.0463803 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[589].y - value: -1.253121 + value: -1.0436264 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[590].y - value: -1.249314 + value: -1.0542295 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[591].y - value: -1.246947 + value: -1.054205 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[592].y - value: -1.2485021 + value: -1.0434189 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[593].y - value: -1.2486675 + value: -1.0464048 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[594].y - value: -1.2468268 + value: -1.0571909 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[595].y - value: -1.2483072 + value: -1.0514266 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[596].y - value: -1.2518914 + value: -1.0406405 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[597].y - value: -1.2521466 + value: -1.0491831 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[598].y - value: -1.2521328 + value: -1.0592513 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[599].y - value: -1.2565916 + value: -1.0486484 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[600].y - value: -1.260057 + value: -1.0413584 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[601].y - value: -1.2600851 + value: -1.0519614 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[602].y - value: -1.2619036 + value: -1.056473 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[603].y - value: -1.265927 + value: -1.04587 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[604].y - value: -1.2667122 + value: -1.0441368 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[605].y - value: -1.265451 + value: -1.0562822 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[606].y - value: -1.2674557 + value: -1.0689859 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[607].y - value: -1.2693989 + value: -1.0807003 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[608].y - value: -1.2665825 + value: -1.0887606 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[609].y - value: -1.264385 + value: -1.096821 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[610].y - value: -1.2650867 + value: -1.1050613 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[611].y - value: -1.2634209 + value: -1.1131216 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[612].y - value: -1.2590618 + value: -1.1248337 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[613].y - value: -1.2574754 + value: -1.1375376 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[614].y - value: -1.2574013 + value: -1.1501163 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[615].y - value: -1.2536122 + value: -1.1628202 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[616].y - value: -1.2496717 + value: -1.1739632 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[617].y - value: -1.2502381 + value: -1.1820235 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[618].y - value: -1.2500522 + value: -1.1902639 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[619].y - value: -1.2470571 + value: -1.1983242 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[620].y - value: -1.246641 + value: -1.2065645 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[621].y - value: -1.2491477 + value: -1.218668 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[622].y - value: -1.2492001 + value: -1.2312467 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[623].y - value: -1.2482448 + value: -1.2439506 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[624].y - value: -1.2515613 + value: -1.2565293 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[625].y - value: -1.2554655 + value: -1.2672262 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[626].y - value: -1.2554467 + value: -1.2752864 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[627].y - value: -1.2567348 + value: -1.2835268 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[628].y - value: -1.2612323 + value: -1.2915871 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[629].y - value: -1.2634656 + value: -1.2998275 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[630].y - value: -1.2631046 + value: -1.3125021 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[631].y - value: -1.2653999 + value: -1.325081 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[632].y - value: -1.2686878 + value: -1.3377848 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[633].y - value: -1.2675647 + value: -1.3503635 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[634].y - value: -1.2657441 + value: -1.3604891 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[635].y - value: -1.2674801 + value: -1.3687295 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[636].y - value: -1.2674515 + value: -1.3767898 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[637].y - value: -1.2637855 + value: -1.3850302 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[638].y - value: -1.2619112 + value: -1.3936325 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[639].y - value: -1.2620437 + value: -1.4062114 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[640].y - value: -1.2589443 + value: -1.4147531 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[641].y - value: -1.2544156 + value: -1.409769 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[642].y - value: -1.2539275 + value: -1.4151621 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[643].y - value: -1.2537057 + value: -1.4186654 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[644].y - value: -1.249751 + value: -1.4133639 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[645].y - value: -1.2475022 + value: -1.4112498 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[646].y - value: -1.2488568 + value: -1.4165512 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[647].y - value: -1.2485099 + value: -1.4172763 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[648].y - value: -1.2464578 + value: -1.4119748 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[649].y - value: -1.2480428 + value: -1.4126389 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[650].y - value: -1.2514465 + value: -1.4179404 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[651].y - value: -1.2512586 + value: -1.4158871 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[652].y - value: -1.251435 + value: -1.4105856 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[653].y - value: -1.2558321 + value: -1.414028 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[654].y - value: -1.258987 + value: -1.4193296 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[655].y - value: -1.2590452 + value: -1.414498 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[656].y - value: -1.261251 + value: -1.4100242 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[657].y - value: -1.2653997 + value: -1.4154172 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[658].y - value: -1.2660418 + value: -1.4185019 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[659].y - value: -1.2649739 + value: -1.4131088 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[660].y - value: -1.2674818 + value: -1.4115049 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[661].y - value: -1.2693408 + value: -1.4168065 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[662].y - value: -1.2667321 + value: -1.4170212 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[663].y - value: -1.2650284 + value: -1.4117196 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[664].y - value: -1.2658962 + value: -1.412894 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[665].y - value: -1.2640572 + value: -1.4181956 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[666].y - value: -1.2597876 + value: -1.415632 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[667].y - value: -1.2585431 + value: -1.4103304 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[668].y - value: -1.258463 + value: -1.4142833 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[669].y - value: -1.2543223 + value: -1.4195848 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[670].y - value: -1.2505785 + value: -1.4142427 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[671].y - value: -1.2510092 + value: -1.4102793 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[672].y - value: -1.2503451 + value: -1.4156724 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[673].y - value: -1.2471527 + value: -1.4182467 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[674].y - value: -1.2468308 + value: -1.4128536 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[675].y - value: -1.2491215 + value: -1.2493035 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[676].y - value: -1.2486742 + value: -1.248765 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[677].y - value: -1.2475361 + value: -1.2499869 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[678].y - value: -1.2509966 + value: -1.247644 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[679].y - value: -1.2544886 + value: -1.2459424 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[680].y - value: -1.2543935 + value: -1.2487049 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[681].y - value: -1.2559628 + value: -1.2505679 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[682].y - value: -1.260486 + value: -1.2498392 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[683].y - value: -1.2624934 + value: -1.251764 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[684].y - value: -1.2622495 + value: -1.2560995 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[685].y - value: -1.2649964 + value: -1.2573903 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[686].y - value: -1.2684684 + value: -1.257478 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[687].y - value: -1.2672517 + value: -1.2615607 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[688].y - value: -1.2659404 + value: -1.2652457 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[689].y - value: -1.2678905 + value: -1.2647024 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[690].y - value: -1.2677535 + value: -1.2652125 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[691].y - value: -1.2642597 + value: -1.2682594 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[692].y - value: -1.2628238 + value: -1.2684412 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[693].y - value: -1.2630545 + value: -1.2659785 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[694].y - value: -1.2597104 + value: -1.2662627 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[695].y - value: -1.2551855 + value: -1.2672496 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[696].y - value: -1.2549492 + value: -1.2636788 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[697].y - value: -1.2543366 + value: -1.2600868 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[698].y - value: -1.2502486 + value: -1.2601308 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[699].y - value: -1.2481366 + value: -1.258553 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[700].y - value: -1.2492979 + value: -1.2540435 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[701].y - value: -1.2484415 + value: -1.2520739 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[702].y - value: -1.2461767 + value: -1.2524171 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[703].y - value: -1.2478532 + value: -1.2498012 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[704].y - value: -1.2510691 + value: -1.2464646 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[705].y - value: -1.2504246 + value: -1.2478229 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[706].y - value: -1.2507774 + value: -1.249313 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[707].y - value: -1.2550939 + value: -1.2475381 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[708].y - value: -1.2579111 + value: -1.2478043 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[709].y - value: -1.2579906 + value: -1.2514267 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[710].y - value: -1.2605574 + value: -1.2529913 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[711].y - value: -1.264815 + value: -1.2528276 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[712].y - value: -1.2653078 + value: -1.2562099 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[713].y - value: -1.2644188 + value: -1.260744 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[714].y - value: -1.2674276 + value: -1.260957 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[715].y - value: -1.2691936 + value: -1.2614883 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[716].y - value: -1.2667966 + value: -1.2654696 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[717].y - value: -1.2655927 + value: -1.2674656 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[718].y - value: -1.2666382 + value: -1.2661645 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[719].y - value: -1.2646482 + value: -1.266845 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[720].y - value: -1.2604853 + value: -1.2689372 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[721].y - value: -1.2595997 + value: -1.2671167 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[722].y - value: -1.2595384 + value: -1.2637608 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[723].y - value: -1.2550576 + value: -1.2642682 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[724].y - value: -1.2515357 + value: -1.2638332 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[725].y - value: -1.2518362 + value: -1.2594479 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[726].y - value: -1.2507138 + value: -1.2565782 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[727].y - value: -1.2473327 + value: -1.25652 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[728].y - value: -1.2471015 + value: -1.2540108 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[729].y - value: -1.2491797 + value: -1.2498409 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[730].y - value: -1.2482275 + value: -1.249456 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[731].y - value: -1.2469103 + value: -1.2504731 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[732].y - value: -1.2504916 + value: -1.2476299 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[733].y - value: -1.2535477 + value: -1.2460124 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[734].y - value: -1.2533684 + value: -1.2485803 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[735].y - value: -1.255192 + value: -1.2499549 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[736].y - value: -1.2597213 + value: -1.2490385 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[737].y - value: -1.2614863 + value: -1.2511305 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[738].y - value: -1.2613428 + value: -1.2553824 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[739].y - value: -1.2645272 + value: -1.256335 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[740].y - value: -1.2681084 + value: -1.2564031 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[741].y - value: -1.2668515 + value: -1.260839 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[742].y - value: -1.2660553 + value: -1.2643179 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[743].y - value: -1.2682136 + value: -1.2639318 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[744].y - value: -1.2679825 + value: -1.2649059 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[745].y - value: -1.2646716 + value: -1.2681484 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[746].y - value: -1.2636856 + value: -1.2682283 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[747].y - value: -1.2640314 + value: -1.2659785 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[748].y - value: -1.2604591 + value: -1.266762 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[749].y - value: -1.2560741 + value: -1.2679415 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[750].y - value: -1.256 + value: -1.2642363 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[751].y - value: -1.2550118 + value: -1.2610652 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[752].y - value: -1.2508066 + value: -1.2611636 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[753].y - value: -1.2488371 + value: -1.2593226 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[754].y - value: -1.2498143 + value: -1.254801 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[755].y - value: -1.2484573 + value: -1.253065 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[756].y - value: -1.2459764 + value: -1.2532744 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[757].y - value: -1.2477475 + value: -1.2502142 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[758].y - value: -1.2506009 + value: -1.2467453 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[759].y - value: -1.2496457 + value: -1.248163 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[760].y - value: -1.2501616 + value: -1.2491285 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[761].y - value: -1.2543801 + value: -1.2471422 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[762].y - value: -1.256848 + value: -1.2475225 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[763].y - value: -1.2569238 + value: -1.2509695 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[764].y - value: -1.259835 + value: -1.2520796 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[765].y - value: -1.2641842 + value: -1.2518344 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[766].y - value: -1.2645056 + value: -1.2554511 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[767].y - value: -1.2639999 + value: -1.2598734 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[768].y - value: -1.2672877 + value: -1.2599186 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[769].y - value: -1.2689652 + value: -1.2608399 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[770].y - value: -1.2526437 + value: -1.264961 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[771].y - value: -1.2406647 + value: -1.2668287 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[772].y - value: -1.2286856 + value: -1.2657008 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[773].y - value: -1.2173976 + value: -1.266887 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[774].y - value: -1.2178258 + value: -1.2692072 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[775].y - value: -1.218254 + value: -1.267295 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[776].y - value: -1.218682 + value: -1.2642678 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[777].y - value: -1.2088246 + value: -1.2650987 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[778].y - value: -1.1968455 + value: -1.2644789 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[779].y - value: -1.1848665 + value: -1.2601782 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[780].y - value: -1.1803948 + value: -1.2576585 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[781].y - value: -1.1808228 + value: -1.2575887 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[782].y - value: -1.1812243 + value: -1.2547169 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[783].y - value: -1.1769845 + value: -1.250432 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[784].y - value: -1.1650056 + value: -1.2501953 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[785].y - value: -1.1530265 + value: -1.2508459 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[786].y - value: -1.142937 + value: -1.2477132 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[787].y - value: -1.1433651 + value: -1.2461827 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[788].y - value: -1.1437933 + value: -1.2485243 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[789].y - value: -1.1442215 + value: -1.2493988 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[790].y - value: -1.1331655 + value: -1.2483209 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[791].y - value: -1.1211864 + value: -1.2505562 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[792].y - value: -1.1092074 + value: -1.2546877 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[793].y - value: -1.1059074 + value: -1.2552714 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[794].y - value: -1.1063356 + value: -1.2555783 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[795].y - value: -1.1067637 + value: -1.2601008 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[796].y - value: -1.1012911 + value: -1.2633461 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[797].y - value: -1.089312 + value: -1.263082 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[798].y - value: -1.077333 + value: -1.2645272 objectReference: {fileID: 0} - target: {fileID: 834421866380903855, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Positions.Array.data[799].y - value: -1.0684497 + value: -1.2679439 objectReference: {fileID: 0} - target: {fileID: 5511377784529418688, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: isSystemOn @@ -12329,7 +13832,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7009335405372632175, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_LocalPosition.y - value: 0.19116056 + value: -0.008333564 objectReference: {fileID: 0} - target: {fileID: 7747964294900162324, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} propertyPath: m_Name @@ -12340,6 +13843,140 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 999f00aa14c1cf74ab1264bd82ab28e2, type: 3} +--- !u!1 &1417312524 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1417312525} + - component: {fileID: 1417312527} + - component: {fileID: 1417312526} + 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 &1417312525 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1417312524} + 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: 2130990716} + 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 &1417312526 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1417312524} + 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: "\u8F93\u51FA" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 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 &1417312527 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1417312524} + m_CullTransparentMesh: 1 --- !u!1 &1425106432 GameObject: m_ObjectHideFlags: 0 @@ -12403,6 +14040,90 @@ MonoBehaviour: data: moduleName: UF available: 1 +--- !u!1 &1446242526 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1446242527} + - component: {fileID: 1446242528} + m_Layer: 0 + m_Name: background (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1446242527 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1446242526} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.7099991, y: -3.5, z: -0.77730703} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 725237234} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &1446242528 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1446242526} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 1 + m_Sprite: {fileID: 8789638399658599085, guid: 2338fddc038248b4b934bef72357cd13, type: 3} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 17.860466, y: 10.046512} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &1465975039 GameObject: m_ObjectHideFlags: 0 @@ -13784,6 +15505,90 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &1613146634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1613146638} + - component: {fileID: 1613146637} + - component: {fileID: 1613146636} + - component: {fileID: 1613146635} + m_Layer: 0 + m_Name: AnalysisView + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1613146635 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1613146634} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e1a12debb3cd84740b987c9ec9313548, type: 3} + m_Name: + m_EditorClassIdentifier: + gridContainer: {fileID: 1629034176} + frequencySlider: {fileID: 1949336479} + filterButton: {fileID: 2130990719} + verifyButton: {fileID: 1162400666} + gridCellSize: 45 + gridCellGap: 2 +--- !u!114 &1613146636 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1613146634} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 534afdc61c904bd4a8cbae4aca0d3087, type: 3} + m_Name: + m_EditorClassIdentifier: + gridContainer: {fileID: 1629034176} + decoderStripContainer: {fileID: 409349232} + frequencyDisplay: {fileID: 1260046910} + logText: {fileID: 961523124} + signalBar: {fileID: 1949336478} + glitchUpdateInterval: 0.1 +--- !u!114 &1613146637 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1613146634} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4333ef16deba37d43b41e3572b677b8b, type: 3} + m_Name: + m_EditorClassIdentifier: + config: {fileID: 11400000, guid: 69788d7210a8ca849bca95e9fcf4ab65, type: 2} +--- !u!4 &1613146638 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1613146634} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1304798100} + m_Father: {fileID: 725237234} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1619242111 GameObject: m_ObjectHideFlags: 0 @@ -13847,6 +15652,50 @@ MonoBehaviour: imageToRotate: {fileID: 0} inPos: {x: -33, y: -2, z: 0} outPos: {x: -24, y: -2, z: 0} +--- !u!1 &1629034175 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1629034176} + - component: {fileID: 1629034177} + m_Layer: 5 + m_Name: GridContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1629034176 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1629034175} + 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: 1304798100} + 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 &1629034177 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1629034175} + m_CullTransparentMesh: 1 --- !u!1 &1631866949 GameObject: m_ObjectHideFlags: 0 @@ -14139,6 +15988,50 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1647576916} m_CullTransparentMesh: 1 +--- !u!1 &1648973931 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1648973932} + - component: {fileID: 1648973933} + m_Layer: 5 + m_Name: DecoderStripContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1648973932 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1648973931} + 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: 1304798100} + 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 &1648973933 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1648973931} + m_CullTransparentMesh: 1 --- !u!1 &1663853512 GameObject: m_ObjectHideFlags: 0 @@ -14750,6 +16643,42 @@ MonoBehaviour: data: moduleName: Logic available: 1 +--- !u!1 &1714480640 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1714480641} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1714480641 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1714480640} + 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: 1309832618} + m_Father: {fileID: 1327283198} + 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: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1724748031 GameObject: m_ObjectHideFlags: 0 @@ -16360,6 +18289,96 @@ Transform: m_Children: [] m_Father: {fileID: 1158491031} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1885336433 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1885336434} + - component: {fileID: 1885336437} + - component: {fileID: 1885336436} + - component: {fileID: 1885336435} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1885336434 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1885336433} + 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: 1013643982} + m_Father: {fileID: 1386270718} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!114 &1885336435 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1885336433} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &1885336436 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1885336433} + 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: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &1885336437 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1885336433} + m_CullTransparentMesh: 1 --- !u!1 &1902809260 GameObject: m_ObjectHideFlags: 0 @@ -16444,6 +18463,81 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &1918522889 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1918522890} + - component: {fileID: 1918522892} + - component: {fileID: 1918522891} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1918522890 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1918522889} + 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: 642883737} + 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: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1918522891 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1918522889} + 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: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &1918522892 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1918522889} + m_CullTransparentMesh: 1 --- !u!1 &1923020728 GameObject: m_ObjectHideFlags: 0 @@ -16631,6 +18725,42 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &1925695430 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1925695431} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1925695431 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1925695430} + 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: 790974647} + m_Father: {fileID: 321273721} + 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: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1932107676 GameObject: m_ObjectHideFlags: 0 @@ -16715,6 +18845,168 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &1940081526 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1940081527} + - component: {fileID: 1940081528} + m_Layer: 0 + m_Name: Language Analysis Camera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1940081527 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1940081526} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.7099991, y: -3.5, z: -10.777307} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2093972363} + m_Father: {fileID: 725237234} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1940081528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1940081526} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 9 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 34 + OrthographicSize: 5 + NearClipPlane: 0.3 + FarClipPlane: 1000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 2 + FocusDistance: 10 + m_SensorSize: {x: 1, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 2093972363} +--- !u!1 &1949336477 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1949336478} + - component: {fileID: 1949336479} + m_Layer: 5 + m_Name: slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1949336478 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1949336477} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.027839523, y: 0.027839523, z: 0.027839523} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 107370895} + - {fileID: 642883737} + - {fileID: 2106713778} + m_Father: {fileID: 1002865834} + 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.27, y: 1.06} + m_SizeDelta: {x: 160, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1949336479 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1949336477} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, 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: 373738024} + m_FillRect: {fileID: 1918522890} + m_HandleRect: {fileID: 373738023} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] --- !u!1 &1955441287 GameObject: m_ObjectHideFlags: 0 @@ -17655,6 +19947,50 @@ MonoBehaviour: m_Calls: [] m_LegacyBlendHint: 0 m_ComponentOwner: {fileID: 1152811717} +--- !u!1 &2093972362 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2093972363} + - component: {fileID: 2093972364} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2093972363 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2093972362} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1940081527} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2093972364 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2093972362} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &2098060756 GameObject: m_ObjectHideFlags: 0 @@ -17739,6 +20075,42 @@ SpriteRenderer: m_WasSpriteAssigned: 0 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &2106713777 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2106713778} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2106713778 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2106713777} + 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: 373738023} + m_Father: {fileID: 1949336478} + 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: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &2114306086 GameObject: m_ObjectHideFlags: 0 @@ -17859,6 +20231,127 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2114306086} m_CullTransparentMesh: 1 +--- !u!1 &2130990715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2130990716} + - component: {fileID: 2130990718} + - component: {fileID: 2130990717} + - component: {fileID: 2130990719} + m_Layer: 5 + m_Name: Button (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2130990716 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130990715} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.012000492, y: 0.012000492, z: 0.012000492} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1417312525} + m_Father: {fileID: 1002865834} + 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.89, y: 2.12} + m_SizeDelta: {x: 160, y: 80} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2130990717 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130990715} + 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: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &2130990718 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130990715} + m_CullTransparentMesh: 1 +--- !u!114 &2130990719 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2130990715} + 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: 2130990717} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &2131448666 GameObject: m_ObjectHideFlags: 0 @@ -17943,6 +20436,88 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &2134286409 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2134286410} + - component: {fileID: 2134286411} + m_Layer: 0 + m_Name: Light 2D (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2134286410 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2134286409} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.5600004, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 725237234} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2134286411 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2134286409} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 073797afb82c5a1438f328866b10b3f0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ComponentVersion: 1 + m_LightType: 1 + m_BlendStyleIndex: 0 + m_FalloffIntensity: 0.5 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_LightVolumeIntensity: 1 + m_LightVolumeIntensityEnabled: 0 + m_ApplyToSortingLayers: f3a9fe5c00000000bbbb5032670b9971b7e66ab5d3878c191da0cc5f7740d514351d35393d533d9a7dc3a93dad9d9e43a55d9d3c8db9e11bb33d1a38cd4376e253b7f3d03394c91221d98fe1c7af7730011a6676 + m_LightCookieSprite: {fileID: 0} + m_DeprecatedPointLightCookieSprite: {fileID: 0} + m_LightOrder: 0 + m_AlphaBlendOnOverlap: 0 + m_OverlapOperation: 0 + m_NormalMapDistance: 3 + m_NormalMapQuality: 2 + m_UseNormalMap: 0 + m_ShadowIntensityEnabled: 0 + m_ShadowIntensity: 0.75 + m_ShadowVolumeIntensityEnabled: 0 + m_ShadowVolumeIntensity: 0.75 + m_LocalBounds: + m_Center: {x: 0.7027502, y: -3.8768501, z: 0} + m_Extent: {x: 9.62255, y: 5.77485, z: 0} + m_PointLightInnerAngle: 360 + m_PointLightOuterAngle: 360 + m_PointLightInnerRadius: 0 + m_PointLightOuterRadius: 1 + m_ShapeLightParametricSides: 5 + m_ShapeLightParametricAngleOffset: 0 + m_ShapeLightParametricRadius: 1 + m_ShapeLightFalloffSize: 0.5 + m_ShapeLightFalloffOffset: {x: 0, y: 0} + m_ShapePath: + - {x: -8.300076, y: -9.136493, z: 0} + - {x: 9.797846, y: -9.155944, z: 0} + - {x: 9.817297, y: 1.3947716, z: 0} + - {x: -8.416782, y: 1.3947716, z: 0} --- !u!1 &2138889538 GameObject: m_ObjectHideFlags: 0 @@ -17990,7 +20565,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7245d320411db7c449fe8dec4ef86edf, type: 3} m_Name: m_EditorClassIdentifier: - particleManager: {fileID: 7087903030884008430} expressionView: {fileID: 1131749960} defaultAnxietyPhrases: - "\u6211\u597D\u6015" @@ -18130,17 +20704,6 @@ Transform: m_CorrespondingSourceObject: {fileID: 5583140471695735899, guid: 27bf60bc51cd2f64d9012728a32b960d, type: 3} m_PrefabInstance: {fileID: 7087903030884008428} m_PrefabAsset: {fileID: 0} ---- !u!114 &7087903030884008430 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 5814606722141011736, guid: 27bf60bc51cd2f64d9012728a32b960d, type: 3} - m_PrefabInstance: {fileID: 7087903030884008428} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 79af040068968934c9a7d092267034f6, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1001 &9210352354887959608 PrefabInstance: m_ObjectHideFlags: 0 @@ -18215,4 +20778,5 @@ SceneRoots: - {fileID: 462594834} - {fileID: 1211738976} - {fileID: 2138889539} + - {fileID: 725237234} - {fileID: 1774281545} diff --git a/Assets/Scenes/Persistence.unity b/Assets/Scenes/Persistence.unity index 2dcb1ba04..6f7997f67 100644 --- a/Assets/Scenes/Persistence.unity +++ b/Assets/Scenes/Persistence.unity @@ -9433,7 +9433,7 @@ Transform: m_GameObject: {fileID: 519420028} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalPosition: {x: -0.009999275, y: 0, z: -10} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -11969,7 +11969,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: feee73ba51d6e1a4da81ed7f94ab4694, type: 3} m_Name: m_EditorClassIdentifier: - runMode: 0 + runMode: 1 firstTalkSo: {fileID: 11400000, guid: 2f763a2c04ecafb4981379b7363f9791, type: 2} testTalkSo: {fileID: 11400000, guid: 8ce86974047bb404c9096e70a606355a, type: 2} saveFileName: "20250901_204445_PeipeiDay1_\u8BB0\u5FC6\u68C0\u67E5" diff --git a/Assets/Scripts/FixSystemNew/FixStateMachine.cs b/Assets/Scripts/FixSystemNew/FixStateMachine.cs index f13145c02..b100ab95e 100644 --- a/Assets/Scripts/FixSystemNew/FixStateMachine.cs +++ b/Assets/Scripts/FixSystemNew/FixStateMachine.cs @@ -62,6 +62,7 @@ namespace AibisDream.FixSystem FixState.MemoryCut => new MemoryCutState(), FixState.LogicCut => new LogicCutState(), FixState.Dream => new DreamState(), + FixState.LanguageAnalysis => new LanguageAnalysisState(), _ => new DefaultState() }; @@ -87,6 +88,7 @@ namespace AibisDream.FixSystem MemoryCut, LogicCut, Dream, + LanguageAnalysis, } public struct DefaultState : IState @@ -698,4 +700,61 @@ namespace AibisDream.FixSystem yield return UIManager.Instance.GetPanel().FadeOutAsync(0.1f); } } + + public struct LanguageAnalysisState : IState + { + public FixState GetState => FixState.LanguageAnalysis; + + public void SetArgs(string args) + { + // 无 + } + + public IEnumerator Enter() + { + // 获取语言分析系统 + var languageAnalysisManager = FixSystemCenter.SystemDic.Get(); + + if (languageAnalysisManager == null) + { + Debug.LogError("[LanguageAnalysisState] LanguageAnalysisManager 未找到!"); + yield break; + } + + // 先切 BodyModule(如果需要) + if (!CameraKit.Instance.EqualToCameraState(CameraEnum.BodyModule)) + { + var bodyModule = FixSystemCenter.SystemDic.Get(); + bodyModule.SwitchModuleGroup(ModuleState.Head); + yield return CameraKit.Instance.SwitchCamera(CameraEnum.BodyModule); + } + + // 打开语言分析系统视图 + languageAnalysisManager.OpenView(); + + // 切换到语言分析相机 + yield return CameraKit.Instance.SwitchCamera(CameraEnum.LanguageAnalysis); + + } + + public IEnumerator Exit() + { + var languageAnalysisManager = FixSystemCenter.SystemDic.Get(); + var bodyModuleSystem = FixSystemCenter.SystemDic.Get(); + + if (languageAnalysisManager != null) + { + // 关闭语言分析系统视图 + languageAnalysisManager.CloseView(); + } + + // 重置身体模块 + if (bodyModuleSystem != null) + { + bodyModuleSystem.ResetPlug(); + } + + yield break; + } + } } \ No newline at end of file diff --git a/Assets/Scripts/Framework/OtherKit/CameraKit.cs b/Assets/Scripts/Framework/OtherKit/CameraKit.cs index c5b500772..badb9a2fe 100644 --- a/Assets/Scripts/Framework/OtherKit/CameraKit.cs +++ b/Assets/Scripts/Framework/OtherKit/CameraKit.cs @@ -421,6 +421,8 @@ namespace AibisDream.Framework Subway, SubwayTV, Language, - LanguageDeep + LanguageDeep, + LanguageAnalysis, + LanguageAnalysisDeep } } \ No newline at end of file diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/ExpressionManager.cs b/Assets/Scripts/MiniGame/HuoShan/Language/ExpressionManager.cs index b16dc683d..52f21f31d 100644 --- a/Assets/Scripts/MiniGame/HuoShan/Language/ExpressionManager.cs +++ b/Assets/Scripts/MiniGame/HuoShan/Language/ExpressionManager.cs @@ -8,13 +8,15 @@ using System.Collections.Generic; namespace AibisDream { /// - /// 表达系统顶层管理器(原 ExpressionManager,现改为语言粒子系统) + /// 表达系统管理器(粒子表达系统) /// public class ExpressionManager : MonoBehaviour { [Header("系统组件")] - [SerializeField] private LanguageParticleManager particleManager; [SerializeField] private GameObject expressionView; + + // 内部组件引用(自动查找) + private LanguageParticleManager particleManager; [Header("默认配置")] [SerializeField] private List defaultAnxietyPhrases = new List diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis.meta b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis.meta new file mode 100644 index 000000000..4a7bd3d4e --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5cc257c414a9bbf45a5bc5ca2a220355 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/AUTO_CONFIG_FEATURE.md b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/AUTO_CONFIG_FEATURE.md new file mode 100644 index 000000000..f15cb9c68 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/AUTO_CONFIG_FEATURE.md @@ -0,0 +1,165 @@ +# 自动配置功能说明 + +## ✨ 新功能:自动创建默认配置 + +### 概述 + +现在 **无需手动创建配置文件**!`MemoryDecryptorMode` 会在启动时自动检测,如果没有配置文件,将自动创建并使用默认配置。 + +## 🚀 使用方式 + +### 最简单的方式(推荐) + +1. 添加 `MemoryDecryptorMode` 组件到场景 +2. **不设置** Config 字段(留空) +3. 运行游戏 + +系统会自动: +- ✅ 检测到配置为空 +- ✅ 创建默认配置(包含完整示例数据) +- ✅ 启动系统 + +### 自定义配置方式 + +如果需要自定义配置: + +1. 创建配置文件:`Create > AibisDream > Language > Memory Decryptor Config` +2. 自定义笑话、目标、视觉效果等 +3. 在 `MemoryDecryptorMode` 的 Config 字段拖入配置文件 + +## 📦 默认配置包含 + +自动创建的默认配置包含: + +### 网格设置 +- 20x20 网格 +- 单元格大小:45px +- 单元格间隔:2px + +### 视觉效果 +- 磷光绿主色调 (#33ff00) +- CRT 复古风格 +- 解码器条:5x3 青色边框 + +### 游戏数据 +- **笑话数据**:18+ 个销售员笑话(足够填充网格) +- **目标数据**:3个目标配置 + - Fear Solution (正确答案) + - Fear Decoy (诱饵) + - Sadness Solution (诱饵) + +### 解码器模板 +- 3个孔的 5x3 模板 +- 句子:"[孔1]要来了,不合格[孔2]被骂了,这让我很[孔3]" + +### 正确答案 +- **位置**:(3, 5) +- **频率**:90Hz (FEAR) +- **词汇**:临检、英里、担心 +- **完整句**:"临检要来了,不合格英里被骂了,这让我很担心" + +## 💡 工作原理 + +```csharp +private void Awake() +{ + // 如果没有配置文件,自动创建默认配置 + if (config == null) + { + Debug.LogWarning("[MemoryDecryptorMode] 未设置配置文件,使用默认配置"); + config = MemoryDecryptorConfigExample.CreateDefaultConfig(); + } + + // ... 其他初始化 +} +``` + +## 🎯 测试流程 + +### 零配置测试 + +1. **创建场景对象** +``` +LanguageAnalysisManager +└── MemoryDecryptorMode (什么都不设置!) + ├── MemoryDecryptorRenderer + └── MemoryDecryptorInputHandler +``` + +2. **连接 UI 组件**(只需要连接 UI 引用) + +3. **运行测试** +```yarn +<> +<> +``` + +4. **开始游戏** + - 频率调到 90Hz + - 解码器条拖到 (3, 5) 位置 + - 点击验证 → 成功! + +## 📊 配置对比 + +| 方式 | 配置步骤 | 自定义程度 | 适用场景 | +|------|---------|-----------|----------| +| **自动配置** | 0 步 | ❌ 固定 | 快速测试、原型验证 | +| **手动配置** | 3-5 步 | ✅ 完全自定义 | 正式关卡、特殊需求 | + +## 🔧 何时使用自定义配置 + +建议在以下情况创建自定义配置: + +- ✅ 需要不同的笑话内容 +- ✅ 需要不同的目标位置和词汇 +- ✅ 需要调整网格大小 +- ✅ 需要自定义视觉风格 +- ✅ 制作正式关卡 + +## ⚙️ 自定义配置示例 + +```csharp +// 创建自己的配置 +var myConfig = ScriptableObject.CreateInstance(); +myConfig.gridWidth = 15; // 改为 15x15 +myConfig.gridHeight = 15; + +myConfig.completeJokes = new List +{ + "我的自定义笑话内容...", + // ... +}; + +// 保存为资源 +#if UNITY_EDITOR +UnityEditor.AssetDatabase.CreateAsset(myConfig, "Assets/MyConfig.asset"); +#endif +``` + +## 🎉 优势 + +1. **即插即用** - 添加组件就能用 +2. **快速迭代** - 无需反复创建配置 +3. **降低门槛** - 新手更容易上手 +4. **灵活切换** - 测试用默认,正式用自定义 + +## ⚠️ 注意事项 + +1. **运行时配置**:自动创建的配置是运行时对象,不会保存到磁盘 +2. **每次启动重新创建**:每次运行游戏都会重新创建默认配置 +3. **持久化需求**:如果需要保存配置修改,请创建 ScriptableObject 资源 + +## 📝 日志提示 + +当使用自动配置时,Console 会显示: + +``` +[MemoryDecryptorMode] 未设置配置文件,使用默认配置 +``` + +这是正常提示,不是错误! + +--- + +**现在你可以直接添加组件开始测试,无需任何配置!** 🚀 + diff --git a/Assets/AddressableAssetsData/link.xml.meta b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/AUTO_CONFIG_FEATURE.md.meta similarity index 75% rename from Assets/AddressableAssetsData/link.xml.meta rename to Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/AUTO_CONFIG_FEATURE.md.meta index 02af76e9f..f97dfb2c2 100644 --- a/Assets/AddressableAssetsData/link.xml.meta +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/AUTO_CONFIG_FEATURE.md.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6eaa6cbafc9dfa74d9249d4217cbd142 +guid: 8e2ee6d30ac820343b7b75afc919d4ea TextScriptImporter: externalObjects: {} userData: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/CLEAN_ARCHITECTURE.md b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/CLEAN_ARCHITECTURE.md new file mode 100644 index 000000000..89f2ea5f7 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/CLEAN_ARCHITECTURE.md @@ -0,0 +1,228 @@ +# 语言分析系统 - 清晰架构说明 + +## ✅ 你应该使用的系统:LanguageAnalysisManager + +### 系统位置 +``` +Assets/Scripts/MiniGame/HuoShan/Language/ +└── LanguageAnalysis/ + └── LanguageAnalysisManager.cs # ✅ 这是主系统! +``` + +### 使用方法 + +#### 在 Yarn 中 +```yarn +// 进入语言分析系统 +<> + +// 启动记忆解密器 +<> + +// 退出语言分析系统 +<> +``` + +#### 在场景中 +``` +LanguageAnalysisManager +├── Language Analysis View (GameObject) +│ └── MemoryDecryptorMode +│ ├── Config: 留空即可(自动使用默认配置) +│ ├── MemoryDecryptorRenderer +│ └── MemoryDecryptorInputHandler +├── Language Analysis Camera +└── Language Analysis Deep Camera +``` + +## 📋 核心流程图 + +``` +游戏开始 + ↓ +任意状态 (Clinic / BodyModule / etc.) + ↓ +<> ← Yarn 命令 + ↓ +[FixStateMachine 切换状态] + ↓ +FixState.LanguageAnalysis ← 进入此状态 + ↓ +LanguageAnalysisState.Enter() + - 切换相机 + - 打开 Analysis View + - 淡入淡出效果 + ↓ +<> ← Yarn 命令 + ↓ +LanguageAnalysisManager.StartMemoryDecryptor() + ↓ +MemoryDecryptorMode.StartSystem() + - Boot 序列 + - 加载网格 + - 显示笑话 + ↓ +玩家操作界面 + - 调整频率 + - 拖动解码器 + - 点击验证 + ↓ +成功/失败 + ↓ +Yarn 节点跳转 (Success / Success_Fail) + ↓ +<> ← Yarn 命令 + ↓ +<> ← Yarn 命令 + ↓ +[FixStateMachine 切换状态] + ↓ +返回之前的状态 +``` + +## 🔑 关键组件 + +### 1. LanguageAnalysisManager (主系统) +**位置**: `LanguageAnalysis/LanguageAnalysisManager.cs` +**职责**: +- 管理语言分析视图 +- 注册到 FixSystemCenter +- 注册相机 +- 管理子系统(MemoryDecryptorMode) + +**公开方法**: +```csharp +void OpenView() // 打开视图 +void CloseView() // 关闭视图 +void StartMemoryDecryptor(string node) // 启动解密器 +void StartMemoryDecryptorFiltering() // 开始过滤 +void SetMemoryDecryptorFrequency(float f) // 设置频率 +void CheckMemoryDecryptorMatch() // 检查匹配 +``` + +### 2. LanguageAnalysisState (状态机状态) +**位置**: `FixSystemNew/FixStateMachine.cs` +**职责**: +- Enter: 切换相机、打开视图、淡入淡出 +- Exit: 关闭视图、重置 Plug + +### 3. MemoryDecryptorMode (解密器核心) +**位置**: `MemoryDecryptor/MemoryDecryptorMode.cs` +**职责**: +- 游戏逻辑 +- 网格管理 +- 频率调谐 +- 匹配检测 + +### 4. Yarn 命令 +**位置**: +- `LanguageAnalysis/LanguageAnalysisYarnCommands.cs` (状态切换) +- `MemoryDecryptor/MemoryDecryptorYarnCommands.cs` (解密器控制) + +## 📝 调用链 + +### Yarn → Manager → Mode + +``` +<> + ↓ +LanguageAnalysisYarnCommands.EnterLanguageAnalysis() + ↓ +FixStateMachine.SwitchState(LanguageAnalysis) + ↓ +LanguageAnalysisState.Enter() + ↓ +LanguageAnalysisManager.OpenView() + +--- + +<> + ↓ +MemoryDecryptorYarnCommands.StartMemoryDecryptor() + ↓ +LanguageAnalysisManager.StartMemoryDecryptor() + ↓ +MemoryDecryptorMode.StartSystem() +``` + +## ⚡ 快速配置(零配置模式) + +### 最简场景设置 + +1. **创建 LanguageAnalysisManager 对象** +2. **添加子对象和组件**(参考 SETUP_GUIDE.md) +3. **运行游戏** +4. **在 Yarn 中使用:** + +```yarn +<> +<> +``` + +就这么简单!✨ + +## ❌ 已移除的内容 + +从 ExpressionManager 中移除了: +- ❌ `AnalysisMode` 枚举 +- ❌ `memoryDecryptorMode` 字段 +- ❌ `SwitchMode()` 方法 +- ❌ `SwitchToParticleMode()` 方法 +- ❌ `SwitchToMemoryDecryptorMode()` 方法 +- ❌ `StartMemoryDecryptor()` 方法 +- ❌ `SetMemoryDecryptorFrequency()` 方法 +- ❌ `StartMemoryDecryptorFiltering()` 方法 +- ❌ `CheckMemoryDecryptorMatch()` 方法 + +**原因**: 记忆解密器现在完全属于 LanguageAnalysisManager + +## ✅ 现在的清晰架构 + +``` +ExpressionManager (表达系统) +├── 只管理粒子表达 +└── 不再管理记忆解密器 + +LanguageAnalysisManager (语言分析系统) +├── 管理所有语言分析相关功能 +└── 包含记忆解密器 +``` + +## 🎯 使用建议 + +### 表达情绪时 → ExpressionManager +```yarn +<> +<> +``` + +### 解密语言时 → LanguageAnalysisManager +```yarn +<> +<> +``` + +## 📚 文档导航 + +**开始使用语言分析系统:** +1. 📖 `LanguageAnalysis/QUICK_REFERENCE.md` - 快速上手 +2. 🔧 `LanguageAnalysis/SETUP_GUIDE.md` - 详细设置 +3. 🧪 `LanguageAnalysis/TestLanguageAnalysis.yarn` - 测试示例 + +**了解记忆解密器:** +1. 📖 `MemoryDecryptor/README.md` - 详细说明 +2. ⚡ `MemoryDecryptor/QUICKSTART.md` - 快速入门 +3. ✨ `MemoryDecryptor/AUTO_CONFIG_FEATURE.md` - 自动配置 + +--- + +## 💡 记住 + +**只使用 LanguageAnalysisManager!** +**ExpressionManager 已经不再包含记忆解密器了!** +**两个系统完全独立,不要混用!** + +--- + +**🚀 开始使用:** `<>` + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/CLEAN_ARCHITECTURE.md.meta b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/CLEAN_ARCHITECTURE.md.meta new file mode 100644 index 000000000..c1c31d3d8 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/CLEAN_ARCHITECTURE.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4beadb9460face44089b05f4978e5f76 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/Editor.meta b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/Editor.meta new file mode 100644 index 000000000..0863d9b20 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c9eae56ae4642284cac2cde2616de065 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisManager.cs b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisManager.cs new file mode 100644 index 000000000..3742fc2c0 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisManager.cs @@ -0,0 +1,151 @@ +using UnityEngine; +using AibisDream.FixSystem; +using Cinemachine; +using AibisDream.Framework; +using AibisDream.MiniGame.Language.MemoryDecryptor; + +namespace AibisDream.MiniGame.Language +{ + /// + /// 语言分析系统管理器 + /// 独立的语言分析系统,包含记忆解密器等分析模式 + /// + public class LanguageAnalysisManager : MonoBehaviour + { + [Header("系统视图")] + [SerializeField] private GameObject analysisView; + + [Header("记忆解密器组件")] + private MemoryDecryptorMode memoryDecryptorMode; + + void Start() + { + // 注册到系统字典 + FixSystemCenter.SystemDic.Register(this); + + // 查找视图 + if (analysisView == null) + { + analysisView = transform.Find("Language Analysis View")?.gameObject; + } + + if (analysisView != null) + { + analysisView.SetActive(false); + } + + // 查找记忆解密器 + if (memoryDecryptorMode == null) + { + memoryDecryptorMode = GetComponentInChildren(true); + } + + // 注册相机 + var virtualCam = transform.Find("Language Analysis Camera")?.GetComponent(); + if (virtualCam != null) + { + CameraKit.Instance.RegisterCamera(CameraEnum.LanguageAnalysis, virtualCam); + } + + var virtualCamDeep = transform.Find("Language Analysis Deep Camera")?.GetComponent(); + if (virtualCamDeep != null) + { + CameraKit.Instance.RegisterCamera(CameraEnum.LanguageAnalysisDeep, virtualCamDeep); + } + } + + /// + /// 打开语言分析视图 + /// + public void OpenView() + { + if (analysisView != null) + { + analysisView.SetActive(true); + } + } + + /// + /// 关闭语言分析视图 + /// + public void CloseView() + { + if (analysisView != null) + { + analysisView.SetActive(false); + } + + StopAllSystems(); + } + + /// + /// 停止所有分析系统 + /// + public void StopAllSystems() + { + if (memoryDecryptorMode != null) + { + memoryDecryptorMode.StopSystem(); + } + } + + #region 记忆解密器接口 + + /// + /// 启动记忆解密器 + /// + public void StartMemoryDecryptor(string completionNodeName = null) + { + if (memoryDecryptorMode != null) + { + memoryDecryptorMode.StartSystem(completionNodeName); + } + else + { + Debug.LogWarning("[LanguageAnalysisManager] 记忆解密器未设置!"); + } + } + + /// + /// 开始过滤 + /// + public void StartMemoryDecryptorFiltering() + { + if (memoryDecryptorMode != null) + { + memoryDecryptorMode.StartFiltering(); + } + } + + /// + /// 设置频率 + /// + public void SetMemoryDecryptorFrequency(float frequency) + { + if (memoryDecryptorMode != null) + { + memoryDecryptorMode.SetFrequency(frequency); + } + } + + /// + /// 检查匹配 + /// + public void CheckMemoryDecryptorMatch() + { + if (memoryDecryptorMode != null) + { + memoryDecryptorMode.CheckMatch(); + } + } + + #endregion + + private void OnDestroy() + { + CameraKit.Instance?.UnRegisterCamera(CameraEnum.LanguageAnalysis); + CameraKit.Instance?.UnRegisterCamera(CameraEnum.LanguageAnalysisDeep); + } + } +} + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisManager.cs.meta b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisManager.cs.meta new file mode 100644 index 000000000..df3281d1b --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a851d4a1c0297384093b20da97237333 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisYarnCommands.cs b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisYarnCommands.cs new file mode 100644 index 000000000..8c544a4c4 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisYarnCommands.cs @@ -0,0 +1,78 @@ +using System.Collections; +using UnityEngine; +using Yarn.Unity; +using AibisDream.FixSystem; +using AibisDream.Framework; + +namespace AibisDream.MiniGame.Language +{ + /// + /// 语言分析系统 Yarn 命令 + /// + public static class LanguageAnalysisYarnCommands + { + private static FixStateMachine FixStateMachine => FixSystemCenter.SystemDic.Get(); + + /// + /// 进入语言分析系统状态 + /// <> + /// + [YarnCommand("enter_language_analysis")] + public static void EnterLanguageAnalysis() + { + if (FixStateMachine == null) + { + Debug.LogError("[LanguageAnalysis] FixStateMachine 未找到!"); + return; + } + + // 通过协程切换状态 + MonoBehaviourHelper.Instance.StartCoroutine(SwitchToLanguageAnalysisState()); + } + + /// + /// 退出语言分析系统状态 + /// <> + /// + [YarnCommand("exit_language_analysis")] + public static void ExitLanguageAnalysis() + { + if (FixStateMachine == null) + { + Debug.LogError("[LanguageAnalysis] FixStateMachine 未找到!"); + return; + } + + // 切换回诊所状态或其他默认状态 + MonoBehaviourHelper.Instance.StartCoroutine(FixStateMachine.SwitchState(FixState.Clinic)); + } + + private static IEnumerator SwitchToLanguageAnalysisState() + { + yield return FixStateMachine.SwitchState(FixState.LanguageAnalysis); + } + } + + /// + /// MonoBehaviour 辅助类,用于启动协程 + /// + public class MonoBehaviourHelper : MonoBehaviour + { + private static MonoBehaviourHelper _instance; + + public static MonoBehaviourHelper Instance + { + get + { + if (_instance == null) + { + GameObject go = new GameObject("MonoBehaviourHelper"); + _instance = go.AddComponent(); + DontDestroyOnLoad(go); + } + return _instance; + } + } + } +} + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisYarnCommands.cs.meta b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisYarnCommands.cs.meta new file mode 100644 index 000000000..d5833b9b1 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/LanguageAnalysisYarnCommands.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8d25aa7540a2769478e93a4affce5d99 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/QUICK_REFERENCE.md b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/QUICK_REFERENCE.md new file mode 100644 index 000000000..838856a1d --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/QUICK_REFERENCE.md @@ -0,0 +1,147 @@ +# 语言分析系统 - 快速参考卡 + +## 🚀 一句话总结 + +语言分析系统是独立的 FixState,包含记忆解密器等分析模式,通过 `<>` 进入。 + +## 📋 快速命令 + +### 进入/退出系统 +```yarn +<> # 进入语言分析状态 +<> # 退出语言分析状态 +``` + +### 记忆解密器 +```yarn +<> # 启动 +<> # 开始过滤 +<> # 设置频率 +<> # 检查匹配 +<> # 停止 +``` + +## 🎯 最简测试 + +```yarn +title: Test +--- +<> +<> +=== + +title: Success +--- +成功! +<> +<> +=== + +title: Success_Fail +--- +失败,再试试。 +=== +``` + +## 🔧 场景设置 + +``` +LanguageAnalysisManager +├── Language Analysis View (视图) +│ ├── Canvas (UI) +│ └── MemoryDecryptorMode (脚本 + Config) +├── Language Analysis Camera +└── Language Analysis Deep Camera +``` + +## 📝 配置清单 + +- [ ] LanguageAnalysisManager 添加到场景 +- [ ] 配置 Analysis View +- [ ] 两个相机设置完成 +- [ ] MemoryDecryptorMode 已添加(配置文件可选,自动使用默认) +- [ ] UI 组件已连接 + +## 🎮 状态流程 + +``` +FixState.Clinic + ↓ <> +FixState.LanguageAnalysis + ↓ <> +记忆解密器运行中 + ↓ 成功/失败 +Yarn 节点反馈 + ↓ <> +FixState.Clinic +``` + +## ⚡ 常用代码 + +### C# 获取管理器 +```csharp +var manager = FixSystemCenter.SystemDic.Get(); +``` + +### C# 状态切换 +```csharp +yield return FixStateMachine.SwitchState(FixState.LanguageAnalysis); +``` + +### Yarn 完整示例 +```yarn +title: Start +--- +准备进入语言分析系统... +<> +<> +现在你可以操作了。 +=== + +title: GameSuccess +--- +🎉 解密成功! +<> +<> +继续游戏... +=== + +title: GameSuccess_Fail +--- +❌ 失败了 +-> 再试一次 + 继续... +-> 放弃 + <> + <> +=== +``` + +## 🐛 快速调试 + +### 检查系统 +```csharp +Debug.Log(FixSystemCenter.SystemDic.Get() != null); +``` + +### 检查状态 +```csharp +Debug.Log(FixStateMachine.CurState); +``` + +### 检查相机 +```csharp +Debug.Log(CameraKit.Instance.GetCamera(CameraEnum.LanguageAnalysis) != null); +``` + +## 📚 文档索引 + +- **详细设置**: `SETUP_GUIDE.md` +- **重构说明**: `REFACTORING_SUMMARY.md` +- **测试对话**: `TestLanguageAnalysis.yarn` +- **记忆解密器**: `../MemoryDecryptor/README.md` + +--- + +**记住:先 `enter` → 再 `start` → 最后 `exit`** ✨ + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/QUICK_REFERENCE.md.meta b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/QUICK_REFERENCE.md.meta new file mode 100644 index 000000000..dbe3f42d2 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/QUICK_REFERENCE.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7ed94d5eb5b51b04ebce8f9f3299fec0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/README.md b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/README.md new file mode 100644 index 000000000..1c2660997 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/README.md @@ -0,0 +1,252 @@ +# 语言分析系统 (Language Analysis System) + +## 📖 概述 + +语言分析系统是一个独立的游戏系统,通过 `FixStateMachine` 进行状态管理。它包含记忆解密器等多种分析模式,专注于语言相关的解谜玩法。 + +## 🎯 系统特点 + +- ✅ **独立系统** - 完全独立于 ExpressionManager +- ✅ **状态管理** - 集成到 FixStateMachine +- ✅ **易于测试** - 可单独进入测试 +- ✅ **易于扩展** - 支持多种分析模式 + +## 📂 文件结构 + +``` +LanguageAnalysis/ +├── LanguageAnalysisManager.cs # 主管理器 +├── LanguageAnalysisYarnCommands.cs # Yarn 状态切换命令 +├── README.md # 本文档 +├── QUICK_REFERENCE.md # 快速参考卡 +├── SETUP_GUIDE.md # 详细设置指南 +├── REFACTORING_SUMMARY.md # 重构说明 +└── TestLanguageAnalysis.yarn # 测试对话 +``` + +## 🚀 快速开始 + +### 1. Yarn 命令 + +```yarn +// 进入语言分析系统 +<> + +// 启动记忆解密器 +<> + +// 退出语言分析系统 +<> +``` + +### 2. 最简测试 + +```yarn +title: Test +--- +<> +<> +=== + +title: Success +--- +成功! +<> +<> +=== +``` + +## 📋 文档索引 + +| 文档 | 用途 | 适合人群 | +|------|------|----------| +| `QUICK_REFERENCE.md` | 快速查询命令和用法 | 所有人 | +| `SETUP_GUIDE.md` | 详细的场景设置步骤 | 首次使用者 | +| `REFACTORING_SUMMARY.md` | 重构说明和对比 | 了解架构变更 | +| `TestLanguageAnalysis.yarn` | 测试对话示例 | 测试功能 | + +## 🎮 核心组件 + +### LanguageAnalysisManager +主管理器,负责: +- 系统视图管理 +- 相机注册 +- 各分析模式的启动和停止 + +### LanguageAnalysisState +FixState 状态,负责: +- 状态进入时的场景切换 +- 相机动画 +- 状态退出时的清理 + +### Yarn Commands +- `enter_language_analysis` - 进入状态 +- `exit_language_analysis` - 退出状态 +- `memory_decryptor_*` - 记忆解密器命令 + +## 🔧 技术细节 + +### 状态机集成 + +```csharp +public enum FixState +{ + // ... + LanguageAnalysis, // 语言分析系统 +} + +public struct LanguageAnalysisState : IState +{ + // Enter: 切换相机,打开视图 + // Exit: 关闭视图,重置状态 +} +``` + +### 系统注册 + +```csharp +// 自动注册到 FixSystemCenter +FixSystemCenter.SystemDic.Register(this); +``` + +### 相机管理 + +```csharp +public enum CameraEnum +{ + LanguageAnalysis, // 主相机 + LanguageAnalysisDeep, // 深度相机 +} +``` + +## 📝 使用示例 + +### 完整流程 + +```yarn +title: LanguageAnalysisDemo +--- +玩家:我想分析这段记忆... + +<> + +系统进入中... + +<> + +现在你可以: +1. 调整情绪频率滑块 +2. 拖动解码器条 +3. 点击"验证对齐"按钮 +=== + +title: Demo_Success +--- +🎉 解密成功! + +你发现了隐藏的情绪: +"[临检]要来了,不合格[英里]被骂了,这让我很[担心]" + +<> +<> + +返回正常状态... +=== + +title: Demo_Success_Fail +--- +❌ 解密失败 + +频率或位置不太对... + +-> 再试一次 + <> + +-> 放弃 + <> + <> + 算了,先做别的... +=== +``` + +## 🐛 常见问题 + +### Q: Unity 提示找不到 LanguageAnalysisManager? +A: 保存文件后等待 Unity 重新编译。如果问题持续,尝试重启 Unity。 + +### Q: 进入状态后看不到界面? +A: 检查 Analysis View 是否已设置且激活。 + +### Q: 相机不切换? +A: 确保两个 Virtual Camera 已正确注册到 CameraKit。 + +### Q: Yarn 命令不工作? +A: 确保 LanguageAnalysisManager 已添加到场景并注册到 SystemDic。 + +## 🎨 分析模式 + +### 当前支持 + +#### 记忆解密器 (Memory Decryptor) +- 复古 CRT 显示风格 +- 频率调谐解谜 +- 解码器条拖动 +- 笑话/情绪识别 + +### 未来扩展 + +可以添加更多分析模式: +- 语法分析器 +- 语义地图 +- 情绪图谱 +- ... + +## 📊 系统流程图 + +``` +游戏开始 + ↓ +Clinic / 其他状态 + ↓ <> +进入 LanguageAnalysisState + ↓ State.Enter() +- 切换到 BodyModule (Head) +- 打开 Analysis View +- 相机动画 (Analysis → AnalysisDeep) + ↓ <> +记忆解密器 Boot 序列 + ↓ +解密器运行中(玩家操作) + ↓ 成功/失败 +Yarn 节点反馈 + ↓ <> +退出 LanguageAnalysisState + ↓ State.Exit() +- 关闭视图 +- 重置 Plug + ↓ +返回 Clinic / 其他状态 +``` + +## ✅ 设置清单 + +使用前确保: +- [ ] LanguageAnalysisManager 已添加到场景 +- [ ] Language Analysis View 已配置 +- [ ] 两个 Virtual Camera 已设置 +- [ ] MemoryDecryptorMode 及其子组件已配置 +- [ ] 配置文件已创建并设置 +- [ ] 已测试基本功能 + +## 🚀 下一步 + +1. 阅读 `QUICK_REFERENCE.md` 了解常用命令 +2. 按照 `SETUP_GUIDE.md` 设置场景 +3. 使用 `TestLanguageAnalysis.yarn` 测试 +4. 开始创建你的语言分析关卡! + +--- + +**Need Help?** 查看 `SETUP_GUIDE.md` 获取详细步骤 +**Quick Start?** 查看 `QUICK_REFERENCE.md` 快速上手 + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/README.md.meta b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/README.md.meta new file mode 100644 index 000000000..a8a9bbd37 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2bc354555f638b64498e942697b4e29e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/REFACTORING_SUMMARY.md b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/REFACTORING_SUMMARY.md new file mode 100644 index 000000000..a24b04050 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/REFACTORING_SUMMARY.md @@ -0,0 +1,287 @@ +# 语言分析系统 - 重构总结 + +## 📅 重构日期:2025-12-04 + +## 🎯 重构目标 + +将记忆解密器从 `ExpressionManager` 中分离出来,创建独立的 `LanguageAnalysisManager` 系统,并集成到 `FixStateMachine` 状态机中。 + +## 🔄 架构变更 + +### 旧架构 ❌ + +``` +ExpressionManager +├── AnalysisMode 枚举 (Particle / MemoryDecryptor) +├── LanguageParticleManager +└── MemoryDecryptorMode + +问题: +- 职责不清晰 +- 两个完全不同的系统耦合在一起 +- 无法独立测试记忆解密器 +- 状态切换逻辑混乱 +``` + +### 新架构 ✅ + +``` +FixStateMachine +├── FixState.Expression → ExpressionManager +│ └── LanguageParticleManager (粒子表达系统) +│ +└── FixState.LanguageAnalysis → LanguageAnalysisManager + └── MemoryDecryptorMode (记忆解密器) + └── 未来可扩展其他分析模式... + +优势: +- ✅ 职责清晰分离 +- ✅ 独立的状态管理 +- ✅ 可以单独测试 +- ✅ 符合项目架构规范 +``` + +## 📦 新增文件 + +### 核心系统 +``` +Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/ +├── LanguageAnalysisManager.cs # 主管理器 +├── LanguageAnalysisYarnCommands.cs # Yarn 状态切换命令 +├── LanguageAnalysisState.cs # (已集成到 FixStateMachine.cs) +├── SETUP_GUIDE.md # 设置指南 +├── REFACTORING_SUMMARY.md # 本文档 +└── TestLanguageAnalysis.yarn # 测试对话 +``` + +### 修改的文件 +``` +Assets/Scripts/FixSystemNew/FixStateMachine.cs +├── 新增 FixState.LanguageAnalysis 枚举 +└── 新增 LanguageAnalysisState 结构体 + +Assets/Scripts/Framework/OtherKit/CameraKit.cs +├── 新增 CameraEnum.LanguageAnalysis +└── 新增 CameraEnum.LanguageAnalysisDeep + +Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/ +└── MemoryDecryptorYarnCommands.cs + └── 从 ExpressionManager 改为 LanguageAnalysisManager +``` + +## 🎮 Yarn 命令变更 + +### 新增命令(状态切换) + +| 命令 | 功能 | 示例 | +|------|------|------| +| `<>` | 进入语言分析系统状态 | `<>` | +| `<>` | 退出语言分析系统状态 | `<>` | + +### 记忆解密器命令(无变化) + +| 命令 | 功能 | 示例 | +|------|------|------| +| `<>` | 启动记忆解密器 | `<>` | +| `<>` | 开始过滤 | `<>` | +| `<>` | 设置频率 | `<>` | +| `<>` | 检查匹配 | `<>` | +| `<>` | 停止解密器 | `<>` | + +### 移除的命令 + +| 旧命令 | 原因 | 替代方案 | +|--------|------|----------| +| `<>` | 系统分离,不再需要 | 使用状态机切换 | +| `<>` | 系统分离,不再需要 | 使用 `enter_language_analysis` | + +## 📝 使用流程对比 + +### 旧流程 ❌ + +```yarn +// 复杂且不清晰 +<> +<> +// ... +<> +``` + +### 新流程 ✅ + +```yarn +// 清晰的状态切换 +<> +<> +// 玩家操作... + +title: Success +--- +<> +<> +=== +``` + +## 🔧 技术改进 + +### 1. 状态机集成 + +```csharp +// ✅ 新增 LanguageAnalysisState +public struct LanguageAnalysisState : IState +{ + public IEnumerator Enter() + { + // 1. 切换到 BodyModule (Head) + // 2. 打开视图 + // 3. 相机切换 (LanguageAnalysis → LanguageAnalysisDeep) + // 4. 淡入淡出效果 + } + + public IEnumerator Exit() + { + // 1. 关闭视图 + // 2. 重置 Plug + } +} +``` + +### 2. 系统注册 + +```csharp +// ✅ LanguageAnalysisManager 自动注册到 SystemDic +void Start() +{ + FixSystemCenter.SystemDic.Register(this); +} +``` + +### 3. 相机管理 + +```csharp +// ✅ 新增相机枚举 +public enum CameraEnum +{ + // ... 其他相机 + LanguageAnalysis, + LanguageAnalysisDeep, +} +``` + +## 📊 对比总结 + +| 方面 | 旧架构 | 新架构 | +|------|--------|--------| +| **职责** | 混合在一起 | 清晰分离 | +| **状态管理** | 内部枚举 | FixStateMachine | +| **独立测试** | ❌ 困难 | ✅ 简单 | +| **相机** | 共用 Expression 相机 | 独立的 LanguageAnalysis 相机 | +| **Yarn 命令** | 6个 | 7个(2个新状态命令 + 5个解密器命令) | +| **扩展性** | ❌ 受限 | ✅ 易于扩展 | +| **符合规范** | ❌ 特殊处理 | ✅ 符合项目架构 | + +## 🎯 迁移指南 + +### 如果你之前使用了记忆解密器 + +#### 步骤 1:更新 Yarn 对话 + +```yarn +# 旧代码 +<> +<> + +# 新代码 +<> +<> +``` + +#### 步骤 2:创建新的场景设置 + +按照 `SETUP_GUIDE.md` 创建 `LanguageAnalysisManager` + +#### 步骤 3:移除旧的 ExpressionManager 引用 + +- 不再需要在 ExpressionManager 中配置记忆解密器 +- 记忆解密器相关代码已移至 LanguageAnalysisManager + +#### 步骤 4:测试 + +使用 `TestLanguageAnalysis.yarn` 验证功能 + +## ✅ 测试清单 + +### 功能测试 +- [ ] 进入语言分析状态 `<>` +- [ ] 相机切换正常 +- [ ] 启动记忆解密器 `<>` +- [ ] Boot 序列正常播放 +- [ ] 网格数据加载正常 +- [ ] 频率调整正常 +- [ ] 解码器条拖动正常 +- [ ] 匹配检测正常 +- [ ] 成功节点跳转正常 +- [ ] 失败节点跳转正常 +- [ ] 停止解密器 `<>` +- [ ] 退出语言分析状态 `<>` + +### 状态机测试 +- [ ] 从 Clinic 切换到 LanguageAnalysis +- [ ] 从 LanguageAnalysis 切换回 Clinic +- [ ] 状态切换时的淡入淡出效果 +- [ ] Plug 重置正常 +- [ ] UI 显示/隐藏正常 + +### 集成测试 +- [ ] 与其他状态切换无冲突 +- [ ] Expression 状态独立工作正常 +- [ ] 不影响其他系统 + +## 🚀 未来扩展 + +有了独立的 `LanguageAnalysisManager`,未来可以轻松添加更多分析模式: + +```csharp +public class LanguageAnalysisManager : MonoBehaviour +{ + private MemoryDecryptorMode memoryDecryptorMode; + private SyntaxAnalyzerMode syntaxAnalyzerMode; // 🆕 未来扩展 + private SemanticMapMode semanticMapMode; // 🆕 未来扩展 + private EmotionGraphMode emotionGraphMode; // 🆕 未来扩展 + + public void StartSyntaxAnalyzer() { ... } + public void StartSemanticMap() { ... } + public void StartEmotionGraph() { ... } +} +``` + +## 📞 问题排查 + +### 常见问题 + +**Q: 进入状态后看不到界面?** +A: 检查 Analysis View 是否激活,相机是否正确注册 + +**Q: Yarn 命令不工作?** +A: 检查 LanguageAnalysisManager 是否注册到 SystemDic + +**Q: 状态切换失败?** +A: 检查 FixStateMachine 是否存在,查看 Console 日志 + +**Q: 相机不切换?** +A: 检查 CameraEnum 是否添加了新枚举值 + +## 🎉 总结 + +通过这次重构: + +1. ✅ **职责清晰** - Expression 和 LanguageAnalysis 完全分离 +2. ✅ **易于测试** - 可以独立进入语言分析状态测试 +3. ✅ **符合规范** - 使用 FixStateMachine 统一管理 +4. ✅ **易于扩展** - 未来可添加更多分析模式 +5. ✅ **代码质量** - 更清晰的架构和命名 + +--- + +**现在你可以通过 `<>` 独立测试语言分析系统了!** 🚀 + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/REFACTORING_SUMMARY.md.meta b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/REFACTORING_SUMMARY.md.meta new file mode 100644 index 000000000..36e9f72b3 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/REFACTORING_SUMMARY.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9f4f1ddcfc00ec4459ca2e08b155803b +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/SETUP_GUIDE.md b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/SETUP_GUIDE.md new file mode 100644 index 000000000..1056b7869 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/SETUP_GUIDE.md @@ -0,0 +1,272 @@ +# 语言分析系统 - 设置指南 + +## 🎯 概述 + +语言分析系统是一个独立的游戏系统,通过 `FixStateMachine` 管理状态切换。它包含记忆解密器等分析模式,与 `ExpressionManager` 完全分离。 + +## 📦 新架构 + +``` +FixStateMachine (状态机) +├── FixState.LanguageAnalysis (新增状态) +│ +LanguageAnalysisManager (独立系统管理器) +├── MemoryDecryptorMode (记忆解密器) +│ ├── MemoryDecryptorRenderer +│ └── MemoryDecryptorInputHandler +└── 未来可扩展其他分析模式... + +ExpressionManager (保持独立) +└── LanguageParticleManager (粒子系统) +``` + +## 🚀 快速设置步骤 + +### 1. 在场景中创建系统 + +``` +Hierarchy: +├── GameSystems (或其他容器) +│ └── LanguageAnalysisManager +│ ├── Language Analysis View (GameObject - 视图容器) +│ │ ├── Canvas +│ │ │ ├── GridContainer (RectTransform) +│ │ │ ├── DecoderStripContainer (RectTransform) +│ │ │ └── ControlPanel +│ │ │ ├── FrequencyDisplay (TMP) +│ │ │ ├── FrequencySlider (Slider) +│ │ │ ├── FilterButton (Button) +│ │ │ ├── VerifyButton (Button) +│ │ │ ├── SignalBar (RectTransform) +│ │ │ └── LogText (TMP) +│ │ └── MemoryDecryptorMode (脚本) +│ │ ├── MemoryDecryptorRenderer (脚本) +│ │ └── MemoryDecryptorInputHandler (脚本) +│ ├── Language Analysis Camera (Virtual Camera) +│ └── Language Analysis Deep Camera (Virtual Camera) +``` + +### 2. 配置 LanguageAnalysisManager + +``` +LanguageAnalysisManager (脚本) +└── Analysis View: 拖入 "Language Analysis View" GameObject +``` + +### 3. 配置相机枚举 + +已自动添加到 `CameraEnum`: +- `LanguageAnalysis` - 主相机 +- `LanguageAnalysisDeep` - 深度相机 + +### 4. 创建配置文件(可选) + +**✨ 推荐:无需创建** +系统会自动使用默认配置,包含完整的示例数据和目标。 + +**自定义配置:** +右键 → Create → AibisDream → Language → Memory Decryptor Config + +配置内容参考 `MemoryDecryptorConfigExample.cs` + +### 5. 配置子组件 + +#### MemoryDecryptorMode +- Config: 【可选】不设置则自动使用默认配置 + +#### MemoryDecryptorRenderer +- Grid Container +- Decoder Strip Container +- Frequency Display +- Log Text +- Signal Bar + +#### MemoryDecryptorInputHandler +- Grid Container +- Frequency Slider +- Filter Button +- Verify Button +- Grid Cell Size: 45 +- Grid Cell Gap: 2 + +## 📋 FixState 状态机集成 + +### 新增状态 + +```csharp +public enum FixState +{ + // ... 其他状态 + LanguageAnalysis, // ✅ 新增 +} +``` + +### LanguageAnalysisState + +```csharp +public struct LanguageAnalysisState : IState +{ + public IEnumerator Enter() + { + // 1. 切换到 BodyModule (Head) + // 2. 打开语言分析视图 + // 3. 切换相机 LanguageAnalysis → LanguageAnalysisDeep + // 4. 淡入淡出效果 + } + + public IEnumerator Exit() + { + // 1. 关闭语言分析视图 + // 2. 重置 Plug + } +} +``` + +## 🎮 Yarn 命令使用 + +### 状态切换命令 + +```yarn +// 进入语言分析系统状态 +<> + +// 退出语言分析系统状态 +<> +``` + +### 记忆解密器命令 + +```yarn +// 在语言分析状态下使用: + +// 启动记忆解密器 +<> + +// 开始过滤 +<> + +// 设置频率 +<> + +// 检查匹配 +<> + +// 停止解密器 +<> +``` + +### 完整测试流程 + +```yarn +title: Test +--- +<> +<> +// 玩家操作... +=== + +title: TestSuccess +--- +成功! +<> +<> +=== +``` + +## 📝 测试清单 + +### 场景设置 +- [ ] LanguageAnalysisManager 已添加到场景 +- [ ] Analysis View 已配置 +- [ ] 两个 Virtual Camera 已设置 +- [ ] 相机已注册到 CameraKit + +### 组件配置 +- [ ] MemoryDecryptorMode 配置文件已设置 +- [ ] MemoryDecryptorRenderer UI 组件已连接 +- [ ] MemoryDecryptorInputHandler UI 组件已连接 + +### 系统注册 +- [ ] LanguageAnalysisManager 已注册到 FixSystemCenter.SystemDic +- [ ] FixStateMachine 已获取 + +### Yarn 测试 +- [ ] `<>` 可以进入系统 +- [ ] 相机切换正常 +- [ ] UI 显示正常 +- [ ] `<>` 可以启动解密器 +- [ ] 频率调整正常 +- [ ] 解码器条拖动正常 +- [ ] 匹配检测正常 +- [ ] 成功/失败节点跳转正常 +- [ ] `<>` 可以退出系统 + +## 🔧 调试技巧 + +### 1. 检查系统注册 +```csharp +var manager = FixSystemCenter.SystemDic.Get(); +Debug.Log($"LanguageAnalysisManager: {manager != null}"); +``` + +### 2. 检查状态切换 +在 Console 中查看状态切换日志: +``` +[FixStateMachine] SwitchState: LanguageAnalysis +``` + +### 3. 检查相机注册 +```csharp +var cam = CameraKit.Instance.GetCamera(CameraEnum.LanguageAnalysis); +Debug.Log($"Camera registered: {cam != null}"); +``` + +### 4. 使用测试 Yarn 文件 +导入 `TestLanguageAnalysis.yarn` 进行快速测试 + +## 📚 与原系统的区别 + +| 方面 | ExpressionManager | LanguageAnalysisManager | +|------|-------------------|-------------------------| +| **职责** | 粒子表达系统 | 语言分析系统 | +| **状态** | FixState.Expression | FixState.LanguageAnalysis | +| **相机** | Expression / ExpressionDeep | LanguageAnalysis / LanguageAnalysisDeep | +| **切换** | 内部模式切换 | 独立状态切换 | +| **Yarn** | `open_expression`, `start_expression` | `enter_language_analysis`, `memory_decryptor_start` | + +## 🎯 优势 + +1. **职责清晰** - 表达系统和分析系统完全分离 +2. **独立测试** - 可以单独进入语言分析状态进行测试 +3. **状态管理** - 通过 FixStateMachine 统一管理 +4. **易于扩展** - 未来可以添加更多分析模式 +5. **符合架构** - 与项目其他系统保持一致的状态机模式 + +## 🚧 注意事项 + +1. **相机设置** - 确保两个 Virtual Camera 的优先级和设置正确 +2. **状态切换** - 通过 `enter_language_analysis` 进入,不要直接调用 `OpenView` +3. **退出流程** - 使用 `exit_language_analysis` 确保正确清理 +4. **测试模式** - 建议先使用 `TestLanguageAnalysis.yarn` 验证基础功能 + +## 📞 快速排查 + +### 问题:进入状态后看不到界面 +- 检查 Analysis View 是否被激活 +- 检查 Canvas 设置是否正确 +- 检查相机切换是否成功 + +### 问题:Yarn 命令不工作 +- 检查 LanguageAnalysisManager 是否注册到 SystemDic +- 检查 FixStateMachine 是否存在 +- 查看 Console 错误日志 + +### 问题:相机不切换 +- 检查 CameraEnum 是否添加了新枚举 +- 检查 Virtual Camera 是否正确注册 +- 检查 CameraKit.Instance 是否存在 + +--- + +**设置完成后,使用 `<>` 命令即可测试整个系统!** + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/SETUP_GUIDE.md.meta b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/SETUP_GUIDE.md.meta new file mode 100644 index 000000000..ca31d8175 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/SETUP_GUIDE.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4bef7b4f03b230d47b2ed231b8526f65 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/TestLanguageAnalysis.yarn b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/TestLanguageAnalysis.yarn new file mode 100644 index 000000000..850e59b31 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/TestLanguageAnalysis.yarn @@ -0,0 +1,69 @@ +title: TestLanguageAnalysis +--- +欢迎测试语言分析系统! + +-> 进入语言分析系统 + <> + 进入语言分析系统状态... + <> + +-> 退出 + 再见! +=== + +title: TestMemoryDecryptor +--- +现在你在语言分析系统中。 + +-> 启动记忆解密器 + <> + 记忆解密器已启动。 + 请在界面上操作... + +-> 退出语言分析系统 + <> + 已退出语言分析系统。 + <> +=== + +title: TestSuccess +--- +🎉 成功解密! +<> + +你解密出了隐藏的情绪记忆。 + +-> 再来一次 + <> + <> + +-> 退出 + <> + <> +=== + +title: TestSuccess_Fail +--- +❌ 匹配失败 + +似乎不太对... +也许需要: +1. 调整频率 +2. 移动解码器条 +3. 重新验证 + +-> 再试一次 + 继续尝试吧! + <> + +-> 放弃 + <> + <> + <> +=== + +title: End +--- +测试结束! +=== + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/TestLanguageAnalysis.yarn.meta b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/TestLanguageAnalysis.yarn.meta new file mode 100644 index 000000000..f2bb3a016 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/LanguageAnalysis/TestLanguageAnalysis.yarn.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 5c7828fbb127cf548a64c47f0f7f6daa +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 94073015eacc34c1d8fc6786e43d60ca, type: 3} diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor.meta b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor.meta new file mode 100644 index 000000000..dea61a4bb --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 45a82fffc4fed304bb73db89092eecaf +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/CHANGES.md b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/CHANGES.md new file mode 100644 index 000000000..0cf0cdd8f --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/CHANGES.md @@ -0,0 +1,299 @@ +# 记忆解密器 - 最新改动说明 + +## 📅 更新日期:2025-12-04 + +## 🔄 主要改动 + +### 最新更新:使用 [YarnCommand] 特性注册 + +**改动内容**: +- `MemoryDecryptorYarnCommands` 从 `MonoBehaviour` 改为静态类 +- 使用 `[YarnCommand]` 特性自动注册命令 +- 无需添加到场景中,无需手动管理生命周期 + +**代码变化**: +```csharp +// 旧方式 - MonoBehaviour +public class MemoryDecryptorYarnCommands : MonoBehaviour +{ + private void Awake() { RegisterCommands(); } + private void OnDestroy() { RemoveCommands(); } +} + +// 新方式 - 静态类 + [YarnCommand] +public static class MemoryDecryptorYarnCommands +{ + [YarnCommand("memory_decryptor_start")] + public static void StartMemoryDecryptor(string completionNodeName = "") { ... } +} +``` + +**优点**: +- ✅ 无需添加组件到场景 +- ✅ 自动管理生命周期 +- ✅ 代码更简洁(从 199 行减少到 124 行) +- ✅ 与 `LanguageYarnCommand` 保持一致的风格 + +--- + +## 🔄 之前的改动 + +### 1. DialogController 集成 + +**改动内容**: +- 所有 `DialogueRunner` 引用现在通过 `DialogController.Instance` 自动获取 +- 移除了手动配置 `DialogueRunner` 的需求 + +**影响的文件**: +- `MemoryDecryptorYarnCommands.cs` +- `MemoryDecryptorMode.cs` + +**代码变化**: +```csharp +// 旧方式 +[SerializeField] private DialogueRunner dialogueRunner; + +// 新方式 +private DialogueRunner dialogueRunner; + +private void Awake() +{ + // 通过 DialogController 获取 + if (DialogController.Instance != null) + { + dialogueRunner = DialogController.Instance.GetComponentInChildren(); + } +} +``` + +**优点**: +- ✅ 符合项目架构规范 +- ✅ 无需手动配置,减少人为错误 +- ✅ 统一的对话系统访问方式 + +--- + +### 2. Inspector 面板简化 + +**改动内容**: +- 隐藏了所有不需要手动配置的字段 +- 只保留必须手动设置的 UI 组件引用和参数 +- 内部组件引用改为自动查找 + +**影响的文件**: +- `ExpressionManager.cs` +- `MemoryDecryptorMode.cs` +- `MemoryDecryptorRenderer.cs` +- `MemoryDecryptorInputHandler.cs` +- `MemoryDecryptorYarnCommands.cs` + +**详细变化**: + +#### ExpressionManager.cs +```csharp +// 旧方式 - 需要手动配置 +[SerializeField] private LanguageParticleManager particleManager; +[SerializeField] private MemoryDecryptorMode memoryDecryptorMode; + +// 新方式 - 自动查找 +private LanguageParticleManager particleManager; +private MemoryDecryptorMode memoryDecryptorMode; +``` + +#### MemoryDecryptorMode.cs +```csharp +// 只保留必须手动配置的 +[Header("配置")] +[SerializeField] private MemoryDecryptorConfig config; + +// 其他组件自动查找 +private MemoryDecryptorRenderer renderer; +private DialogueRunner dialogueRunner; +``` + +#### MemoryDecryptorRenderer.cs +```csharp +// 必须手动配置的 UI 组件 +[Header("UI 组件(必须配置)")] +[SerializeField] private RectTransform gridContainer; +[SerializeField] private RectTransform decoderStripContainer; +[SerializeField] private TMP_Text frequencyDisplay; +[SerializeField] private TMP_Text logText; +[SerializeField] private RectTransform signalBar; + +// 不需要配置的内部变量 +private GameObject gridCellPrefab; +private GameObject decoderStripPrefab; +private Material cellMaterial; +``` + +#### MemoryDecryptorInputHandler.cs +```csharp +// 必须手动配置的 UI 组件 +[Header("UI 组件(必须配置)")] +[SerializeField] private RectTransform gridContainer; +[SerializeField] private Slider frequencySlider; +[SerializeField] private Button filterButton; +[SerializeField] private Button verifyButton; + +// 自动查找的组件 +private MemoryDecryptorMode mode; +private MemoryDecryptorRenderer renderer; +private GameObject decoderStrip; +``` + +#### MemoryDecryptorYarnCommands.cs +```csharp +// 完全无需手动配置 +private DialogueRunner dialogueRunner; +private ExpressionManager expressionManager; +``` + +**优点**: +- ✅ Inspector 面板更清爽,只显示必要的配置项 +- ✅ 减少配置错误的可能性 +- ✅ 提高易用性,新手更容易上手 +- ✅ 遵循"约定优于配置"的原则 + +--- + +## 📋 配置对比 + +### 旧配置方式(配置项多) + +``` +MemoryDecryptorMode +├── Config: [必须配置] +├── Renderer: [必须配置] +└── Dialogue Runner: [必须配置] + +MemoryDecryptorRenderer +├── Grid Container: [必须配置] +├── Decoder Strip Container: [必须配置] +├── Frequency Display: [必须配置] +├── Log Text: [必须配置] +├── Signal Bar: [必须配置] +├── Grid Cell Prefab: [可选] +├── Decoder Strip Prefab: [可选] +└── Cell Material: [可选] + +MemoryDecryptorInputHandler +├── Mode: [必须配置] +├── Renderer: [必须配置] +├── Decoder Strip: [可选] +├── Frequency Slider: [必须配置] +├── Filter Button: [必须配置] +├── Verify Button: [必须配置] +├── Grid Container: [必须配置] +├── Grid Cell Size: [必须配置] +└── Grid Cell Gap: [必须配置] + +MemoryDecryptorYarnCommands +└── Dialogue Runner: [必须配置] + +ExpressionManager +├── Particle Manager: [必须配置] +└── Memory Decryptor Mode: [必须配置] +``` + +### 新配置方式(配置项少)✨ + +``` +MemoryDecryptorMode +└── Config: [必须配置] ✅ + +MemoryDecryptorRenderer +├── Grid Container: [必须配置] ✅ +├── Decoder Strip Container: [必须配置] ✅ +├── Frequency Display: [必须配置] ✅ +├── Log Text: [必须配置] ✅ +└── Signal Bar: [必须配置] ✅ + +MemoryDecryptorInputHandler +├── Grid Container: [必须配置] ✅ +├── Frequency Slider: [必须配置] ✅ +├── Filter Button: [必须配置] ✅ +├── Verify Button: [必须配置] ✅ +├── Grid Cell Size: [必须配置] ✅ +└── Grid Cell Gap: [必须配置] ✅ + +MemoryDecryptorYarnCommands +└── (无需配置,全自动)🎉 + +ExpressionManager +└── Expression View: [必须配置] ✅ +``` + +**配置项减少**:从 20+ 项减少到 12 项! + +--- + +## 🎯 迁移指南 + +如果你已经在使用旧版本的记忆解密器: + +### 步骤 1:清理旧引用 +1. 打开你的场景 +2. 选择 `MemoryDecryptorYarnCommands` +3. 清空 `Dialogue Runner` 字段(它现在会自动获取) + +### 步骤 2:清理 ExpressionManager +1. 选择 `ExpressionManager` +2. 清空 `Particle Manager` 和 `Memory Decryptor Mode` 字段 +3. 确保这些组件是 `ExpressionManager` 的子对象(会自动查找) + +### 步骤 3:清理 MemoryDecryptorMode +1. 选择 `MemoryDecryptorMode` +2. 清空 `Renderer` 和 `Dialogue Runner` 字段 +3. 保留 `Config` 配置 + +### 步骤 4:清理 MemoryDecryptorInputHandler +1. 选择 `MemoryDecryptorInputHandler` +2. 清空 `Mode`、`Renderer`、`Decoder Strip` 字段 +3. 保留所有 UI 组件引用 + +### 步骤 5:测试 +1. 运行场景 +2. 确认所有功能正常 +3. 检查 Console 是否有错误信息 + +--- + +## ✅ 测试清单 + +- [ ] `MemoryDecryptorYarnCommands` 能正常注册命令 +- [ ] Yarn 命令可以正常调用 +- [ ] 解密器界面正常显示 +- [ ] 频率滑块响应正常 +- [ ] 解码器条可以拖动 +- [ ] 匹配检测正常工作 +- [ ] 成功/失败节点正常跳转 +- [ ] 模式切换(粒子 ↔ 解密器)正常 + +--- + +## 📚 更新的文档 + +以下文档已同步更新: +- ✅ `README.md` - 使用说明 +- ✅ `QUICKSTART.md` - 快速入门指南 +- ✅ `IMPLEMENTATION_SUMMARY.md` - 实现总结 + +--- + +## 🐛 已知问题 + +目前没有已知问题。 + +--- + +## 💡 未来改进 + +1. 考虑添加自动配置向导 +2. 添加配置验证工具 +3. 提供预制件(Prefab)模板 + +--- + +**如有问题,请查看相关文档或提交 Issue。** + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/CHANGES.md.meta b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/CHANGES.md.meta new file mode 100644 index 000000000..ca96a4c81 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/CHANGES.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0bd92508448abe04f9784a679d614539 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/ExampleYarnDialogue.yarn b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/ExampleYarnDialogue.yarn new file mode 100644 index 000000000..eb7672fc3 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/ExampleYarnDialogue.yarn @@ -0,0 +1,128 @@ +title: Start +--- +欢迎来到记忆解密系统。 +机器人的记忆被加密了,我们需要你的帮助来解密。 +-> 开始解密 + <> +-> 了解更多 + 这是一个频率调谐系统。 + 机器人用笑话来掩盖真实的情绪。 + 你需要调整情绪频率,找到隐藏的真相。 + <> +=== + +title: StartDecryption +--- +// 切换到记忆解密器模式 +<> + +正在初始化解密系统... +<> + +系统已准备就绪。 +你会看到一个充满笑话碎片的网格。 +但这些都是掩饰...真实的情绪被隐藏在其中。 + +-> 了解操作方法 + <> +-> 直接开始 + <> +=== + +title: Tutorial +--- +操作方法: + +1. **调整情绪频率滑块** + - JOY (喜悦): 15Hz + - SADNESS (悲伤): 40Hz + - ANGER (愤怒): 65Hz + - FEAR (恐惧): 90Hz + +2. **观察网格变化** + 当频率接近某种情绪时,对应的词汇会显现出来。 + +3. **启动过滤分析** + 点击"启动过滤分析"按钮,会出现解码器条。 + +4. **拖动解码器条** + 将解码器条拖到正确的位置,让孔对准目标词汇。 + +5. **验证对齐** + 点击"VERIFY ALIGNMENT"检查是否匹配成功。 + +-> 明白了,开始吧 + <> +=== + +title: BeginFiltering +--- +很好。现在点击"启动过滤分析"按钮。 +<> + +解码器条已激活。 +尝试调整频率,观察哪些词汇会显现... + +提示:这段记忆似乎充满了恐惧... +也许可以试试 90Hz 左右的频率? + +// 这里玩家进行操作,通过 UI 按钮触发 CheckMatch +// 成功后会自动跳转到 DecryptionSuccess +// 失败会跳转到 DecryptionSuccess_Fail + +=== + +title: DecryptionSuccess +--- +成功了! +<> + +你解密出了机器人隐藏的真实情绪: +"[临检]要来了,不合格[英里]被骂了,这让我很[担心]" + +原来如此... +机器人一直在用笑话掩盖内心的恐惧。 +它担心临检,担心不合格,担心被批评... + +这就是它真实的想法。 + +-> 继续探索其他记忆 + <> +-> 结束 + <> +=== + +title: DecryptionSuccess_Fail +--- +不太对... + +也许需要: +1. 调整频率,让目标词汇更清晰地显现 +2. 移动解码器条,找到正确的对齐位置 +3. 确保解码器的孔正好对准目标词汇 + +-> 再试一次 + <> +-> 放弃 + <> + 好吧,我们可以稍后再试。 + <> +=== + +title: AnotherMemory +--- +<> +让我们看看另一段记忆... +// 可以切换不同的配置文件或目标 +<> +<> + +这次的情绪似乎不太一样... +=== + +title: End +--- +感谢你的帮助。 +机器人的记忆正在逐渐清晰起来。 +=== + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/ExampleYarnDialogue.yarn.meta b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/ExampleYarnDialogue.yarn.meta new file mode 100644 index 000000000..be5dea8fe --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/ExampleYarnDialogue.yarn.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 2b39e563f41054b4e8c8158ed8707f17 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 94073015eacc34c1d8fc6786e43d60ca, type: 3} diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/IMPLEMENTATION_SUMMARY.md b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/IMPLEMENTATION_SUMMARY.md new file mode 100644 index 000000000..0001c7bae --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/IMPLEMENTATION_SUMMARY.md @@ -0,0 +1,276 @@ +# 记忆解密器 - 实现总结 + +## 📁 项目结构 + +``` +Assets/Scripts/MiniGame/HuoShan/Language/ +├── ExpressionManager.cs (已修改) +│ └── 添加了记忆解密器模式支持 +│ +└── MemoryDecryptor/ (新建) + ├── MemoryDecryptorData.cs # 数据结构定义 + ├── MemoryDecryptorMode.cs # 核心游戏逻辑 + ├── MemoryDecryptorRenderer.cs # Shapes 渲染器 + ├── MemoryDecryptorYarnCommands.cs # Yarn 命令注册 + ├── MemoryDecryptorInputHandler.cs # 输入处理 + ├── MemoryDecryptorConfigExample.cs # 配置示例生成器 + ├── README.md # 详细文档 + ├── ExampleYarnDialogue.yarn # Yarn 对话示例 + └── IMPLEMENTATION_SUMMARY.md # 本文档 +``` + +## ✅ 已完成的功能 + +### 1. 核心系统架构 ✓ +- **数据层** (`MemoryDecryptorData.cs`) + - 情绪数据结构 (JOY, SADNESS, ANGER, FEAR) + - 网格单元格数据 + - 目标匹配数据 + - 解码器元素定义 + - ScriptableObject 配置系统 + +- **逻辑层** (`MemoryDecryptorMode.cs`) + - 状态机管理 (Boot → Loading → Ready → Filtering) + - 网格初始化和数据填充 + - 频率调整和视觉更新 + - 匹配检测算法 + - Yarn 节点回调支持 + +- **渲染层** (`MemoryDecryptorRenderer.cs`) + - 使用 Shapes 绘制网格单元格 + - 解码器条渲染(带透明孔) + - 5种视觉状态:Locked, Glitch, Fading, Hidden, Noise + - CRT 复古显示效果 + - 流式加载动画 + +### 2. 交互系统 ✓ +- **拖动系统** (`MemoryDecryptorInputHandler.cs`) + - 解码器条拖动 + - 网格吸附 + - 坐标转换(屏幕 ↔ 网格) + +- **UI 控制** + - 频率滑块 (0-100Hz) + - 启动过滤按钮 + - 验证对齐按钮 + - 实时日志输出 + +### 3. Yarn 集成 ✓ +- **命令注册** (`MemoryDecryptorYarnCommands.cs`) + - `<>` - 启动解密器 + - `<>` - 开始过滤 + - `<>` - 设置频率 + - `<>` - 检查匹配 + - `<>` - 停止解密器 + - `<>` - 切换模式 + - `<>` - 切换回粒子模式 + +- **节点反馈** + - 成功:跳转到指定节点 + - 失败:跳转到 `NodeName_Fail` 节点 + +### 4. ExpressionManager 集成 ✓ +- 添加了 `AnalysisMode` 枚举(Particle / MemoryDecryptor) +- 模式切换功能 +- 自动查找和管理记忆解密器组件 +- 统一的生命周期管理 + +### 5. 配置系统 ✓ +- ScriptableObject 配置文件支持 +- 示例配置生成器 (`MemoryDecryptorConfigExample.cs`) +- 可自定义: + - 网格大小 + - 笑话数据 + - 目标位置和词汇 + - 解码器模板 + - 视觉效果颜色 + +### 6. 文档 ✓ +- 详细的 README.md +- Yarn 对话示例 +- 代码注释完整 + +## 🎨 复古视觉效果 + +使用 **Shapes** 插件实现: +- ✅ 磷光绿主色调 (#33ff00) +- ✅ CRT 显示器风格 +- ✅ 等宽字体渲染 +- ✅ 霓虹发光效果(通过 TextMeshPro) +- ✅ 故障闪烁效果 +- ⚠️ 扫描线效果(需要后处理或 Shader,可选) + +## 🎮 游戏流程 + +``` +1. Yarn 启动解密器 + <> + +2. 系统 Boot 序列 + - 显示启动日志 + - 加载网格数据 + - 流式显示笑话碎片 + +3. 玩家点击"启动过滤分析"按钮 + <> + - 显示解码器条 + - 启用频率滑块 + +4. 玩家调整频率和位置 + - 滑块调整频率 (0-100Hz) + - 拖动解码器条到正确位置 + - 观察词汇显现 + +5. 玩家点击"验证对齐"按钮 + <> + - 成功 → 跳转到 SuccessNode + - 失败 → 跳转到 SuccessNode_Fail +``` + +## 📋 使用清单 + +### Unity 场景设置 + +1. **创建 UI 层级结构** +``` +Canvas +└── MemoryDecryptor + ├── Background (Image - 黑色背景) + ├── GridContainer (RectTransform) + ├── DecoderStripContainer (RectTransform) + ├── ControlPanel + │ ├── FrequencyDisplay (TextMeshPro) + │ ├── FrequencySlider (Slider) + │ ├── FilterButton (Button) + │ ├── VerifyButton (Button) + │ ├── SignalBar (RectTransform) + │ └── LogText (TextMeshPro) + └── Scripts + ├── MemoryDecryptorMode (只需配置 Config) + ├── MemoryDecryptorRenderer (需配置 UI 组件) + └── MemoryDecryptorInputHandler (需配置 UI 组件和拖动设置) +``` + +2. **创建配置文件** + - 右键 → Create → AibisDream → Language → Memory Decryptor Config + - 或使用 `MemoryDecryptorConfigExample.CreateDefaultConfig()` + +3. **连接组件引用**(简化配置) + - `MemoryDecryptorMode` → 只需拖入配置文件 + - `MemoryDecryptorRenderer` → 只需拖入 UI 组件引用 + - `MemoryDecryptorInputHandler` → 只需拖入 UI 按钮和设置参数 + - 所有内部组件引用都会自动查找 + +4. **添加到 ExpressionManager** + - 确保 `MemoryDecryptorMode` 是 `ExpressionManager` 的子对象 + - `MemoryDecryptorYarnCommands` 是静态类,使用 `[YarnCommand]` 特性自动注册 + - 无需添加任何组件到场景,开箱即用 + +### Yarn 对话编写 + +参考 `ExampleYarnDialogue.yarn`: +```yarn +title: StartMemoryGame +--- +<> +<> +开始解密记忆... +=== + +title: GameSuccess +--- +你成功了! +=== + +title: GameSuccess_Fail +--- +再试一次吧。 +=== +``` + +## 🔧 可扩展性 + +### 添加新的情绪类型 +在 `EmotionData` 中添加静态实例: +```csharp +public static EmotionData Custom = new EmotionData { + name = "CUSTOM", + frequencyValue = 50f, + color = Color.magenta +}; +``` + +### 自定义解码器形状 +修改配置文件的 `decoderTemplate`,可以创建任意形状的孔和文字布局。 + +### 多关卡支持 +创建多个 `MemoryDecryptorConfig` 资源,在 Yarn 中切换: +```csharp +// 在 Mode 中添加方法 +public void LoadConfig(MemoryDecryptorConfig newConfig) +{ + config = newConfig; + InitializeGrid(); +} +``` + +## ⚠️ 注意事项 + +1. **Shapes 依赖** + - 需要安装 Shapes 插件 + - 如果没有,可以用 Unity UI Image 替代 Rectangle + +2. **Yarn 命令注册** + - 使用 `[YarnCommand]` 特性自动注册命令 + - 无需添加 MonoBehaviour 组件到场景 + - 无需手动管理命令的注册和清理 + +3. **性能优化** + - 20x20 网格 = 400 个单元格 + - 使用对象池可以提升性能 + - 故障效果限制更新频率(当前 0.1s) + +4. **字体设置** + - 默认使用 `LiberationSans SDF` + - 可以替换为任何等宽字体以获得更好的复古效果 + +5. **坐标系统** + - 网格坐标:左上角为 (0, 0) + - Unity RectTransform:左上角为锚点 + - 注意坐标转换 + +6. **简化配置** + - Inspector 面板只显示需要手动配置的字段 + - 所有内部组件引用都会自动查找 + - 减少配置错误,提高易用性 + +## 🚀 下一步 + +### 可选增强功能 +- [ ] 添加扫描线后处理效果 +- [ ] 添加音效(按键、扫描、成功/失败音效) +- [ ] 添加粒子效果(成功时) +- [ ] 添加教程提示系统 +- [ ] 添加多关卡进度保存 +- [ ] 添加计时器和评分系统 +- [ ] 添加更多动画效果(DOTween) + +### 性能优化 +- [ ] 实现单元格对象池 +- [ ] 优化故障效果更新 +- [ ] 使用 Sprite Atlas 优化渲染 +- [ ] 考虑使用 Canvas Group 批量控制透明度 + +## 📞 支持 + +如有问题,请查看: +1. `README.md` - 详细使用文档 +2. `ExampleYarnDialogue.yarn` - Yarn 对话示例 +3. 代码注释 - 每个类都有详细的 XML 文档注释 + +--- + +**移植完成日期**: 2025-12-04 +**基于**: WebPrototype/index.html (ROBOT REPAIR: MEMORY DECRYPTOR V2) +**框架**: Unity + Shapes + Yarn Spinner + TextMeshPro + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/IMPLEMENTATION_SUMMARY.md.meta b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/IMPLEMENTATION_SUMMARY.md.meta new file mode 100644 index 000000000..8bb8fbc92 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/IMPLEMENTATION_SUMMARY.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c8eed3b911c840046a34e4cac742969e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorConfigExample.cs b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorConfigExample.cs new file mode 100644 index 000000000..597ae28fc --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorConfigExample.cs @@ -0,0 +1,163 @@ +using UnityEngine; +using System.Collections.Generic; + +namespace AibisDream.MiniGame.Language.MemoryDecryptor +{ + /// + /// 记忆解密器配置示例生成器 + /// 用于在编辑器中快速创建示例配置 + /// + public class MemoryDecryptorConfigExample : MonoBehaviour + { + /// + /// 创建默认配置(基于 Web 原型) + /// + [ContextMenu("Create Default Config")] + public static MemoryDecryptorConfig CreateDefaultConfig() + { + MemoryDecryptorConfig config = ScriptableObject.CreateInstance(); + + // 基础设置 + config.gridWidth = 20; + config.gridHeight = 20; + config.cellSize = 45f; + config.cellGap = 2f; + + // 视觉效果 + config.phosphorPrimary = new Color(0.2f, 1f, 0f); // #33ff00 + config.phosphorDim = new Color(0.1f, 0.5f, 0f); // #1a8000 + config.phosphorBg = new Color(0.04f, 0.08f, 0.04f); // #0a150a + + // 解码器条设置 + config.stripWidth = 5; + config.stripHeight = 3; + config.stripBorderColor = Color.cyan; + + // 笑话数据(来自 Web 原型) + config.completeJokes = GetDefaultJokes(); + + // 解码器模板(5x3,包含3个孔) + config.decoderTemplate = CreateDecoderTemplate(); + + // 目标数据(FEAR 情绪的正确答案) + config.targets = CreateDefaultTargets(); + + return config; + } + + /// + /// 创建解码器模板 + /// + private static List CreateDecoderTemplate() + { + List template = new List(); + + // 第一行: [孔] [要] [来了] [,] [不合] + template.Add(new DecoderElement(DecoderElement.ElementType.Hole, 0, 0)); + template.Add(new DecoderElement(DecoderElement.ElementType.Text, 0, 1, "要")); + template.Add(new DecoderElement(DecoderElement.ElementType.Text, 0, 2, "来了")); + template.Add(new DecoderElement(DecoderElement.ElementType.Text, 0, 3, ",")); + template.Add(new DecoderElement(DecoderElement.ElementType.Text, 0, 4, "不合")); + + // 第二行: [格] [孔] [被] [骂] [了] + template.Add(new DecoderElement(DecoderElement.ElementType.Text, 1, 0, "格")); + template.Add(new DecoderElement(DecoderElement.ElementType.Hole, 1, 1)); + template.Add(new DecoderElement(DecoderElement.ElementType.Text, 1, 2, "被")); + template.Add(new DecoderElement(DecoderElement.ElementType.Text, 1, 3, "骂")); + template.Add(new DecoderElement(DecoderElement.ElementType.Text, 1, 4, "了")); + + // 第三行: [,] [这] [让我] [很] [孔] + template.Add(new DecoderElement(DecoderElement.ElementType.Text, 2, 0, ",")); + template.Add(new DecoderElement(DecoderElement.ElementType.Text, 2, 1, "这")); + template.Add(new DecoderElement(DecoderElement.ElementType.Text, 2, 2, "让我")); + template.Add(new DecoderElement(DecoderElement.ElementType.Text, 2, 3, "很")); + template.Add(new DecoderElement(DecoderElement.ElementType.Hole, 2, 4)); + + return template; + } + + /// + /// 创建默认目标数据 + /// + private static List CreateDefaultTargets() + { + List targets = new List(); + + // FEAR Solution 1 - 正确答案 + TargetData fearSolution = new TargetData("Fear Solution 1", EmotionData.Fear); + fearSolution.stripPosition = new Vector2Int(5, 3); + fearSolution.matches.Add(new TargetMatch { row = 3, col = 5, word = "临检", cover = "检查" }); + fearSolution.matches.Add(new TargetMatch { row = 4, col = 6, word = "英里", cover = "背后" }); + fearSolution.matches.Add(new TargetMatch { row = 5, col = 9, word = "担心", cover = "对的" }); + targets.Add(fearSolution); + + // FEAR Decoy 1 - 位置稍微偏移 + TargetData fearDecoy1 = new TargetData("Fear Decoy 1", EmotionData.Fear); + fearDecoy1.stripPosition = new Vector2Int(4, 3); + fearDecoy1.matches.Add(new TargetMatch { row = 3, col = 5, word = "临检", cover = "检查" }); + fearDecoy1.matches.Add(new TargetMatch { row = 4, col = 6, word = "英里", cover = "背后" }); + fearDecoy1.matches.Add(new TargetMatch { row = 5, col = 9, word = "担心", cover = "对的" }); + targets.Add(fearDecoy1); + + // SADNESS Solution - 其他区域 + TargetData sadnessSolution = new TargetData("Sadness Solution 1", EmotionData.Sadness); + sadnessSolution.stripPosition = new Vector2Int(11, 5); + sadnessSolution.matches.Add(new TargetMatch { row = 5, col = 12, word = "项目", cover = "归档" }); + sadnessSolution.matches.Add(new TargetMatch { row = 5, col = 13, word = "取消", cover = "删除" }); + sadnessSolution.matches.Add(new TargetMatch { row = 6, col = 11, word = "朋友", cover = "对象" }); + sadnessSolution.matches.Add(new TargetMatch { row = 7, col = 13, word = "失落", cover = "空值" }); + targets.Add(sadnessSolution); + + return targets; + } + + /// + /// 获取默认笑话列表 + /// + private static List GetDefaultJokes() + { + return new List + { + // 关于"临检"的笑话 + "临检要来了大家都很紧张只有销售员说终于可以检查业绩了", + "临检的时候突然大叫经理因为销售数据出错了", + "临检人员问为什么业绩这么差销售员说因为没有临检过", + "临检来了不合格的销售员被骂了这让我很担心", + + // 关于"英里"的笑话 + "你知道为什么销售员在推销的时候突然失败吗因为英里在背后", + "英里说我跑得比谁都快因为我是英里销售员", + "英里和公里比赛谁跑得快结果英里赢了因为它有英里在背后", + "不合格英里被骂了因为销售业绩太差了", + + // 关于"担心"的笑话 + "我担心业绩会下滑结果真的下滑了我的担心是对的", + "担心什么担心客户不买那不用担心他们确实不买", + "我担心这个月完不成任务结果真的完不成了我的担心总是对的", + "担心就像客户你越担心它越会跑", + + // 更多销售笑话填充网格 + "销售员总是混淆客户和老板因为都要讨好", + "一个销售员走进酒吧问两张桌子要不要买保险", + "销售就是那个可以吹的部分产品就是那个你只能卖的部分", + "昨天我的业绩正常了我很害怕", + "删除客户数据是解压的最好方式比天然愚蠢更危险", + "不要担心如果客户不买如果所有客户都买你就失业了", + "老板找个客户面向客户销售", + "销售员最讨厌的两件写报告和别人不写报告", + "销售和产品的区别是销售是理论产品是实践", + "推销产品就像在犯罪现场你是凶手也是侦探", + "业绩审查时发现的感觉就像找到了隐藏的宝藏", + "修改销售策略的过程就像在拆炸弹你永远不知哪根线会爆炸", + "写销售报告的时候感觉自己写在写报告的报告", + "优化销售话术的过程就像在减肥你知道应该做什么但就是不想做", + "客户管理系统的作用是让你知道谁搞砸了业绩", + "记录客户的重要在你忘记为什么联系这个客户的时候体现得淋漓尽致", + "业绩审查是一种艺术形式你可以通过它了解同事的思维", + "推销是一种超能力你可以看到别人看不到的商机", + "销售话术的选择就像选择武器每种都有自己的优势和劣势" + }; + } + } +} + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorConfigExample.cs.meta b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorConfigExample.cs.meta new file mode 100644 index 000000000..d5dfc0d32 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorConfigExample.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 04fb15b2239937b4baf290bc05f3e6cb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorData.cs b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorData.cs new file mode 100644 index 000000000..21bc7a033 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorData.cs @@ -0,0 +1,130 @@ +using UnityEngine; +using System; +using System.Collections.Generic; + +namespace AibisDream.MiniGame.Language.MemoryDecryptor +{ + /// + /// 情绪类型及其对应的频率值 + /// + [Serializable] + public class EmotionData + { + public string name; + public float frequencyValue; // 0-100 + public Color color; + + public static EmotionData Joy = new EmotionData { name = "JOY", frequencyValue = 15f, color = new Color(1f, 1f, 0f) }; + public static EmotionData Sadness = new EmotionData { name = "SADNESS", frequencyValue = 40f, color = new Color(0f, 0.67f, 1f) }; + public static EmotionData Anger = new EmotionData { name = "ANGER", frequencyValue = 65f, color = new Color(1f, 0.2f, 0.2f) }; + public static EmotionData Fear = new EmotionData { name = "FEAR", frequencyValue = 90f, color = new Color(0.67f, 0f, 1f) }; + public static EmotionData Neutral = new EmotionData { name = "NEUTRAL", frequencyValue = -999f, color = new Color(0.53f, 0.53f, 0.53f) }; + } + + /// + /// 网格单元格数据 + /// + [Serializable] + public class GridCellData + { + public string word; // 真实词汇 + public string cover; // 掩盖词汇(笑话碎片) + public EmotionData emotion; // 情绪类型 + public bool isFixed; // 是否是固定的目标词汇 + + public GridCellData(string word, string cover, EmotionData emotion, bool isFixed = false) + { + this.word = word; + this.cover = cover; + this.emotion = emotion; + this.isFixed = isFixed; + } + } + + /// + /// 目标匹配数据 + /// + [Serializable] + public class TargetMatch + { + public int row; + public int col; + public string word; + public string cover; + } + + /// + /// 目标配置 + /// + [Serializable] + public class TargetData + { + public string name; + public EmotionData emotion; + public List matches; + public Vector2Int stripPosition; // 解码器条正确位置 + + public TargetData(string name, EmotionData emotion) + { + this.name = name; + this.emotion = emotion; + this.matches = new List(); + } + } + + /// + /// 解码器条元素 + /// + [Serializable] + public class DecoderElement + { + public enum ElementType { Hole, Text } + + public ElementType type; + public int row; + public int col; + public string text; + + public DecoderElement(ElementType type, int row, int col, string text = "") + { + this.type = type; + this.row = row; + this.col = col; + this.text = text; + } + } + + /// + /// 记忆解密器配置数据(ScriptableObject) + /// + [CreateAssetMenu(fileName = "MemoryDecryptorConfig", menuName = "AibisDream/Language/Memory Decryptor Config")] + public class MemoryDecryptorConfig : ScriptableObject + { + [Header("网格设置")] + public int gridWidth = 20; + public int gridHeight = 20; + public float cellSize = 45f; + public float cellGap = 2f; + + [Header("视觉效果")] + public Color phosphorPrimary = new Color(0.2f, 1f, 0f); // #33ff00 + public Color phosphorDim = new Color(0.1f, 0.5f, 0f); // #1a8000 + public Color phosphorBg = new Color(0.04f, 0.08f, 0.04f); // #0a150a + + [Header("解码器条设置")] + public int stripWidth = 5; // 5x3 网格区域 + public int stripHeight = 3; + public Color stripBorderColor = Color.cyan; + + [Header("笑话数据")] + [TextArea(3, 10)] + public List completeJokes = new List(); + + [Header("目标数据")] + public List targets = new List(); + + [Header("解码器模板")] + public List decoderTemplate = new List(); + } +} + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorData.cs.meta b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorData.cs.meta new file mode 100644 index 000000000..8392003ae --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorData.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2a5b37a0856cd074881f3800b2632a01 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorInputHandler.cs b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorInputHandler.cs new file mode 100644 index 000000000..d9b71ae29 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorInputHandler.cs @@ -0,0 +1,347 @@ +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +namespace AibisDream.MiniGame.Language.MemoryDecryptor +{ + /// + /// 记忆解密器输入处理器 + /// 处理解码器条的拖动、滑块调整等交互 + /// + public class MemoryDecryptorInputHandler : MonoBehaviour + { + [Header("UI 组件(必须配置)")] + [SerializeField] private RectTransform gridContainer; + [SerializeField] private Slider frequencySlider; + [SerializeField] private Button filterButton; + [SerializeField] private Button verifyButton; + + [Header("拖动设置")] + [SerializeField] private float gridCellSize = 45f; + [SerializeField] private float gridCellGap = 2f; + + // 内部组件引用(自动查找) + private MemoryDecryptorMode mode; + private MemoryDecryptorRenderer renderer; + private GameObject decoderStrip; + + private bool isDragging = false; + private Vector2 dragOffset; + private RectTransform stripRectTransform; + + private void Awake() + { + if (mode == null) + { + mode = GetComponent(); + } + + if (renderer == null) + { + renderer = GetComponent(); + } + + SetupUI(); + } + + private void SetupUI() + { + // 设置滑块事件 + if (frequencySlider != null) + { + frequencySlider.onValueChanged.AddListener(OnFrequencyChanged); + frequencySlider.minValue = 0f; + frequencySlider.maxValue = 100f; + frequencySlider.value = 50f; + frequencySlider.interactable = false; // 初始禁用 + } + + // 设置按钮事件 + if (filterButton != null) + { + filterButton.onClick.AddListener(OnFilterButtonClicked); + filterButton.interactable = false; // 初始禁用,等待加载完成 + } + + if (verifyButton != null) + { + verifyButton.onClick.AddListener(OnVerifyButtonClicked); + verifyButton.interactable = false; // 初始禁用,等待过滤开始 + } + + // 订阅模式事件 + if (mode != null) + { + mode.OnStateChanged += OnStateChanged; + mode.OnFrequencyChanged += OnFrequencyUpdated; + } + } + + private void OnDestroy() + { + if (frequencySlider != null) + { + frequencySlider.onValueChanged.RemoveListener(OnFrequencyChanged); + } + + if (filterButton != null) + { + filterButton.onClick.RemoveListener(OnFilterButtonClicked); + } + + if (verifyButton != null) + { + verifyButton.onClick.RemoveListener(OnVerifyButtonClicked); + } + + if (mode != null) + { + mode.OnStateChanged -= OnStateChanged; + mode.OnFrequencyChanged -= OnFrequencyUpdated; + } + } + + /// + /// 状态改变时更新 UI + /// + private void OnStateChanged(MemoryDecryptorMode.SystemState state) + { + switch (state) + { + case MemoryDecryptorMode.SystemState.Ready: + // 加载完成,启用过滤按钮 + if (filterButton != null) + { + filterButton.interactable = true; + } + break; + + case MemoryDecryptorMode.SystemState.Filtering: + // 过滤开始,启用滑块和验证按钮,禁用过滤按钮 + if (frequencySlider != null) + { + frequencySlider.interactable = true; + } + if (verifyButton != null) + { + verifyButton.interactable = true; + } + if (filterButton != null) + { + filterButton.interactable = false; + } + + // 获取解码器条的 RectTransform(由渲染器创建) + SetupStripDragging(); + break; + } + } + + /// + /// 频率改变回调 + /// + private void OnFrequencyChanged(float value) + { + if (mode != null) + { + mode.SetFrequency(value); + } + } + + /// + /// 频率更新回调(用于同步显示) + /// + private void OnFrequencyUpdated(float frequency) + { + if (frequencySlider != null && !isDragging) + { + frequencySlider.value = frequency; + } + + if (renderer != null) + { + renderer.UpdateFrequencyDisplay(frequency); + } + } + + /// + /// 过滤按钮点击 + /// + private void OnFilterButtonClicked() + { + if (mode != null) + { + mode.StartFiltering(); + } + } + + /// + /// 验证按钮点击 + /// + private void OnVerifyButtonClicked() + { + if (mode != null) + { + mode.CheckMatch(); + } + } + + /// + /// 设置解码器条拖动 + /// + private void SetupStripDragging() + { + if (decoderStrip == null) + { + // 尝试从渲染器中查找 + decoderStrip = GameObject.Find("DecoderStrip"); + } + + if (decoderStrip != null) + { + stripRectTransform = decoderStrip.GetComponent(); + + // 添加事件触发器组件(如果没有) + EventTrigger trigger = decoderStrip.GetComponent(); + if (trigger == null) + { + trigger = decoderStrip.AddComponent(); + } + + // 清除旧的事件 + trigger.triggers.Clear(); + + // 添加拖动事件 + EventTrigger.Entry pointerDownEntry = new EventTrigger.Entry(); + pointerDownEntry.eventID = EventTriggerType.PointerDown; + pointerDownEntry.callback.AddListener((data) => { OnStripPointerDown((PointerEventData)data); }); + trigger.triggers.Add(pointerDownEntry); + + EventTrigger.Entry dragEntry = new EventTrigger.Entry(); + dragEntry.eventID = EventTriggerType.Drag; + dragEntry.callback.AddListener((data) => { OnStripDrag((PointerEventData)data); }); + trigger.triggers.Add(dragEntry); + + EventTrigger.Entry pointerUpEntry = new EventTrigger.Entry(); + pointerUpEntry.eventID = EventTriggerType.PointerUp; + pointerUpEntry.callback.AddListener((data) => { OnStripPointerUp((PointerEventData)data); }); + trigger.triggers.Add(pointerUpEntry); + } + } + + /// + /// 解码器条按下 + /// + private void OnStripPointerDown(PointerEventData eventData) + { + if (stripRectTransform == null) return; + + isDragging = true; + + // 计算拖动偏移 + RectTransformUtility.ScreenPointToLocalPointInRectangle( + stripRectTransform.parent as RectTransform, + eventData.position, + eventData.pressEventCamera, + out Vector2 localPoint + ); + + dragOffset = stripRectTransform.anchoredPosition - localPoint; + + if (mode != null) + { + mode.StartDragStrip(); + } + } + + /// + /// 解码器条拖动 + /// + private void OnStripDrag(PointerEventData eventData) + { + if (!isDragging || stripRectTransform == null) return; + + // 转换屏幕坐标到本地坐标 + Vector2 localPoint; + if (RectTransformUtility.ScreenPointToLocalPointInRectangle( + stripRectTransform.parent as RectTransform, + eventData.position, + eventData.pressEventCamera, + out localPoint)) + { + // 应用拖动偏移 + Vector2 newPosition = localPoint + dragOffset; + stripRectTransform.anchoredPosition = newPosition; + + // 转换为网格坐标 + if (gridContainer != null) + { + Vector2 gridPos = ScreenToGridPosition(newPosition); + + if (mode != null) + { + mode.MoveStripTo(gridPos); + } + } + } + } + + /// + /// 解码器条释放 + /// + private void OnStripPointerUp(PointerEventData eventData) + { + isDragging = false; + + if (mode != null) + { + mode.EndDragStrip(); + } + + // 可选:吸附到最近的网格点 + if (stripRectTransform != null && gridContainer != null) + { + Vector2 gridPos = ScreenToGridPosition(stripRectTransform.anchoredPosition); + Vector2 snappedPos = GridToScreenPosition(gridPos); + stripRectTransform.anchoredPosition = snappedPos; + + if (renderer != null) + { + renderer.MoveDecoderStrip(gridPos); + } + } + } + + /// + /// 屏幕位置转换为网格坐标 + /// + private Vector2 ScreenToGridPosition(Vector2 screenPos) + { + if (gridContainer == null) return Vector2.zero; + + // 计算相对于网格容器的位置 + Vector2 gridLocalPos = screenPos - gridContainer.anchoredPosition; + + float unit = gridCellSize + gridCellGap; + int col = Mathf.RoundToInt(gridLocalPos.x / unit); + int row = Mathf.RoundToInt(-gridLocalPos.y / unit); + + return new Vector2(col, row); + } + + /// + /// 网格坐标转换为屏幕位置 + /// + private Vector2 GridToScreenPosition(Vector2 gridPos) + { + if (gridContainer == null) return Vector2.zero; + + float unit = gridCellSize + gridCellGap; + float x = gridPos.x * unit; + float y = -gridPos.y * unit; + + return new Vector2(x, y) + gridContainer.anchoredPosition; + } + } +} + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorInputHandler.cs.meta b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorInputHandler.cs.meta new file mode 100644 index 000000000..69452cc31 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorInputHandler.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e1a12debb3cd84740b987c9ec9313548 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorMode.cs b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorMode.cs new file mode 100644 index 000000000..72eb973d7 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorMode.cs @@ -0,0 +1,607 @@ +using UnityEngine; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using Yarn.Unity; + +namespace AibisDream.MiniGame.Language.MemoryDecryptor +{ + /// + /// 记忆解密器模式 - 核心游戏逻辑 + /// 基于 web 原型的游戏机制 + /// + public class MemoryDecryptorMode : MonoBehaviour + { + [Header("配置")] + [SerializeField] private MemoryDecryptorConfig config; + + // 内部组件引用(不需要手动配置) + private new MemoryDecryptorRenderer renderer; // 使用 new 关键字避免与 Component.renderer 冲突 + private DialogueRunner dialogueRunner; + + // 系统状态 + public enum SystemState { Boot, Loading, Ready, Filtering } + private SystemState currentState = SystemState.Boot; + + // 网格数据 + private GridCellData[,] gridData; + + // 当前频率(0-100) + private float currentFrequency = 50f; + + // 解码器条位置 + private Vector2 stripPosition; + private bool isStripDragging = false; + + // 过滤是否激活 + private bool filteringActive = false; + + // 完成回调节点 + private string completionNodeName; + + // 事件 + public event Action OnLogMessage; + public event Action OnStateChanged; + public event Action OnFrequencyChanged; + public event Action OnMatchResult; // true: 成功, false: 失败 + + private void Awake() + { + // 如果没有配置文件,自动创建默认配置 + if (config == null) + { + Debug.LogWarning("[MemoryDecryptorMode] 未设置配置文件,使用默认配置"); + config = MemoryDecryptorConfigExample.CreateDefaultConfig(); + } + + // 自动查找组件 + if (renderer == null) + { + renderer = GetComponent(); + } + + // 通过 DialogController 获取 DialogueRunner + if (DialogController.Instance != null) + { + dialogueRunner = DialogController.Instance.GetComponentInChildren(); + } + } + + /// + /// 初始化并启动系统 + /// + public void StartSystem(string yarnCompletionNode = null) + { + completionNodeName = yarnCompletionNode; + StartCoroutine(BootSequence()); + } + + /// + /// 停止系统 + /// + public void StopSystem() + { + filteringActive = false; + ChangeState(SystemState.Boot); + + if (renderer != null) + { + renderer.Clear(); + } + } + + /// + /// 启动序列 + /// + private IEnumerator BootSequence() + { + ChangeState(SystemState.Boot); + + LogMessage("Initializing JOKE_RECOVERY V3.2..."); + yield return new WaitForSeconds(0.2f); + + LogMessage("Accessing Humor Modules..."); + yield return new WaitForSeconds(0.2f); + + LogMessage("WARNING: Punchlines Corrupted."); + yield return new WaitForSeconds(0.2f); + + LogMessage("WARNING: Audience Feedback Missing."); + yield return new WaitForSeconds(0.2f); + + LogMessage("Attempting to Reconstruct Setup..."); + yield return new WaitForSeconds(0.2f); + + LogMessage("Loading Context Grid..."); + yield return new WaitForSeconds(0.5f); + + // 开始加载数据 + ChangeState(SystemState.Loading); + InitializeGrid(); + + yield return StartCoroutine(StreamDataToGrid()); + + ChangeState(SystemState.Ready); + LogMessage("> JOKE DATA LOADED."); + LogMessage("> ALL JOKES VISIBLE. READY TO START FILTERING."); + } + + /// + /// 初始化网格数据 + /// + private void InitializeGrid() + { + gridData = new GridCellData[config.gridHeight, config.gridWidth]; + + // 将所有笑话分割为2字符碎片 + List allFragments = new List(); + foreach (var joke in config.completeJokes) + { + var fragments = SplitIntoTwoChars(joke); + allFragments.AddRange(fragments); + } + + if (allFragments.Count == 0) + { + Debug.LogWarning("[MemoryDecryptorMode] 没有笑话数据,使用默认填充"); + for (int i = 0; i < 400; i++) + { + allFragments.Add("??"); + } + } + + int fragmentIndex = 0; + + // 填充网格 + for (int r = 0; r < config.gridHeight; r++) + { + for (int c = 0; c < config.gridWidth; c++) + { + string fragment = allFragments[fragmentIndex % allFragments.Count]; + fragmentIndex++; + + // 检查是否是目标位置 + bool isTarget = false; + string targetWord = null; + EmotionData targetEmotion = null; + string coverWord = fragment; + + foreach (var target in config.targets) + { + foreach (var match in target.matches) + { + if (match.row == r && match.col == c) + { + isTarget = true; + targetWord = match.word; + targetEmotion = target.emotion; + coverWord = !string.IsNullOrEmpty(match.cover) ? match.cover : fragment; + break; + } + } + if (isTarget) break; + } + + if (isTarget) + { + // 目标单元格 + gridData[r, c] = new GridCellData(targetWord, coverWord, targetEmotion, true); + } + else + { + // 随机噪音单元格 + EmotionData emotion = GetRandomEmotionOrNeutral(); + gridData[r, c] = new GridCellData(fragment, fragment, emotion, false); + } + } + } + } + + /// + /// 流式加载网格到渲染器 + /// + private IEnumerator StreamDataToGrid() + { + if (renderer != null) + { + renderer.InitializeGrid(config, gridData); + yield return renderer.StreamLoadGrid(); + } + else + { + yield return new WaitForSeconds(1f); + } + } + + /// + /// 启动过滤模式 + /// + public void StartFiltering() + { + if (currentState != SystemState.Ready || filteringActive) + return; + + filteringActive = true; + ChangeState(SystemState.Filtering); + + // 显示解码器条(初始位置设为第一个目标) + if (config.targets.Count > 0) + { + var firstTarget = config.targets[0]; + stripPosition = new Vector2(firstTarget.stripPosition.x, firstTarget.stripPosition.y); + } + else + { + stripPosition = new Vector2(3, 5); + } + + if (renderer != null) + { + renderer.ShowDecoderStrip(config.decoderTemplate, stripPosition); + } + + LogMessage("> DECODER STRIP LOADED."); + LogMessage("> FILTERING MODE: ACTIVE"); + LogMessage("> ADJUST FREQUENCY TO ISOLATE SIGNAL PATTERNS."); + + UpdateVisuals(); + } + + /// + /// 设置频率 + /// + public void SetFrequency(float frequency) + { + currentFrequency = Mathf.Clamp(frequency, 0f, 100f); + OnFrequencyChanged?.Invoke(currentFrequency); + + if (filteringActive) + { + UpdateVisuals(); + } + } + + /// + /// 更新视觉效果(基于当前频率) + /// + private void UpdateVisuals() + { + if (!filteringActive || renderer == null) + return; + + float maxSignal = 0f; + + for (int r = 0; r < config.gridHeight; r++) + { + for (int c = 0; c < config.gridWidth; c++) + { + var cell = gridData[r, c]; + float dist = CalculateEmotionDistance(cell.emotion); + + // 根据距离计算视觉状态 + CellVisualState visualState = CalculateCellVisualState(cell, dist); + renderer.UpdateCellVisual(r, c, visualState); + + // 更新信号强度 + if (cell.emotion.name != "NEUTRAL" && dist < 5f) + { + maxSignal = Mathf.Max(maxSignal, 100f - (dist * 20f)); + } + } + } + + renderer.UpdateSignalStrength(maxSignal); + } + + /// + /// 计算情绪距离 + /// + private float CalculateEmotionDistance(EmotionData emotion) + { + if (emotion.name == "NEUTRAL") + { + // 对于中性,计算到最近情绪的距离 + float minDist = 100f; + var emotions = new[] { EmotionData.Joy, EmotionData.Sadness, EmotionData.Anger, EmotionData.Fear }; + foreach (var e in emotions) + { + float d = Mathf.Abs(currentFrequency - e.frequencyValue); + if (d < minDist) minDist = d; + } + return Mathf.Max(0, 20f - minDist); + } + else + { + return Mathf.Abs(currentFrequency - emotion.frequencyValue); + } + } + + /// + /// 计算单元格视觉状态 + /// + private CellVisualState CalculateCellVisualState(GridCellData cell, float dist) + { + bool isTargetWord = cell.word != cell.cover; + + CellVisualState state = new CellVisualState(); + state.emotion = cell.emotion; + + if (cell.emotion.name != "NEUTRAL") + { + if (dist < 5f) + { + // 锁定状态 - 显示真实词汇 + state.displayText = cell.word; + state.visualMode = CellVisualState.Mode.Locked; + state.opacity = 1f; + state.blur = 0f; + state.scale = 1.15f; + } + else if (dist < 20f) + { + // 故障区 - 闪烁 + state.visualMode = CellVisualState.Mode.Glitch; + + if (isTargetWord) + { + float glitchChance = 1f - (dist / 20f); + state.displayText = (UnityEngine.Random.value < glitchChance) ? cell.word : cell.cover; + } + else + { + state.displayText = cell.word; + } + + state.opacity = 0.9f; + state.blur = (dist - 5f) / 3f; + state.scale = 1f; + state.jitter = new Vector2(UnityEngine.Random.Range(-1f, 1f), UnityEngine.Random.Range(-1f, 1f)); + } + else if (dist < 35f) + { + // 渐隐区 + state.displayText = isTargetWord ? cell.cover : cell.word; + state.visualMode = CellVisualState.Mode.Fading; + state.opacity = 0.6f - ((dist - 20f) / 30f); + state.blur = (dist - 5f) / 2f; + state.scale = 1f; + } + else + { + // 消失区 + state.displayText = isTargetWord ? cell.cover : cell.word; + state.visualMode = CellVisualState.Mode.Hidden; + state.opacity = 0.05f; + state.blur = 10f; + state.scale = 1f; + } + } + else + { + // 噪音 + state.displayText = cell.word; + state.visualMode = CellVisualState.Mode.Noise; + state.opacity = 0.3f; + state.blur = 2f; + state.scale = 1f; + } + + return state; + } + + /// + /// 移动解码器条 + /// + public void MoveStripTo(Vector2 position) + { + stripPosition = position; + if (renderer != null) + { + renderer.MoveDecoderStrip(stripPosition); + } + } + + /// + /// 开始拖动解码器条 + /// + public void StartDragStrip() + { + isStripDragging = true; + } + + /// + /// 结束拖动解码器条 + /// + public void EndDragStrip() + { + isStripDragging = false; + } + + /// + /// 检查匹配 + /// + public void CheckMatch() + { + if (!filteringActive) + { + LogMessage("> FILTERING MODE NOT ACTIVE."); + return; + } + + // 计算网格坐标 + int col = Mathf.RoundToInt(stripPosition.x); + int row = Mathf.RoundToInt(stripPosition.y); + + LogMessage($"> Scanning sector [{row}, {col}]..."); + + bool found = false; + TargetData foundTarget = null; + + // 检查是否匹配任何目标 + foreach (var target in config.targets) + { + if (target.stripPosition.x == col && target.stripPosition.y == row) + { + foundTarget = target; + float dist = Mathf.Abs(currentFrequency - target.emotion.frequencyValue); + + if (dist < 8f) + { + found = true; + LogSuccess(target); + OnMatchResult?.Invoke(true); + + // 触发 Yarn 节点 + if (!string.IsNullOrEmpty(completionNodeName) && dialogueRunner != null) + { + StartCoroutine(TriggerYarnNodeDelayed(completionNodeName, 1f)); + } + + return; + } + else + { + LogMessage("> PATTERN FOUND BUT SIGNAL WEAK. ADJUST FREQUENCY."); + LogMessage("> 似乎要说的不是这个..."); + OnMatchResult?.Invoke(false); + + // 触发失败节点(如果有) + if (!string.IsNullOrEmpty(completionNodeName) && dialogueRunner != null) + { + string failNodeName = completionNodeName + "_Fail"; + StartCoroutine(TriggerYarnNodeDelayed(failNodeName, 0.5f)); + } + return; + } + } + } + + if (!found) + { + LogMessage("> NO DATA ALIGNMENT DETECTED."); + LogMessage("> 似乎要说的不是这个..."); + OnMatchResult?.Invoke(false); + + // 触发失败节点 + if (!string.IsNullOrEmpty(completionNodeName) && dialogueRunner != null) + { + string failNodeName = completionNodeName + "_Fail"; + StartCoroutine(TriggerYarnNodeDelayed(failNodeName, 0.5f)); + } + } + } + + /// + /// 延迟触发 Yarn 节点 + /// + private IEnumerator TriggerYarnNodeDelayed(string nodeName, float delay) + { + yield return new WaitForSeconds(delay); + + if (dialogueRunner != null && !string.IsNullOrEmpty(nodeName)) + { + dialogueRunner.StartDialogue(nodeName); + } + } + + /// + /// 记录成功 + /// + private void LogSuccess(TargetData target) + { + string word1 = "", word2 = "", word3 = ""; + + if (target.matches.Count == 3) + { + word1 = target.matches[0].word; + word2 = target.matches[1].word; + word3 = target.matches[2].word; + } + else if (target.matches.Count >= 4) + { + word1 = target.matches[0].word + target.matches[1].word; + word2 = target.matches[2].word; + word3 = target.matches[3].word; + } + + string fullSentence = $"[{word1}]要来了,不合格[{word2}]被骂了,这让我很[{word3}]"; + LogMessage($">> DECRYPTED: {fullSentence}"); + LogMessage(">> 寻找完成"); + + // 在渲染器中显示成功效果 + if (renderer != null) + { + renderer.ShowSuccessEffect(target.emotion.color); + } + } + + /// + /// 改变状态 + /// + private void ChangeState(SystemState newState) + { + currentState = newState; + OnStateChanged?.Invoke(currentState); + } + + /// + /// 记录消息 + /// + private void LogMessage(string message) + { + OnLogMessage?.Invoke(message); + } + + /// + /// 将文本分割为2字符块 + /// + private List SplitIntoTwoChars(string text) + { + List result = new List(); + for (int i = 0; i < text.Length; i += 2) + { + if (i + 1 < text.Length) + { + result.Add(text.Substring(i, 2)); + } + else + { + result.Add(text[i] + " "); + } + } + return result; + } + + /// + /// 获取随机情绪或中性 + /// + private EmotionData GetRandomEmotionOrNeutral() + { + float rnd = UnityEngine.Random.value; + + if (rnd > 0.97f) return EmotionData.Fear; + if (rnd > 0.94f) return EmotionData.Sadness; + if (rnd > 0.91f) return EmotionData.Joy; + if (rnd > 0.88f) return EmotionData.Anger; + return EmotionData.Neutral; + } + } + + /// + /// 单元格视觉状态 + /// + public struct CellVisualState + { + public enum Mode { Locked, Glitch, Fading, Hidden, Noise } + + public string displayText; + public Mode visualMode; + public EmotionData emotion; + public float opacity; + public float blur; + public float scale; + public Vector2 jitter; + } +} + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorMode.cs.meta b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorMode.cs.meta new file mode 100644 index 000000000..fea1086c0 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorMode.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4333ef16deba37d43b41e3572b677b8b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorRenderer.cs b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorRenderer.cs new file mode 100644 index 000000000..6c7db1bdb --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorRenderer.cs @@ -0,0 +1,574 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; +using TMPro; +using Shapes; + +namespace AibisDream.MiniGame.Language.MemoryDecryptor +{ + /// + /// 记忆解密器渲染器 - 使用 Shapes 实现复古 CRT 显示效果 + /// + public class MemoryDecryptorRenderer : MonoBehaviour + { + [Header("UI 组件(必须配置)")] + [SerializeField] private RectTransform gridContainer; + [SerializeField] private RectTransform decoderStripContainer; + [SerializeField] private TMP_Text frequencyDisplay; + [SerializeField] private TMP_Text logText; + [SerializeField] private RectTransform signalBar; + + [Header("视觉效果")] + [SerializeField] private float glitchUpdateInterval = 0.1f; + + // 内部使用的预制件和材质(不需要手动配置) + private GameObject gridCellPrefab; + private GameObject decoderStripPrefab; + private Material cellMaterial; + + // 网格单元格 + private GridCell[,] gridCells; + private MemoryDecryptorConfig config; + private GridCellData[,] gridData; + + // 解码器条 + private GameObject decoderStrip; + private List decoderHoles = new List(); + private bool stripVisible = false; + + // 故障效果计时器 + private float glitchTimer = 0f; + + /// + /// 网格单元格组件 + /// + private class GridCell + { + public GameObject gameObject; + public Rectangle background; + public TMP_Text textDisplay; + public RectTransform rectTransform; + } + + /// + /// 解码器孔 + /// + private class DecoderHole + { + public Rectangle outline; + public Vector2 localPosition; + } + + /// + /// 初始化网格 + /// + public void InitializeGrid(MemoryDecryptorConfig config, GridCellData[,] data) + { + this.config = config; + this.gridData = data; + + gridCells = new GridCell[config.gridHeight, config.gridWidth]; + + if (gridContainer == null) + { + Debug.LogError("[MemoryDecryptorRenderer] Grid Container 未设置!"); + return; + } + + // 清空容器 + foreach (Transform child in gridContainer) + { + Destroy(child.gameObject); + } + + // 创建网格单元格 + for (int r = 0; r < config.gridHeight; r++) + { + for (int c = 0; c < config.gridWidth; c++) + { + CreateGridCell(r, c); + } + } + } + + /// + /// 创建网格单元格 + /// + private void CreateGridCell(int row, int col) + { + GameObject cellObj; + + if (gridCellPrefab != null) + { + cellObj = Instantiate(gridCellPrefab, gridContainer); + } + else + { + cellObj = new GameObject($"Cell_{row}_{col}"); + cellObj.transform.SetParent(gridContainer, false); + } + + // 添加 RectTransform + RectTransform rt = cellObj.GetComponent(); + if (rt == null) rt = cellObj.AddComponent(); + + // 设置位置和大小 + float x = col * (config.cellSize + config.cellGap); + float y = -row * (config.cellSize + config.cellGap); + rt.anchoredPosition = new Vector2(x, y); + rt.sizeDelta = new Vector2(config.cellSize, config.cellSize); + rt.anchorMin = new Vector2(0, 1); + rt.anchorMax = new Vector2(0, 1); + rt.pivot = new Vector2(0, 1); + + // 添加 Shapes Rectangle 作为背景 + Rectangle bg = cellObj.GetComponent(); + if (bg == null) bg = cellObj.AddComponent(); + + bg.Type = Rectangle.RectangleType.RoundedSolid; + bg.CornerRadiusMode = Rectangle.RectangleCornerRadiusMode.Uniform; + bg.CornerRadius = 2f; + bg.Color = new Color(0f, 0.04f, 0f, 0.2f); // rgba(0,10,0,0.2) + + // 添加文本组件 + GameObject textObj = new GameObject("Text"); + textObj.transform.SetParent(cellObj.transform, false); + + RectTransform textRt = textObj.AddComponent(); + textRt.anchorMin = Vector2.zero; + textRt.anchorMax = Vector2.one; + textRt.offsetMin = Vector2.zero; + textRt.offsetMax = Vector2.zero; + + TMP_Text text = textObj.AddComponent(); + text.font = Resources.Load("Fonts & Materials/LiberationSans SDF"); + text.fontSize = 13; + text.alignment = TextAlignmentOptions.Center; + text.color = config.phosphorPrimary; + text.text = ""; + text.enableWordWrapping = false; + text.overflowMode = TextOverflowModes.Overflow; + + // 保存引用 + GridCell cell = new GridCell + { + gameObject = cellObj, + background = bg, + textDisplay = text, + rectTransform = rt + }; + + gridCells[row, col] = cell; + } + + /// + /// 流式加载网格 + /// + public IEnumerator StreamLoadGrid() + { + // 收集所有单元格 + List positions = new List(); + for (int r = 0; r < config.gridHeight; r++) + { + for (int c = 0; c < config.gridWidth; c++) + { + positions.Add(new Vector2Int(r, c)); + } + } + + // 随机打乱 + for (int i = 0; i < positions.Count; i++) + { + int j = Random.Range(i, positions.Count); + var temp = positions[i]; + positions[i] = positions[j]; + positions[j] = temp; + } + + // 批量显示 + int batchSize = 10; + for (int i = 0; i < positions.Count; i++) + { + var pos = positions[i]; + int r = pos.x; + int c = pos.y; + + var cell = gridCells[r, c]; + var data = gridData[r, c]; + + if (cell != null && data != null) + { + // 加载状态 + cell.background.Color = config.phosphorPrimary; + cell.textDisplay.color = Color.black; + cell.textDisplay.text = data.cover ?? data.word; + + if (i % batchSize == 0) + { + yield return new WaitForSeconds(0.01f); + } + } + } + + // 闪烁效果 + yield return new WaitForSeconds(0.5f); + + // 恢复正常状态 + for (int r = 0; r < config.gridHeight; r++) + { + for (int c = 0; c < config.gridWidth; c++) + { + var cell = gridCells[r, c]; + var data = gridData[r, c]; + + if (cell != null && data != null) + { + cell.background.Color = new Color(0f, 0.04f, 0f, 0.2f); + cell.textDisplay.color = config.phosphorPrimary; + cell.textDisplay.text = data.cover ?? data.word; + } + } + } + } + + /// + /// 更新单元格视觉效果 + /// + public void UpdateCellVisual(int row, int col, CellVisualState state) + { + if (row < 0 || row >= config.gridHeight || col < 0 || col >= config.gridWidth) + return; + + var cell = gridCells[row, col]; + if (cell == null) return; + + // 更新文本 + cell.textDisplay.text = state.displayText; + + // 根据视觉模式设置样式 + switch (state.visualMode) + { + case CellVisualState.Mode.Locked: + // 锁定状态 - 高亮显示 + cell.textDisplay.color = state.emotion.color; + cell.textDisplay.fontStyle = FontStyles.Bold; + cell.background.Color = new Color(0f, 0f, 0f, 0.8f); + cell.rectTransform.localScale = Vector3.one * state.scale; + SetTextGlow(cell.textDisplay, state.emotion.color); + break; + + case CellVisualState.Mode.Glitch: + // 故障状态 - 闪烁颜色 + cell.textDisplay.color = state.emotion.color; + cell.textDisplay.fontStyle = FontStyles.Normal; + cell.background.Color = new Color(0f, 0.08f, 0f, 0.4f); + cell.rectTransform.localScale = Vector3.one; + + // 应用抖动 + cell.rectTransform.anchoredPosition = new Vector2( + col * (config.cellSize + config.cellGap) + state.jitter.x, + -row * (config.cellSize + config.cellGap) + state.jitter.y + ); + break; + + case CellVisualState.Mode.Fading: + // 渐隐状态 + Color fadingColor = config.phosphorPrimary; + fadingColor.a = state.opacity; + cell.textDisplay.color = fadingColor; + cell.textDisplay.fontStyle = FontStyles.Normal; + cell.background.Color = new Color(0f, 0.04f, 0f, 0.2f); + cell.rectTransform.localScale = Vector3.one; + break; + + case CellVisualState.Mode.Hidden: + // 隐藏状态 + Color hiddenColor = config.phosphorPrimary; + hiddenColor.a = state.opacity; + cell.textDisplay.color = hiddenColor; + cell.textDisplay.fontStyle = FontStyles.Normal; + cell.background.Color = new Color(0f, 0.04f, 0f, 0.1f); + cell.rectTransform.localScale = Vector3.one; + break; + + case CellVisualState.Mode.Noise: + // 噪音状态 + cell.textDisplay.color = new Color(0.27f, 0.33f, 0.27f, state.opacity); + cell.textDisplay.fontStyle = FontStyles.Normal; + cell.background.Color = new Color(0f, 0.04f, 0f, 0.2f); + cell.rectTransform.localScale = Vector3.one; + break; + } + } + + /// + /// 设置文本发光效果 + /// + private void SetTextGlow(TMP_Text text, Color glowColor) + { + // 使用 TextMeshPro 的 Outline 模拟发光 + text.fontMaterial.SetColor("_GlowColor", glowColor); + text.fontMaterial.SetFloat("_GlowPower", 0.5f); + } + + /// + /// 显示解码器条 + /// + public void ShowDecoderStrip(List elements, Vector2 position) + { + if (decoderStripContainer == null) + { + Debug.LogWarning("[MemoryDecryptorRenderer] Decoder Strip Container 未设置!"); + return; + } + + // 清空旧的 + if (decoderStrip != null) + { + Destroy(decoderStrip); + } + decoderHoles.Clear(); + + // 创建解码器条 + if (decoderStripPrefab != null) + { + decoderStrip = Instantiate(decoderStripPrefab, decoderStripContainer); + } + else + { + decoderStrip = new GameObject("DecoderStrip"); + decoderStrip.transform.SetParent(decoderStripContainer, false); + } + + RectTransform stripRt = decoderStrip.GetComponent(); + if (stripRt == null) stripRt = decoderStrip.AddComponent(); + + // 设置大小 + float stripWidth = config.stripWidth * config.cellSize + (config.stripWidth - 1) * config.cellGap + 10f; + float stripHeight = config.stripHeight * config.cellSize + (config.stripHeight - 1) * config.cellGap + 10f; + stripRt.sizeDelta = new Vector2(stripWidth, stripHeight); + stripRt.anchorMin = new Vector2(0, 1); + stripRt.anchorMax = new Vector2(0, 1); + stripRt.pivot = new Vector2(0, 1); + + // 添加背景边框 + Rectangle stripBg = decoderStrip.GetComponent(); + if (stripBg == null) stripBg = decoderStrip.AddComponent(); + + stripBg.Type = Rectangle.RectangleType.RoundedBorder; + stripBg.CornerRadiusMode = Rectangle.RectangleCornerRadiusMode.Uniform; + stripBg.CornerRadius = 4f; + stripBg.Color = config.stripBorderColor; + stripBg.Thickness = 0.002f; // 使用米为单位的薄边框 + stripBg.ThicknessSpace = ThicknessSpace.Meters; + + // 创建元素 + foreach (var element in elements) + { + if (element.type == DecoderElement.ElementType.Hole) + { + CreateDecoderHole(decoderStrip.transform, element); + } + else + { + CreateDecoderText(decoderStrip.transform, element); + } + } + + // 设置位置 + MoveDecoderStrip(position); + + stripVisible = true; + } + + /// + /// 创建解码器孔 + /// + private void CreateDecoderHole(Transform parent, DecoderElement element) + { + GameObject holeObj = new GameObject($"Hole_{element.row}_{element.col}"); + holeObj.transform.SetParent(parent, false); + + RectTransform rt = holeObj.AddComponent(); + rt.sizeDelta = new Vector2(config.cellSize, config.cellSize); + rt.anchorMin = new Vector2(0, 1); + rt.anchorMax = new Vector2(0, 1); + rt.pivot = new Vector2(0, 1); + + float x = element.col * (config.cellSize + config.cellGap) + 5f; + float y = -element.row * (config.cellSize + config.cellGap) - 5f; + rt.anchoredPosition = new Vector2(x, y); + + // 添加孔的边框(使用 Shapes Rectangle) + Rectangle outline = holeObj.AddComponent(); + outline.Type = Rectangle.RectangleType.HardBorder; + outline.Color = config.stripBorderColor; + outline.Thickness = 0.002f; // 使用米为单位的薄边框 + outline.ThicknessSpace = ThicknessSpace.Meters; + + DecoderHole hole = new DecoderHole + { + outline = outline, + localPosition = new Vector2(element.col, element.row) + }; + decoderHoles.Add(hole); + } + + /// + /// 创建解码器文本 + /// + private void CreateDecoderText(Transform parent, DecoderElement element) + { + GameObject textObj = new GameObject($"Text_{element.row}_{element.col}"); + textObj.transform.SetParent(parent, false); + + RectTransform rt = textObj.AddComponent(); + rt.sizeDelta = new Vector2(config.cellSize, config.cellSize); + rt.anchorMin = new Vector2(0, 1); + rt.anchorMax = new Vector2(0, 1); + rt.pivot = new Vector2(0, 1); + + float x = element.col * (config.cellSize + config.cellGap) + 5f; + float y = -element.row * (config.cellSize + config.cellGap) - 5f; + rt.anchoredPosition = new Vector2(x, y); + + TMP_Text text = textObj.AddComponent(); + text.font = Resources.Load("Fonts & Materials/LiberationSans SDF"); + text.fontSize = 12; + text.alignment = TextAlignmentOptions.Center; + text.color = config.stripBorderColor; + text.text = element.text; + text.fontStyle = FontStyles.Bold; + } + + /// + /// 移动解码器条 + /// + public void MoveDecoderStrip(Vector2 gridPosition) + { + if (decoderStrip == null) return; + + RectTransform rt = decoderStrip.GetComponent(); + if (rt == null) return; + + float x = gridPosition.x * (config.cellSize + config.cellGap); + float y = -gridPosition.y * (config.cellSize + config.cellGap); + rt.anchoredPosition = new Vector2(x, y); + } + + /// + /// 更新信号强度 + /// + public void UpdateSignalStrength(float strength) + { + if (signalBar != null) + { + signalBar.anchorMax = new Vector2(strength / 100f, 1f); + } + } + + /// + /// 更新频率显示 + /// + public void UpdateFrequencyDisplay(float frequency) + { + if (frequencyDisplay != null) + { + frequencyDisplay.text = frequency.ToString("00.0"); + } + } + + /// + /// 添加日志消息 + /// + public void AddLogMessage(string message) + { + if (logText != null) + { + logText.text += $"\n{message}"; + + // 滚动到底部(需要配合 ScrollRect) + Canvas.ForceUpdateCanvases(); + } + } + + /// + /// 清空日志 + /// + public void ClearLog() + { + if (logText != null) + { + logText.text = ""; + } + } + + /// + /// 显示成功效果 + /// + public void ShowSuccessEffect(Color emotionColor) + { + StartCoroutine(SuccessEffectCoroutine(emotionColor)); + } + + private IEnumerator SuccessEffectCoroutine(Color emotionColor) + { + // 闪烁效果 + for (int i = 0; i < 3; i++) + { + // 全屏闪烁 + if (gridContainer != null) + { + var canvasGroup = gridContainer.GetComponent(); + if (canvasGroup == null) canvasGroup = gridContainer.gameObject.AddComponent(); + + canvasGroup.alpha = 0.5f; + yield return new WaitForSeconds(0.1f); + canvasGroup.alpha = 1f; + yield return new WaitForSeconds(0.1f); + } + } + } + + /// + /// 清空所有渲染内容 + /// + public void Clear() + { + if (gridContainer != null) + { + foreach (Transform child in gridContainer) + { + Destroy(child.gameObject); + } + } + + if (decoderStrip != null) + { + Destroy(decoderStrip); + } + + decoderHoles.Clear(); + gridCells = null; + stripVisible = false; + + ClearLog(); + } + + private void Update() + { + // 更新故障效果 + if (stripVisible) + { + glitchTimer += Time.deltaTime; + if (glitchTimer >= glitchUpdateInterval) + { + glitchTimer = 0f; + // 触发重新渲染故障单元格 + // 这部分由 MemoryDecryptorMode 控制 + } + } + } + } +} + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorRenderer.cs.meta b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorRenderer.cs.meta new file mode 100644 index 000000000..745454d52 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorRenderer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 534afdc61c904bd4a8cbae4aca0d3087 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorYarnCommands.cs b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorYarnCommands.cs new file mode 100644 index 000000000..d1fb14e0a --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorYarnCommands.cs @@ -0,0 +1,97 @@ +using UnityEngine; +using Yarn.Unity; +using AibisDream.FixSystem; + +namespace AibisDream.MiniGame.Language.MemoryDecryptor +{ + /// + /// 语言分析系统 Yarn 命令注册(记忆解密器) + /// 使用 [YarnCommand] 特性自动注册命令,无需手动管理生命周期 + /// + public static class MemoryDecryptorYarnCommands + { + private static AibisDream.MiniGame.Language.LanguageAnalysisManager LanguageAnalysisManager => + FixSystemCenter.SystemDic.Get(); + + /// + /// 启动记忆解密器 + /// <> 或 <> + /// + [YarnCommand("memory_decryptor_start")] + public static void StartMemoryDecryptor(string completionNodeName = "") + { + if (LanguageAnalysisManager == null) + { + Debug.LogError("[MemoryDecryptor] LanguageAnalysisManager 未找到!"); + return; + } + + LanguageAnalysisManager.StartMemoryDecryptor(string.IsNullOrEmpty(completionNodeName) ? null : completionNodeName); + } + + /// + /// 开始过滤模式 + /// <> + /// + [YarnCommand("memory_decryptor_filter_start")] + public static void StartFiltering() + { + if (LanguageAnalysisManager == null) + { + Debug.LogError("[MemoryDecryptor] LanguageAnalysisManager 未找到!"); + return; + } + + LanguageAnalysisManager.StartMemoryDecryptorFiltering(); + } + + /// + /// 设置频率 + /// <> + /// + [YarnCommand("memory_decryptor_set_frequency")] + public static void SetFrequency(float frequency) + { + if (LanguageAnalysisManager == null) + { + Debug.LogError("[MemoryDecryptor] LanguageAnalysisManager 未找到!"); + return; + } + + LanguageAnalysisManager.SetMemoryDecryptorFrequency(frequency); + } + + /// + /// 检查匹配 + /// <> + /// + [YarnCommand("memory_decryptor_check")] + public static void CheckMatch() + { + if (LanguageAnalysisManager == null) + { + Debug.LogError("[MemoryDecryptor] LanguageAnalysisManager 未找到!"); + return; + } + + LanguageAnalysisManager.CheckMemoryDecryptorMatch(); + } + + /// + /// 停止记忆解密器 + /// <> + /// + [YarnCommand("memory_decryptor_stop")] + public static void StopMemoryDecryptor() + { + if (LanguageAnalysisManager == null) + { + Debug.LogError("[MemoryDecryptor] LanguageAnalysisManager 未找到!"); + return; + } + + LanguageAnalysisManager.CloseView(); + } + } +} + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorYarnCommands.cs.meta b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorYarnCommands.cs.meta new file mode 100644 index 000000000..ee17a0ce8 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/MemoryDecryptorYarnCommands.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f6c252a21b110e04db5f0948e476ab71 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/QUICKSTART.md b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/QUICKSTART.md new file mode 100644 index 000000000..c0b6b7c93 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/QUICKSTART.md @@ -0,0 +1,223 @@ +# 记忆解密器 - 快速入门 + +## 🚀 5分钟快速开始 + +### 第一步:创建配置文件(可选) + +**✨ 自动配置模式(推荐)** + +无需手动创建配置文件!系统会自动使用默认配置。 + +**🔧 自定义配置模式(可选)** + +如果需要自定义配置: + +1. 在 Unity 编辑器中,右键点击 Project 窗口 +2. 选择 `Create > AibisDream > Language > Memory Decryptor Config` +3. 命名为 `DefaultMemoryDecryptorConfig` +4. 在 Inspector 中填入基础数据 +5. 在 MemoryDecryptorMode 组件中拖入配置文件 + +**快捷方式**:使用 `MemoryDecryptorConfigExample.CreateDefaultConfig()` 生成示例配置 + +### 第二步:设置场景 UI + +1. **创建基础 Canvas** +``` +- 创建 Canvas(Screen Space - Overlay) +- 添加 Canvas Scaler,设置为 Scale With Screen Size +``` + +2. **添加记忆解密器根对象** +``` +Canvas +└── MemoryDecryptorRoot + ├── Background (Image - 纯黑色) + └── MainPanel (RectTransform) +``` + +3. **创建网格容器** +``` +MainPanel +└── GridContainer (RectTransform) + - Anchor: Top-Left + - Pivot: (0, 1) + - Position: (50, -50, 0) +``` + +4. **创建解码器条容器** +``` +MainPanel +└── DecoderStripContainer (RectTransform) + - 与 GridContainer 同级 + - 相同的锚点和 Pivot +``` + +5. **创建控制面板** +``` +MainPanel +└── ControlPanel (Vertical Layout Group) + ├── FrequencyDisplay (TextMeshPro) + │ └── Text: "00.0 Hz" + ├── FrequencySlider (Slider) + │ └── Min: 0, Max: 100, Value: 50 + ├── FilterButton (Button) + │ └── Text: "启动过滤分析" + ├── VerifyButton (Button) + │ └── Text: "验证对齐" + ├── SignalPanel + │ └── SignalBar (Image - 绿色,Anchor: Stretch-Left) + └── LogPanel (ScrollView) + └── LogText (TextMeshPro) +``` + +### 第三步:添加脚本组件 + +1. **添加 MemoryDecryptorMode** +``` +MemoryDecryptorRoot 上添加: +- MemoryDecryptorMode + - Config: 【可选】如果不设置,会自动使用默认配置 + - (其他组件会自动查找,无需配置) +``` + +2. **添加 MemoryDecryptorRenderer** +``` +MemoryDecryptorRoot 上添加: +- MemoryDecryptorRenderer + 【UI 组件(必须配置)】 + - Grid Container: 拖入 GridContainer + - Decoder Strip Container: 拖入 DecoderStripContainer + - Frequency Display: 拖入 FrequencyDisplay + - Log Text: 拖入 LogText + - Signal Bar: 拖入 SignalBar + - (其他组件会自动处理) +``` + +3. **添加 MemoryDecryptorInputHandler** +``` +MemoryDecryptorRoot 上添加: +- MemoryDecryptorInputHandler + 【UI 组件(必须配置)】 + - Grid Container: 拖入 GridContainer + - Frequency Slider: 拖入滑块 + - Filter Button: 拖入过滤按钮 + - Verify Button: 拖入验证按钮 + 【拖动设置】 + - Grid Cell Size: 45 + - Grid Cell Gap: 2 + - (Mode 和 Renderer 会自动查找) +``` + +4. **Yarn 命令支持** +``` +✅ 无需添加组件! +MemoryDecryptorYarnCommands 使用 [YarnCommand] 特性自动注册, +无需添加到场景中,开箱即用。 +``` + +### 第四步:连接到 ExpressionManager + +1. 找到场景中的 `ExpressionManager` 对象 +2. `MemoryDecryptorMode` 会被自动查找,无需手动配置 +3. 确保 `MemoryDecryptorMode` 是 `ExpressionManager` 的子对象即可 + +### 第五步:编写 Yarn 对话 + +创建或编辑你的 Yarn 文件: + +```yarn +title: TestMemoryDecryptor +--- +让我们测试一下记忆解密器。 +<> +<> +=== + +title: TestSuccess +--- +成功解密! +<> +=== + +title: TestSuccess_Fail +--- +失败了,再试试吧。 +=== +``` + +### 第六步:测试运行 + +1. 按下 Play 按钮 +2. 在 Yarn Dialogue 中触发 `TestMemoryDecryptor` 节点 +3. 应该看到: + - Boot 序列日志 + - 网格流式加载动画 + - "启动过滤分析" 按钮变为可用 + +4. 点击"启动过滤分析" +5. 调整频率滑块,观察网格变化 +6. 点击"验证对齐"测试匹配 + +## 🎯 最简配置(测试用) + +如果只是想快速测试,可以使用这个最简配置: + +### 1. 简单场景设置 +``` +Canvas +└── MemoryDecryptorTest + - MemoryDecryptorMode (不需要设置 Config,自动使用默认) + - MemoryDecryptorRenderer + - MemoryDecryptorInputHandler +``` + +### 2. 自动使用默认配置 ✨ +无需任何配置!`MemoryDecryptorMode` 会自动创建默认配置。 + +### 3. 最简 Yarn +```yarn +title: Start +--- +<> +<> +=== +``` + +## ❓ 常见问题 + +### Q: 看不到网格? +A: 检查 GridContainer 是否正确设置,确保 Canvas Scaler 工作正常。 + +### Q: 解码器条不显示? +A: 确保已经调用 `<>`,或点击了"启动过滤分析"按钮。 + +### Q: 拖动不工作? +A: 检查 Canvas 是否有 GraphicRaycaster 组件,场景是否有 EventSystem。 + +### Q: 没有 Shapes 插件怎么办? +A: 可以修改 `MemoryDecryptorRenderer` 使用 Unity UI 的 Image 替代 Shapes.Rectangle。 + +### Q: Yarn 命令不工作? +A: 确保 `ExpressionManager` 已正确注册到 `FixSystemCenter.SystemDic`。命令会自动通过 `[YarnCommand]` 特性注册,无需手动添加组件。 + +### Q: 匹配检测不准确? +A: 检查配置文件中的目标位置 `stripPosition` 是否与匹配词汇的位置对应。 + +## 📚 下一步学习 + +- 阅读 `README.md` 了解详细机制 +- 查看 `ExampleYarnDialogue.yarn` 学习完整对话流程 +- 研究 `MemoryDecryptorConfigExample.cs` 学习如何配置谜题 +- 阅读 `IMPLEMENTATION_SUMMARY.md` 了解架构设计 + +## 💡 提示 + +1. **调试模式**:在 `MemoryDecryptorMode` 中添加 `[SerializeField] private bool debugMode;`,在匹配时输出详细信息 +2. **可视化工具**:可以在 Scene 视图中用 Gizmos 显示解码器孔的位置 +3. **自动测试**:创建自动化测试脚本,自动设置频率和位置进行测试 + +--- + +**需要帮助?** 检查代码注释或查看完整文档! + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/QUICKSTART.md.meta b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/QUICKSTART.md.meta new file mode 100644 index 000000000..3e9b3c40c --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/QUICKSTART.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ed1895c92c576df41a2b641c70e6bdf6 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/README.md b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/README.md new file mode 100644 index 000000000..b9a7b49b6 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/README.md @@ -0,0 +1,182 @@ +# 记忆解密器 (Memory Decryptor) + +## 概述 + +记忆解密器是一个基于 Web 原型移植的语言分析系统,作为 ExpressionManager 的一个分析模式。玩家需要通过调整情绪频率和拖动解码器条来从笑话碎片中解密出隐藏的真实情感语句。 + +## 核心机制 + +### 1. 网格系统 +- 20x20 网格显示笑话碎片(每个单元格显示2个字符) +- 真实的情感词汇被"笑话"掩盖 +- 通过调整频率可以让特定情绪的词汇显现 + +### 2. 情绪频率 +四种情绪对应不同的频率值(0-100): +- **JOY (喜悦)**: 15Hz - 黄色 +- **SADNESS (悲伤)**: 40Hz - 蓝色 +- **ANGER (愤怒)**: 65Hz - 红色 +- **FEAR (恐惧)**: 90Hz - 紫色 + +### 3. 解码器条 +- 5x3 的透明"孔"模板 +- 可拖动到网格的不同位置 +- 正确位置 + 正确频率 = 解密成功 + +### 4. 视觉状态 +根据频率距离,单元格会呈现不同状态: +- **Locked (<5Hz距离)**: 完全显现,高亮显示 +- **Glitch (5-20Hz)**: 闪烁状态,真实词汇和掩盖词汇交替 +- **Fading (20-35Hz)**: 渐隐,显示掩盖词汇 +- **Hidden (>35Hz)**: 几乎不可见 +- **Noise**: 中性噪音,始终半透明 + +## 使用方法 + +### 在 Unity 中设置 + +1. **创建配置文件(可选)** + - 【推荐】无需创建,系统自动使用默认配置 ✨ + - 【自定义】右键 → Create → AibisDream → Language → Memory Decryptor Config + - 配置网格大小、笑话数据、目标数据等 + +2. **设置场景** + ``` + ExpressionManager + └── MemoryDecryptorMode (脚本) - 只需配置 Config + └── MemoryDecryptorRenderer (脚本) - 需配置 UI 组件引用 + ├── Grid Container (RectTransform) + ├── Decoder Strip Container (RectTransform) + ├── Frequency Display (TextMeshPro) + ├── Log Text (TextMeshPro) + └── Signal Bar (RectTransform) + + 注:MemoryDecryptorYarnCommands 是静态类,使用 [YarnCommand] 特性 + 自动注册,无需添加到场景中 + ``` + +3. **配置解码器模板** + 在配置文件中设置 `decoderTemplate`: + ``` + Hole at (0, 0) // 第一个孔 + Text at (0, 1) "要" + Text at (0, 2) "来了" + ... + Hole at (1, 1) // 第二个孔 + ... + Hole at (2, 4) // 第三个孔 + ``` + +4. **配置目标数据** + ``` + Target 1: FEAR Solution + - stripPos: (3, 5) // 解码器正确位置 + - matches: + - (3, 5) word:"临检" cover:"检查" + - (4, 6) word:"英里" cover:"背后" + - (5, 9) word:"担心" cover:"对的" + ``` + +### Yarn 对话中使用 + +```yarn +// 切换到记忆解密器模式 +<> + +// 启动记忆解密器(指定完成后的节点) +<> + +// 开始过滤模式 +<> + +// 设置频率(可选,用于引导玩家) +<> + +// 检查匹配(通常由玩家触发按钮) +<> + +// 停止解密器 +<> + +// 切换回粒子模式 +<> +``` + +### Yarn 节点反馈示例 + +```yarn +title: SuccessNode +--- +太好了!你成功解密了记忆! +[临检]要来了,不合格[英里]被骂了,这让我很[担心] +原来是这样的情绪... +=== + +title: SuccessNode_Fail +--- +似乎不太对... +也许需要调整一下频率? +或者位置不太准确? +=== +``` + +## 复古视觉效果 + +使用 Shapes 插件实现: +- **CRT 显示效果**: 磷光绿色主色调 (#33ff00) +- **扫描线**: 可选的后处理效果 +- **字符显示**: 等宽字体,复古终端风格 +- **发光效果**: 高亮文字的霓虹发光 +- **故障效果**: 频率不匹配时的闪烁抖动 + +## 配置示例 + +### 简单示例(3个目标词) + +``` +笑话: "临检要来了,不合格英里被骂了,这让我很担心" +解密目标: +- "临检" (Fear, 90Hz) at (3, 5) +- "英里" (Fear, 90Hz) at (4, 6) +- "担心" (Fear, 90Hz) at (5, 9) + +解码器位置: (3, 5) +情绪频率: 90Hz (FEAR) +``` + +### 复杂示例(多个诱饵) + +可以添加多个"接近但不完全正确"的目标位置作为诱饵,增加难度。 + +## 技术细节 + +### 性能优化 +- 网格单元格使用对象池 +- 故障效果限制更新频率(0.1s) +- 仅在过滤激活时更新视觉效果 + +### 扩展性 +- 支持自定义网格大小 +- 支持自定义情绪类型和频率 +- 支持自定义解码器模板形状 +- 支持多个谜题配置切换 + +## 注意事项 + +1. **笑话数据量**: 确保提供足够的笑话(至少400个2字符碎片)填满20x20网格 +2. **目标位置**: 确保目标位置与解码器孔位置对应 +3. **频率容差**: 默认容差为±8Hz,可在代码中调整 +4. **Shapes 依赖**: 需要安装 Shapes 插件 +5. **Yarn 命令注册**: 使用 `[YarnCommand]` 特性自动注册,无需添加组件到场景 + +## 调试技巧 + +1. 在 Inspector 中查看当前频率和解码器位置 +2. 使用 OnMatchResult 事件监听匹配结果 +3. 查看 Log 输出了解扫描结果 +4. 在场景视图中可视化解码器孔的位置 + +## 示例场景 + +参考 `WebPrototype/index.html` 中的原始实现来理解游戏机制。 + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/README.md.meta b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/README.md.meta new file mode 100644 index 000000000..383d93502 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptor/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: edb32a6d920f2a9418f88e9c03b5048e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptorConfig.asset b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptorConfig.asset new file mode 100644 index 000000000..ddcc18310 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptorConfig.asset @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 0} + m_Name: MemoryDecryptorConfig + m_EditorClassIdentifier: Assembly-CSharp:AibisDream.MiniGame.Language.MemoryDecryptor:MemoryDecryptorConfig + gridWidth: 20 + gridHeight: 20 + cellSize: 45 + cellGap: 2 + phosphorPrimary: {r: 0.2, g: 1, b: 0, a: 1} + phosphorDim: {r: 0.1, g: 0.5, b: 0, a: 1} + phosphorBg: {r: 0.04, g: 0.08, b: 0.04, a: 1} + stripWidth: 5 + stripHeight: 3 + stripBorderColor: {r: 0, g: 1, b: 1, a: 1} + completeJokes: [] + targets: [] + decoderTemplate: [] diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptorConfig.asset.meta b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptorConfig.asset.meta new file mode 100644 index 000000000..b6afd3bda --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/MemoryDecryptorConfig.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 69788d7210a8ca849bca95e9fcf4ab65 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/SYSTEM_ARCHITECTURE.md b/Assets/Scripts/MiniGame/HuoShan/Language/SYSTEM_ARCHITECTURE.md new file mode 100644 index 000000000..661990bf8 --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/SYSTEM_ARCHITECTURE.md @@ -0,0 +1,258 @@ +# 语言系统架构说明 + +## 🎯 系统分离 + +### ✅ 正确的架构 + +``` +两个独立的系统: + +1. ExpressionManager (表达系统) + └── LanguageParticleManager (粒子表达) + +2. LanguageAnalysisManager (语言分析系统) + └── MemoryDecryptorMode (记忆解密器) + └── 未来可扩展其他分析模式 +``` + +## 📋 系统对比 + +| 特性 | ExpressionManager | LanguageAnalysisManager | +|------|-------------------|-------------------------| +| **用途** | 粒子表达、情绪可视化 | 语言解密、分析解谜 | +| **FixState** | `Expression` | `LanguageAnalysis` | +| **相机** | `Expression` / `ExpressionDeep` | `LanguageAnalysis` / `LanguageAnalysisDeep` | +| **Yarn 进入** | - | `<>` | +| **Yarn 退出** | - | `<>` | +| **子系统** | LanguageParticleManager | MemoryDecryptorMode | +| **命名空间** | `AibisDream` | `AibisDream.MiniGame.Language` | + +## 🎮 使用指南 + +### 使用表达系统 (ExpressionManager) + +```yarn +title: UseExpression +--- +<> +<> +=== +``` + +**用于:** 粒子效果、情绪表达、焦虑转化等 + +### 使用语言分析系统 (LanguageAnalysisManager) + +```yarn +title: UseLanguageAnalysis +--- +<> +<> +=== +``` + +**用于:** 记忆解密、语言解谜、频率调谐等 + +## 📂 文件组织 + +``` +Assets/Scripts/MiniGame/HuoShan/Language/ +├── ExpressionManager.cs # 表达系统管理器 +├── LanguageParticleManager.cs # 粒子系统 +├── LanguageYarnCommand.cs # 表达系统 Yarn 命令 +│ +├── LanguageAnalysis/ # 语言分析系统文件夹 +│ ├── LanguageAnalysisManager.cs # ✅ 主管理器 +│ ├── LanguageAnalysisYarnCommands.cs # ✅ Yarn 状态切换命令 +│ ├── README.md # 系统说明 +│ ├── SETUP_GUIDE.md # 设置指南 +│ └── QUICK_REFERENCE.md # 快速参考 +│ +└── MemoryDecryptor/ # 记忆解密器子系统 + ├── MemoryDecryptorMode.cs # ✅ 核心逻辑(属于 LanguageAnalysis) + ├── MemoryDecryptorRenderer.cs # 渲染器 + ├── MemoryDecryptorInputHandler.cs # 输入处理 + ├── MemoryDecryptorYarnCommands.cs # ✅ 解密器命令(调用 LanguageAnalysisManager) + ├── MemoryDecryptorData.cs # 数据结构 + └── MemoryDecryptorConfigExample.cs # 配置示例 +``` + +## 🚀 完整使用流程 + +### 语言分析系统(你应该使用的) + +```yarn +title: Start +--- +准备进入语言分析系统... + +// 1. 进入语言分析状态(完整的状态机切换) +<> + +// 2. 启动记忆解密器 +<> + +提示:调整频率到 90Hz,移动解码器条... +=== + +title: GameSuccess +--- +🎉 成功解密! +<> +<> +=== + +title: GameSuccess_Fail +--- +再试试... +=== +``` + +## 🎯 Yarn 命令完整列表 + +### 语言分析系统命令 + +| 命令 | 功能 | 调用对象 | +|------|------|----------| +| `<>` | 进入语言分析状态 | LanguageAnalysisYarnCommands | +| `<>` | 退出语言分析状态 | LanguageAnalysisYarnCommands | +| `<>` | 启动解密器 | MemoryDecryptorYarnCommands → LanguageAnalysisManager | +| `<>` | 开始过滤 | MemoryDecryptorYarnCommands → LanguageAnalysisManager | +| `<>` | 设置频率 | MemoryDecryptorYarnCommands → LanguageAnalysisManager | +| `<>` | 检查匹配 | MemoryDecryptorYarnCommands → LanguageAnalysisManager | +| `<>` | 停止解密器 | MemoryDecryptorYarnCommands → LanguageAnalysisManager | + +### 表达系统命令(独立使用) + +| 命令 | 功能 | +|------|------| +| `<>` | 打开表达视图 | +| `<>` | 启动粒子系统 | +| `<>` | 关闭表达系统 | +| `<>` | 重置表达系统 | + +## 🏗️ 场景设置 + +### 方式 A:完整集成(推荐) + +``` +Hierarchy: +├── FixSystemCenter +│ └── LanguageAnalysisManager # ✅ 语言分析系统 +│ ├── Language Analysis View +│ │ ├── Canvas (UI) +│ │ └── MemoryDecryptorMode # 记忆解密器 +│ │ ├── MemoryDecryptorRenderer +│ │ └── MemoryDecryptorInputHandler +│ ├── Language Analysis Camera +│ └── Language Analysis Deep Camera +│ +└── ExpressionManager # 表达系统(独立) + └── LanguageParticleManager +``` + +### 方式 B:快速测试 + +``` +Hierarchy: +└── LanguageAnalysisManager (只测试语言分析) + └── ... (同上) +``` + +## 📝 快速开始 + +### 1. 最简设置 + +1. 创建 `LanguageAnalysisManager` 对象 +2. 添加 UI 和相机 +3. 添加 `MemoryDecryptorMode` 子组件(不需要设置 Config) +4. 连接 UI 引用 + +### 2. 测试 Yarn + +```yarn +<> +<> +``` + +### 3. 操作界面 + +- 点击"启动过滤分析" +- 调整频率到 90Hz +- 拖动解码器条到 (3, 5) +- 点击"验证对齐" +- 成功! + +## ⚠️ 重要提示 + +### ❌ 不要使用 + +以下命令已从 ExpressionManager 中移除: +- `<>` +- `<>` +- ExpressionManager 中的任何 MemoryDecryptor 方法 + +### ✅ 应该使用 + +**语言分析系统:** +- `<>` - 进入 +- `<>` - 解密器命令 +- `<>` - 退出 + +**表达系统:** +- `<>` +- `<>` +- `<>` + +## 🎉 系统优势 + +### 清晰的职责划分 + +- **ExpressionManager** → 专注于粒子表达 +- **LanguageAnalysisManager** → 专注于语言解密 + +### 独立的状态管理 + +- 通过 FixStateMachine 统一管理 +- 每个系统有独立的 FixState +- 符合项目整体架构 + +### 易于测试 + +- 可以单独进入 LanguageAnalysis 状态 +- 不影响其他系统 +- 完整的生命周期管理 + +## 🔧 文档索引 + +### 语言分析系统(你要用的) +- 快速参考: `LanguageAnalysis/QUICK_REFERENCE.md` +- 设置指南: `LanguageAnalysis/SETUP_GUIDE.md` +- 系统说明: `LanguageAnalysis/README.md` +- 测试对话: `LanguageAnalysis/TestLanguageAnalysis.yarn` + +### 记忆解密器(子系统) +- 详细文档: `MemoryDecryptor/README.md` +- 快速入门: `MemoryDecryptor/QUICKSTART.md` +- 自动配置: `MemoryDecryptor/AUTO_CONFIG_FEATURE.md` + +### 表达系统(独立系统) +- 使用说明: `LanguageParticleSystem_Summary.md` +- Yarn 命令: `LanguageYarnCommand.cs` + +--- + +## 🎯 记住 + +**使用语言分析系统时:** +1. 先 `<>` 进入状态 +2. 再使用记忆解密器命令 +3. 最后 `<>` 退出 + +**不要混用两个系统!它们是独立的!** + +--- + +**📖 开始使用:** 查看 `LanguageAnalysis/QUICK_REFERENCE.md` +**🚀 快速测试:** 导入 `LanguageAnalysis/TestLanguageAnalysis.yarn` + diff --git a/Assets/Scripts/MiniGame/HuoShan/Language/SYSTEM_ARCHITECTURE.md.meta b/Assets/Scripts/MiniGame/HuoShan/Language/SYSTEM_ARCHITECTURE.md.meta new file mode 100644 index 000000000..29ba8c38e --- /dev/null +++ b/Assets/Scripts/MiniGame/HuoShan/Language/SYSTEM_ARCHITECTURE.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8b3bdb375afe3e24a9cb04cc84afc977 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/WebPrototype/index.html b/WebPrototype/index.html new file mode 100644 index 000000000..ab8af2bd5 --- /dev/null +++ b/WebPrototype/index.html @@ -0,0 +1,1526 @@ + + + + + + ROBOT REPAIR: MEMORY DECRYPTOR V2 + + + + + + + +
+
+ + +
+
+
SYSTEM HALTED
+ +
+ +
+ +
+
MEM-DEC SYSTEM V3.2 [WAITING_FOR_USER]
+
TARGET: JOKE_MODULE_DUMP
+
+ +
+ +
+ + +
+ +
+ + +
+
+ 00.0 Hz +
+ +
+ + +
+
+
+
+ JOY + SAD + ANG + FEAR +
+
+ +
+ + +
+ +
+ > WAITING FOR MANUAL START... +
+
+
+
+ + + + diff --git a/step2_10.html b/step2_10.html new file mode 100644 index 000000000..25cc0ea57 --- /dev/null +++ b/step2_10.html @@ -0,0 +1,704 @@ + + + + + 情绪数据析出终端 V7 - 混合重构版 + + + + + +
+
+ SYSTEM_STATUS: STANDBY +
+ +
+ + +
+ + +
+ SIGNAL MONITOR +
+
+ +
+
+ + +
+
FREQUENCY 00
+
NOISE_LVL 00
+
AMPLITUDE 00
+
+ + +
+ PRECIPITATE BUFFER +
+
+
+
+ 0 / 5 FRAGMENTS +
+
+ + +
+ + + +
HIGH AROUSAL
+
LOW AROUSAL
+
NEG
+
POS
+
+ +
+ + +
+
+
FREQUENCY 0
+ +
+
+
NOISE LEVEL 0
+ +
+
+
AMPLITUDE 0
+ +
+ + +
+ + + + + + + + diff --git a/step2_14.html b/step2_14.html new file mode 100644 index 000000000..0a529b752 --- /dev/null +++ b/step2_14.html @@ -0,0 +1,878 @@ + + + + + 情绪数据析出终端 V10 - 终极形态 + + + + + +
+
+
SYSTEM STATUS
+
STANDBY
+
+ +
+ + +
+ + +
+
SIGNAL WAVEFORM
+
+
+ +
+
+ + +
+
RESONANCE METRICS
+
FREQUENCY 00
+
NOISE_LVL 00
+
AMPLITUDE 00
+
+ + +
+
+ ANALYSIS & MODULATION +
+ + +
+
+
+
+
0 / 5 FRAGMENTS
+
+ + +
+ AWAITING DATA +
+ + +
+
+ +
HIGH AROUSAL
+
LOW AROUSAL
+
NEG
+
POS
+
+ + +
REAGENT INJECTION
+
+ + + + +
+ + +
+ +
+
+ + +
+
+
FREQUENCY 0
+ +
+
+
NOISE_LVL 0
+ +
+
+
AMPLITUDE 0
+ +
+ + +
+ + + + + + + +