diff --git a/Assets/000_assets/material/M_SquareFrame 1.mat b/Assets/000_assets/material/M_SquareFrame 1.mat
index 86dc28ec..01ae4876 100644
--- a/Assets/000_assets/material/M_SquareFrame 1.mat
+++ b/Assets/000_assets/material/M_SquareFrame 1.mat
@@ -213,7 +213,7 @@ Material:
- _Dst: 10
- _DstBlend: 0
- _DstBlendAlpha: 0
- - _EdgeValue: 0.5578781
+ - _EdgeValue: 0.99275833
- _EnvironmentReflections: 1
- _FNLfanxiangkaiguan: 0
- _Face: 1
@@ -258,7 +258,7 @@ Material:
- _Mask_scale: 1
- _Metallic: 0
- _OcclusionStrength: 1
- - _Opacity: 0.44212192
+ - _Opacity: 0.0072416663
- _Parallax: 0.005
- _Pass: 0
- _QueueOffset: 0
diff --git a/Assets/000_assets/material/Rain_wave.mat b/Assets/000_assets/material/Rain_wave.mat
index b129ddf8..a9a3a782 100644
--- a/Assets/000_assets/material/Rain_wave.mat
+++ b/Assets/000_assets/material/Rain_wave.mat
@@ -21,7 +21,6 @@ Material:
- _CIRCLE_ON_ON
- _CUSTOMDATA
- _CUSTOMDATADIS_ON
- - _CUSTOMDATA_OFF
- _DISSOLVEAR_ON
- _DISSOLVEPLUSTEXAR_ON
- _DISSOLVEPLUSTEXUVCLIP_ON
@@ -336,8 +335,8 @@ Material:
- _BaseMapFoldOut: 0
- _BaseMapUVRotation: 0
- _BaseMapUVRotationSpeed: 0
- - _BaseOptionBigBlockItemFoldOut: 0
- - _BigBlockModeSettingFoldOut: 0
+ - _BaseOptionBigBlockItemFoldOut: 1
+ - _BigBlockModeSettingFoldOut: 1
- _Blend: 0
- _BlendMode: 0
- _BlendModePreserveSpecular: 1
@@ -374,7 +373,7 @@ Material:
- _Contrast: 1
- _ContrastFoldOut: 0
- _Contrast_Toggle: 0
- - _Cull: 2
+ - _Cull: 0
- _CullMode: 0
- _Cullmode: 0
- _CustomData: 1
diff --git a/Assets/AddressableAssetsData/AddressableAssetSettings.asset b/Assets/AddressableAssetsData/AddressableAssetSettings.asset
index af051aac..424140ee 100644
--- a/Assets/AddressableAssetsData/AddressableAssetSettings.asset
+++ b/Assets/AddressableAssetsData/AddressableAssetSettings.asset
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:61471a34a91e7effc6f2db9f3e9aaf4f4bad5f5175dd529068178c642ad8fcd8
-size 4843
+oid sha256:b538de6207ff76d76e808f192acbbb38dadbe529a099f1bd7f0a566a0d69c8c0
+size 5132
diff --git a/Assets/AddressableAssetsData/Android/addressables_content_state.bin b/Assets/AddressableAssetsData/Android/addressables_content_state.bin
index 625c3b8d..bacf069c 100644
Binary files a/Assets/AddressableAssetsData/Android/addressables_content_state.bin and b/Assets/AddressableAssetsData/Android/addressables_content_state.bin differ
diff --git a/Assets/AddressableAssetsData/Windows.meta b/Assets/AddressableAssetsData/Windows.meta
new file mode 100644
index 00000000..f2af4b08
--- /dev/null
+++ b/Assets/AddressableAssetsData/Windows.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0116a7bc799e0ef48b8adfaffa13c043
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/AddressableAssetsData/Windows/addressables_content_state.bin b/Assets/AddressableAssetsData/Windows/addressables_content_state.bin
new file mode 100644
index 00000000..697ac950
Binary files /dev/null and b/Assets/AddressableAssetsData/Windows/addressables_content_state.bin differ
diff --git a/Assets/AddressableAssetsData/Windows/addressables_content_state.bin.meta b/Assets/AddressableAssetsData/Windows/addressables_content_state.bin.meta
new file mode 100644
index 00000000..f00c1eb2
--- /dev/null
+++ b/Assets/AddressableAssetsData/Windows/addressables_content_state.bin.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 039e11588f40d8c4b83e546855d509fc
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/AddressableAssetsData/link.xml b/Assets/AddressableAssetsData/link.xml
new file mode 100644
index 00000000..d011ce72
--- /dev/null
+++ b/Assets/AddressableAssetsData/link.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/AddressableAssetsData/link.xml.meta b/Assets/AddressableAssetsData/link.xml.meta
new file mode 100644
index 00000000..4309a15e
--- /dev/null
+++ b/Assets/AddressableAssetsData/link.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 5f22cc995c7cc9348ba8e089a0f4193c
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/FR2_Cache.asset b/Assets/FR2_Cache.asset
index 7179470a..cd89ba72 100644
--- a/Assets/FR2_Cache.asset
+++ b/Assets/FR2_Cache.asset
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:b359099b033971eef02329b388e932dcb183b53e1d369d2a274fbdd8ec33eda2
-size 8774819
+oid sha256:c1dfd5b63899b3b8b9fdc3fc7cee8973b9c02ee5ce5f209810d137f7e521c99b
+size 8781063
diff --git a/Assets/Prefabs/Menu/UI Elements/MessageBox.prefab b/Assets/Prefabs/Menu/UI Elements/MessageBox.prefab
new file mode 100644
index 00000000..f6d31f2d
--- /dev/null
+++ b/Assets/Prefabs/Menu/UI Elements/MessageBox.prefab
@@ -0,0 +1,1905 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &32523619574183541
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2361751624502787828}
+ - component: {fileID: 9097065954335502373}
+ - component: {fileID: 1702487025405442547}
+ m_Layer: 5
+ m_Name: Center
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2361751624502787828
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 32523619574183541}
+ 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: 2287054332031316397}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 15, y: 15}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &9097065954335502373
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 32523619574183541}
+ m_CullTransparentMesh: 1
+--- !u!114 &1702487025405442547
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 32523619574183541}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 9150d7e95bbb6664f9003b200188f544, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &417877331065873500
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5981192211436463129}
+ - component: {fileID: 712920107639661611}
+ - component: {fileID: 5905547178700153301}
+ m_Layer: 5
+ m_Name: Image (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &5981192211436463129
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 417877331065873500}
+ 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: 8252400154771594650}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 5, y: 25}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &712920107639661611
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 417877331065873500}
+ m_CullTransparentMesh: 1
+--- !u!114 &5905547178700153301
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 417877331065873500}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &479159978308892973
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3927399620488677944}
+ - component: {fileID: 3612615228284925712}
+ - component: {fileID: 5894868806852427129}
+ m_Layer: 5
+ m_Name: LowerLine
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &3927399620488677944
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 479159978308892973}
+ 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: 6584295939454788517}
+ m_Father: {fileID: 2287054332031316397}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: -10}
+ m_SizeDelta: {x: 5, y: -20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3612615228284925712
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 479159978308892973}
+ m_CullTransparentMesh: 1
+--- !u!114 &5894868806852427129
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 479159978308892973}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.5019608}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &642600949649124024
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1389963857239214525}
+ - component: {fileID: 6234276025557190273}
+ - component: {fileID: 9024159893570490983}
+ m_Layer: 5
+ m_Name: Image (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1389963857239214525
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 642600949649124024}
+ 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: 6880368853193399865}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 5, y: 25}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &6234276025557190273
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 642600949649124024}
+ m_CullTransparentMesh: 1
+--- !u!114 &9024159893570490983
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 642600949649124024}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &673203476300151464
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1452488012018718638}
+ - component: {fileID: 582937487143358942}
+ - component: {fileID: 125876902069116190}
+ - component: {fileID: 1257323203565041051}
+ - component: {fileID: 4340772145404139184}
+ m_Layer: 5
+ m_Name: Receive
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1452488012018718638
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 673203476300151464}
+ 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: 2419101803835352228}
+ 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 &582937487143358942
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 673203476300151464}
+ m_CullTransparentMesh: 0
+--- !u!114 &125876902069116190
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 673203476300151464}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0, g: 0, b: 0, a: 0}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 5
+--- !u!114 &1257323203565041051
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 673203476300151464}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 1
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!114 &4340772145404139184
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 673203476300151464}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 0
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 125876902069116190}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!1 &835275696030724801
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 890357783143957760}
+ - component: {fileID: 836901309383968070}
+ - component: {fileID: 6801660348359943256}
+ m_Layer: 5
+ m_Name: LeftBorder
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &890357783143957760
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 835275696030724801}
+ 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: 7939648763793793115}
+ - {fileID: 8252400154771594650}
+ - {fileID: 2774747544738915739}
+ m_Father: {fileID: 1035756863194169128}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 20, y: 0}
+ m_SizeDelta: {x: 15, y: -100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &836901309383968070
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 835275696030724801}
+ m_CullTransparentMesh: 1
+--- !u!225 &6801660348359943256
+CanvasGroup:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 835275696030724801}
+ m_Enabled: 1
+ m_Alpha: 1
+ m_Interactable: 1
+ m_BlocksRaycasts: 1
+ m_IgnoreParentGroups: 0
+--- !u!1 &870234724607459708
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 194924069772669109}
+ - component: {fileID: 3600047620829047967}
+ - component: {fileID: 1729416296423356888}
+ m_Layer: 5
+ m_Name: Image (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &194924069772669109
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 870234724607459708}
+ 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: 2774747544738915739}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 5, y: 25}
+ m_Pivot: {x: 0.5, y: 0}
+--- !u!222 &3600047620829047967
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 870234724607459708}
+ m_CullTransparentMesh: 1
+--- !u!114 &1729416296423356888
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 870234724607459708}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &1162798629172727330
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1238328445874784691}
+ - component: {fileID: 1383396087046751475}
+ - component: {fileID: 736949855054370392}
+ - component: {fileID: 1298824838980674848}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1238328445874784691
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1162798629172727330}
+ 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: 8562841871665862083}
+ 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 &1383396087046751475
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1162798629172727330}
+ m_CullTransparentMesh: 0
+--- !u!114 &736949855054370392
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1162798629172727330}
+ 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: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 49526de8ef0d7374696f0e4fd4533142, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 6
+--- !u!114 &1298824838980674848
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1162798629172727330}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 1
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!1 &1820066473841274800
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7939648763793793115}
+ - component: {fileID: 531681830729732925}
+ - component: {fileID: 5400986006039484309}
+ m_Layer: 5
+ m_Name: Center
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7939648763793793115
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1820066473841274800}
+ 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: 890357783143957760}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 15, y: 15}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &531681830729732925
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1820066473841274800}
+ m_CullTransparentMesh: 1
+--- !u!114 &5400986006039484309
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1820066473841274800}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 9150d7e95bbb6664f9003b200188f544, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &1971181368752748135
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8652781603266084225}
+ - component: {fileID: 2196133923270179751}
+ m_Layer: 5
+ m_Name: Title Bar
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8652781603266084225
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1971181368752748135}
+ 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: 5903452253276905602}
+ m_Father: {fileID: 8562841871665862083}
+ 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: 45}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2196133923270179751
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1971181368752748135}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RectMask2D
+ m_Padding: {x: 600, y: 0, z: 600, w: 0}
+ m_Softness: {x: 0, y: 0}
+--- !u!1 &2296829718953005465
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7722572132670360033}
+ - component: {fileID: 3515514442489995163}
+ - component: {fileID: 6938669434854681663}
+ - component: {fileID: 7098822809600949687}
+ - component: {fileID: 5305059200039270500}
+ - component: {fileID: 7541797963843127341}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7722572132670360033
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2296829718953005465}
+ 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: 5697961961249001711}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &3515514442489995163
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2296829718953005465}
+ m_CullTransparentMesh: 0
+--- !u!114 &6938669434854681663
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2296829718953005465}
+ 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: 'Size of this window will change based on the size of its content.
+
+ You
+ can even replace this text area with different objects and the modal will resize
+ appropriately.'
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2}
+ m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb,
+ type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 30
+ m_fontSizeBase: 30
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 30
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_characterHorizontalScale: 1
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_TextWrappingMode: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_ActiveFontFeatures: 6e72656b
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_EmojiFallbackSupport: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 1
+ 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!114 &7098822809600949687
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2296829718953005465}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: 300
+ m_MinHeight: -1
+ m_PreferredWidth: 1200
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!114 &5305059200039270500
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2296829718953005465}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 344445a89b4f74a0e9a0a766903df87e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ mTerm:
+ mTermSecondary:
+ PrimaryTermModifier: 0
+ SecondaryTermModifier: 0
+ TermPrefix:
+ TermSuffix:
+ LocalizeOnAwake: 1
+ IgnoreRTL: 0
+ MaxCharactersInRTL: 0
+ IgnoreNumbersInRTL: 1
+ CorrectAlignmentForRTL: 1
+ AddSpacesToJoinedLanguages: 0
+ AllowLocalizedParameters: 1
+ AllowParameters: 1
+ TranslatedObjects: []
+ LocalizeEvent:
+ m_PersistentCalls:
+ m_Calls: []
+ AlwaysForceLocalize: 0
+ LocalizeCallBack:
+ Target: {fileID: 0}
+ MethodName:
+ mGUI_ShowReferences: 0
+ mGUI_ShowTems: 1
+ mGUI_ShowCallback: 0
+ mLocalizeTarget: {fileID: 0}
+ mLocalizeTargetName: I2.Loc.LocalizeTarget_TextMeshPro_UGUI
+--- !u!114 &7541797963843127341
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2296829718953005465}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: c9586cfd190ca384a8dd72aa92c86152, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _Params: []
+ _IsGlobalManager: 0
+--- !u!1 &3156860029034215270
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6584295939454788517}
+ - component: {fileID: 5186966518260292751}
+ - component: {fileID: 6194271566268500731}
+ m_Layer: 5
+ m_Name: Image (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &6584295939454788517
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3156860029034215270}
+ 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: 3927399620488677944}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 5, y: 25}
+ m_Pivot: {x: 0.5, y: 0}
+--- !u!222 &5186966518260292751
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3156860029034215270}
+ m_CullTransparentMesh: 1
+--- !u!114 &6194271566268500731
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3156860029034215270}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &3498927742844017413
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8252400154771594650}
+ - component: {fileID: 8989261638876285819}
+ - component: {fileID: 1968712774466797035}
+ m_Layer: 5
+ m_Name: UpperLine
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8252400154771594650
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3498927742844017413}
+ 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: 5981192211436463129}
+ m_Father: {fileID: 890357783143957760}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 7.4999924}
+ m_SizeDelta: {x: 5, y: -15.000015}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8989261638876285819
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3498927742844017413}
+ m_CullTransparentMesh: 1
+--- !u!114 &1968712774466797035
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3498927742844017413}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.5019608}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &3675369783889298936
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5697961961249001711}
+ - component: {fileID: 5520089897391837741}
+ - component: {fileID: 60517502399434884}
+ - component: {fileID: 645452302433639569}
+ m_Layer: 5
+ m_Name: Content
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &5697961961249001711
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3675369783889298936}
+ 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: 7722572132670360033}
+ m_Father: {fileID: 8562841871665862083}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 560, y: -139.405}
+ m_SizeDelta: {x: 1040, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &5520089897391837741
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3675369783889298936}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 15
+ m_Right: 15
+ m_Top: 10
+ m_Bottom: 10
+ m_ChildAlignment: 4
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!114 &60517502399434884
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3675369783889298936}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 0
+ m_VerticalFit: 2
+--- !u!114 &645452302433639569
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3675369783889298936}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RectMask2D
+ m_Padding: {x: 600, y: 0, z: 600, w: 0}
+ m_Softness: {x: 0, y: 0}
+--- !u!1 &5488095296299003890
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2774747544738915739}
+ - component: {fileID: 5776072488103564763}
+ - component: {fileID: 2010894357942419224}
+ m_Layer: 5
+ m_Name: LowerLine
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2774747544738915739
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5488095296299003890}
+ 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: 194924069772669109}
+ m_Father: {fileID: 890357783143957760}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: -10}
+ m_SizeDelta: {x: 5, y: -20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5776072488103564763
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5488095296299003890}
+ m_CullTransparentMesh: 1
+--- !u!114 &2010894357942419224
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5488095296299003890}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.5019608}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &5688393872354555328
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8562841871665862083}
+ - component: {fileID: 4299398149853853910}
+ - component: {fileID: 5913566701095481369}
+ - component: {fileID: 2388132878484210377}
+ - component: {fileID: 7033960225832128156}
+ m_Layer: 5
+ m_Name: MessageBox
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8562841871665862083
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5688393872354555328}
+ 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: 1238328445874784691}
+ - {fileID: 8652781603266084225}
+ - {fileID: 5697961961249001711}
+ m_Father: {fileID: 1035756863194169128}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 1120, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4299398149853853910
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5688393872354555328}
+ m_CullTransparentMesh: 0
+--- !u!114 &5913566701095481369
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5688393872354555328}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 40
+ m_Right: 40
+ m_Top: 20
+ m_Bottom: 20
+ m_ChildAlignment: 0
+ m_Spacing: 10
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 0
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!114 &2388132878484210377
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5688393872354555328}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 0
+ m_VerticalFit: 2
+--- !u!114 &7033960225832128156
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5688393872354555328}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d4f4ae5cbba538d449b15cffc97daa7d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ fixOnEnable: 1
+ fixWithDelay: 1
+--- !u!1 &6149756345433013837
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1035756863194169128}
+ m_Layer: 5
+ m_Name: Root
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1035756863194169128
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6149756345433013837}
+ 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: 8562841871665862083}
+ - {fileID: 890357783143957760}
+ - {fileID: 2287054332031316397}
+ m_Father: {fileID: 2419101803835352228}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 1200, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &6197472886936748067
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2287054332031316397}
+ - component: {fileID: 7647570577561390676}
+ - component: {fileID: 458994891511582988}
+ m_Layer: 5
+ m_Name: RightBorder
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2287054332031316397
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6197472886936748067}
+ 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: 2361751624502787828}
+ - {fileID: 6880368853193399865}
+ - {fileID: 3927399620488677944}
+ m_Father: {fileID: 1035756863194169128}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -20, y: 0}
+ m_SizeDelta: {x: 15, y: -100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7647570577561390676
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6197472886936748067}
+ m_CullTransparentMesh: 1
+--- !u!225 &458994891511582988
+CanvasGroup:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6197472886936748067}
+ m_Enabled: 1
+ m_Alpha: 1
+ m_Interactable: 1
+ m_BlocksRaycasts: 1
+ m_IgnoreParentGroups: 0
+--- !u!1 &6266098274982129817
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5903452253276905602}
+ - component: {fileID: 1313826623500609340}
+ - component: {fileID: 6761781486796546023}
+ - component: {fileID: 2203521228157547400}
+ m_Layer: 5
+ m_Name: Title
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &5903452253276905602
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6266098274982129817}
+ 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: 8652781603266084225}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.5}
+ m_AnchorMax: {x: 1, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 45}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &1313826623500609340
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6266098274982129817}
+ m_CullTransparentMesh: 0
+--- !u!114 &6761781486796546023
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6266098274982129817}
+ 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: Message
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2}
+ m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb,
+ type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ 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_characterHorizontalScale: 1
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_TextWrappingMode: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_ActiveFontFeatures: 6e72656b
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_EmojiFallbackSupport: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 1
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 1}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!114 &2203521228157547400
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6266098274982129817}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 344445a89b4f74a0e9a0a766903df87e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ mTerm:
+ mTermSecondary:
+ PrimaryTermModifier: 0
+ SecondaryTermModifier: 0
+ TermPrefix:
+ TermSuffix:
+ LocalizeOnAwake: 1
+ IgnoreRTL: 0
+ MaxCharactersInRTL: 0
+ IgnoreNumbersInRTL: 1
+ CorrectAlignmentForRTL: 1
+ AddSpacesToJoinedLanguages: 0
+ AllowLocalizedParameters: 1
+ AllowParameters: 1
+ TranslatedObjects: []
+ LocalizeEvent:
+ m_PersistentCalls:
+ m_Calls: []
+ AlwaysForceLocalize: 0
+ LocalizeCallBack:
+ Target: {fileID: 0}
+ MethodName:
+ mGUI_ShowReferences: 0
+ mGUI_ShowTems: 1
+ mGUI_ShowCallback: 0
+ mLocalizeTarget: {fileID: 0}
+ mLocalizeTargetName: I2.Loc.LocalizeTarget_TextMeshPro_UGUI
+--- !u!1 &6532009276675811406
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2419101803835352228}
+ - component: {fileID: 7281307023078711775}
+ - component: {fileID: 8574893005057652156}
+ - component: {fileID: 4600504794659689328}
+ m_Layer: 5
+ m_Name: MessageBox
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2419101803835352228
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6532009276675811406}
+ 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: 1035756863194169128}
+ - {fileID: 1452488012018718638}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 1200, y: 308.81}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7281307023078711775
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6532009276675811406}
+ m_CullTransparentMesh: 0
+--- !u!225 &8574893005057652156
+CanvasGroup:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6532009276675811406}
+ m_Enabled: 1
+ m_Alpha: 1
+ m_Interactable: 1
+ m_BlocksRaycasts: 1
+ m_IgnoreParentGroups: 0
+--- !u!114 &4600504794659689328
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6532009276675811406}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 464526859792bdc4e8f53386f07a4cb3, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ serializationData:
+ SerializedFormat: 0
+ SerializedBytes: 2d010500000069006e0066006f0073002d010b000000660061006400650054007700650065006e0065007200
+ ReferencedUnityObjects: []
+ SerializedBytesString:
+ Prefab: {fileID: 0}
+ PrefabModificationsReferencedUnityObjects: []
+ PrefabModifications: []
+ SerializationNodes: []
+ canvasGroup: {fileID: 8574893005057652156}
+ onAllMessagesClosed:
+ m_PersistentCalls:
+ m_Calls: []
+ infoIndex: 0
+ titleText: {fileID: 6761781486796546023}
+ contentText: {fileID: 6938669434854681663}
+ receiveButton: {fileID: 4340772145404139184}
+ messageBody: {fileID: 8562841871665862083}
+ backgroundVisual: {fileID: 1238328445874784691}
+ titleTextMask: {fileID: 2196133923270179751}
+ contentLayoutRoot: {fileID: 5697961961249001711}
+ contentTextMask: {fileID: 645452302433639569}
+ railRoot: {fileID: 1035756863194169128}
+ leftRail: {fileID: 890357783143957760}
+ rightRail: {fileID: 2287054332031316397}
+ maximumBodyHeight: 600
+ minimumContentFontSize: 18
+ bodyOpenDelay: 0.1
+ bodyOpenDuration: 0.5
+ railOpenDuration: 0.5
+ railOpenDelay: 0
+ bodyCloseDuration: 0.5
+ bodyCloseDelay: 0
+ railCloseDuration: 0.5
+ railCloseDelay: 0.1
+ finalFadeDuration: 0.1
+ bodyEase: 6
+ railEase: 12
+--- !u!1 &8363676779123625864
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6880368853193399865}
+ - component: {fileID: 6040700123476775356}
+ - component: {fileID: 6800068943413043080}
+ m_Layer: 5
+ m_Name: UpperLine
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &6880368853193399865
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8363676779123625864}
+ 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: 1389963857239214525}
+ m_Father: {fileID: 2287054332031316397}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 7.4999924}
+ m_SizeDelta: {x: 5, y: -15.000015}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6040700123476775356
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8363676779123625864}
+ m_CullTransparentMesh: 1
+--- !u!114 &6800068943413043080
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8363676779123625864}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.5019608}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
diff --git a/Assets/Prefabs/MessageBox.prefab.meta b/Assets/Prefabs/Menu/UI Elements/MessageBox.prefab.meta
similarity index 100%
rename from Assets/Prefabs/MessageBox.prefab.meta
rename to Assets/Prefabs/Menu/UI Elements/MessageBox.prefab.meta
diff --git a/Assets/Prefabs/Menu/UI Elements/SelectionBox.prefab b/Assets/Prefabs/Menu/UI Elements/SelectionBox.prefab
new file mode 100644
index 00000000..835f798f
--- /dev/null
+++ b/Assets/Prefabs/Menu/UI Elements/SelectionBox.prefab
@@ -0,0 +1,1848 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &32523619574183541
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2361751624502787828}
+ - component: {fileID: 9097065954335502373}
+ - component: {fileID: 1702487025405442547}
+ m_Layer: 5
+ m_Name: Center
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2361751624502787828
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 32523619574183541}
+ 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: 2287054332031316397}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 15, y: 15}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &9097065954335502373
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 32523619574183541}
+ m_CullTransparentMesh: 1
+--- !u!114 &1702487025405442547
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 32523619574183541}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 9150d7e95bbb6664f9003b200188f544, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &417877331065873500
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5981192211436463129}
+ - component: {fileID: 712920107639661611}
+ - component: {fileID: 5905547178700153301}
+ m_Layer: 5
+ m_Name: Image (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &5981192211436463129
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 417877331065873500}
+ 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: 8252400154771594650}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 5, y: 25}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &712920107639661611
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 417877331065873500}
+ m_CullTransparentMesh: 1
+--- !u!114 &5905547178700153301
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 417877331065873500}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &479159978308892973
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3927399620488677944}
+ - component: {fileID: 3612615228284925712}
+ - component: {fileID: 5894868806852427129}
+ m_Layer: 5
+ m_Name: LowerLine
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &3927399620488677944
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 479159978308892973}
+ 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: 6584295939454788517}
+ m_Father: {fileID: 2287054332031316397}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: -10}
+ m_SizeDelta: {x: 5, y: -20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &3612615228284925712
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 479159978308892973}
+ m_CullTransparentMesh: 1
+--- !u!114 &5894868806852427129
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 479159978308892973}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.5019608}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &642600949649124024
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1389963857239214525}
+ - component: {fileID: 6234276025557190273}
+ - component: {fileID: 9024159893570490983}
+ m_Layer: 5
+ m_Name: Image (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1389963857239214525
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 642600949649124024}
+ 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: 6880368853193399865}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 1}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 5, y: 25}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!222 &6234276025557190273
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 642600949649124024}
+ m_CullTransparentMesh: 1
+--- !u!114 &9024159893570490983
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 642600949649124024}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &835275696030724801
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 890357783143957760}
+ - component: {fileID: 836901309383968070}
+ - component: {fileID: 6801660348359943256}
+ m_Layer: 5
+ m_Name: LeftBorder
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &890357783143957760
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 835275696030724801}
+ 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: 7939648763793793115}
+ - {fileID: 8252400154771594650}
+ - {fileID: 2774747544738915739}
+ m_Father: {fileID: 1035756863194169128}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 20, y: 0}
+ m_SizeDelta: {x: 15, y: -100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &836901309383968070
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 835275696030724801}
+ m_CullTransparentMesh: 1
+--- !u!225 &6801660348359943256
+CanvasGroup:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 835275696030724801}
+ m_Enabled: 1
+ m_Alpha: 1
+ m_Interactable: 1
+ m_BlocksRaycasts: 1
+ m_IgnoreParentGroups: 0
+--- !u!1 &870234724607459708
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 194924069772669109}
+ - component: {fileID: 3600047620829047967}
+ - component: {fileID: 1729416296423356888}
+ m_Layer: 5
+ m_Name: Image (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &194924069772669109
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 870234724607459708}
+ 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: 2774747544738915739}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 5, y: 25}
+ m_Pivot: {x: 0.5, y: 0}
+--- !u!222 &3600047620829047967
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 870234724607459708}
+ m_CullTransparentMesh: 1
+--- !u!114 &1729416296423356888
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 870234724607459708}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &1162798629172727330
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1238328445874784691}
+ - component: {fileID: 1383396087046751475}
+ - component: {fileID: 736949855054370392}
+ - component: {fileID: 1298824838980674848}
+ m_Layer: 5
+ m_Name: Background
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1238328445874784691
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1162798629172727330}
+ 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: 8562841871665862083}
+ 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 &1383396087046751475
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1162798629172727330}
+ m_CullTransparentMesh: 0
+--- !u!114 &736949855054370392
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1162798629172727330}
+ 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: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 49526de8ef0d7374696f0e4fd4533142, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 6
+--- !u!114 &1298824838980674848
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1162798629172727330}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 1
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!1 &1820066473841274800
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7939648763793793115}
+ - component: {fileID: 531681830729732925}
+ - component: {fileID: 5400986006039484309}
+ m_Layer: 5
+ m_Name: Center
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7939648763793793115
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1820066473841274800}
+ 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: 890357783143957760}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 15, y: 15}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &531681830729732925
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1820066473841274800}
+ m_CullTransparentMesh: 1
+--- !u!114 &5400986006039484309
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1820066473841274800}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 9150d7e95bbb6664f9003b200188f544, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &1971181368752748135
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8652781603266084225}
+ - component: {fileID: 2196133923270179751}
+ m_Layer: 5
+ m_Name: Title Bar
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8652781603266084225
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1971181368752748135}
+ 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: 5903452253276905602}
+ m_Father: {fileID: 8562841871665862083}
+ 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: 45}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &2196133923270179751
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1971181368752748135}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RectMask2D
+ m_Padding: {x: 600, y: 0, z: 600, w: 0}
+ m_Softness: {x: 0, y: 0}
+--- !u!1 &2296829718953005465
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7722572132670360033}
+ - component: {fileID: 3515514442489995163}
+ - component: {fileID: 6938669434854681663}
+ - component: {fileID: 7098822809600949687}
+ - component: {fileID: 5305059200039270500}
+ - component: {fileID: 7541797963843127341}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &7722572132670360033
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2296829718953005465}
+ 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: 5697961961249001711}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &3515514442489995163
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2296829718953005465}
+ m_CullTransparentMesh: 0
+--- !u!114 &6938669434854681663
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2296829718953005465}
+ 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: 'Size of this window will change based on the size of its content.
+
+ You
+ can even replace this text area with different objects and the modal will resize
+ appropriately.'
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2}
+ m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb,
+ type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 30
+ m_fontSizeBase: 30
+ m_fontWeight: 400
+ m_enableAutoSizing: 0
+ m_fontSizeMin: 18
+ m_fontSizeMax: 30
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_characterHorizontalScale: 1
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_TextWrappingMode: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_ActiveFontFeatures: 6e72656b
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_EmojiFallbackSupport: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 1
+ 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!114 &7098822809600949687
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2296829718953005465}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: 300
+ m_MinHeight: -1
+ m_PreferredWidth: 1200
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!114 &5305059200039270500
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2296829718953005465}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 344445a89b4f74a0e9a0a766903df87e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ mTerm:
+ mTermSecondary:
+ PrimaryTermModifier: 0
+ SecondaryTermModifier: 0
+ TermPrefix:
+ TermSuffix:
+ LocalizeOnAwake: 1
+ IgnoreRTL: 0
+ MaxCharactersInRTL: 0
+ IgnoreNumbersInRTL: 1
+ CorrectAlignmentForRTL: 1
+ AddSpacesToJoinedLanguages: 0
+ AllowLocalizedParameters: 1
+ AllowParameters: 1
+ TranslatedObjects: []
+ LocalizeEvent:
+ m_PersistentCalls:
+ m_Calls: []
+ AlwaysForceLocalize: 0
+ LocalizeCallBack:
+ Target: {fileID: 0}
+ MethodName:
+ mGUI_ShowReferences: 0
+ mGUI_ShowTems: 1
+ mGUI_ShowCallback: 0
+ mLocalizeTarget: {fileID: 0}
+ mLocalizeTargetName: I2.Loc.LocalizeTarget_TextMeshPro_UGUI
+--- !u!114 &7541797963843127341
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2296829718953005465}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: c9586cfd190ca384a8dd72aa92c86152, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _Params: []
+ _IsGlobalManager: 0
+--- !u!1 &3156860029034215270
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6584295939454788517}
+ - component: {fileID: 5186966518260292751}
+ - component: {fileID: 6194271566268500731}
+ m_Layer: 5
+ m_Name: Image (3)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &6584295939454788517
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3156860029034215270}
+ 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: 3927399620488677944}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 5, y: 25}
+ m_Pivot: {x: 0.5, y: 0}
+--- !u!222 &5186966518260292751
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3156860029034215270}
+ m_CullTransparentMesh: 1
+--- !u!114 &6194271566268500731
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3156860029034215270}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &3498927742844017413
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8252400154771594650}
+ - component: {fileID: 8989261638876285819}
+ - component: {fileID: 1968712774466797035}
+ m_Layer: 5
+ m_Name: UpperLine
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8252400154771594650
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3498927742844017413}
+ 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: 5981192211436463129}
+ m_Father: {fileID: 890357783143957760}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 7.4999924}
+ m_SizeDelta: {x: 5, y: -15.000015}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &8989261638876285819
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3498927742844017413}
+ m_CullTransparentMesh: 1
+--- !u!114 &1968712774466797035
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3498927742844017413}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.5019608}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &3675369783889298936
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5697961961249001711}
+ - component: {fileID: 5520089897391837741}
+ - component: {fileID: 60517502399434884}
+ - component: {fileID: 645452302433639569}
+ m_Layer: 5
+ m_Name: Content
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &5697961961249001711
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3675369783889298936}
+ 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: 7722572132670360033}
+ m_Father: {fileID: 8562841871665862083}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 560, y: -139.405}
+ m_SizeDelta: {x: 1040, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &5520089897391837741
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3675369783889298936}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 15
+ m_Right: 15
+ m_Top: 10
+ m_Bottom: 10
+ m_ChildAlignment: 4
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 1
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!114 &60517502399434884
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3675369783889298936}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 0
+ m_VerticalFit: 2
+--- !u!114 &645452302433639569
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3675369783889298936}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.RectMask2D
+ m_Padding: {x: 600, y: 0, z: 600, w: 0}
+ m_Softness: {x: 0, y: 0}
+--- !u!1 &5488095296299003890
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2774747544738915739}
+ - component: {fileID: 5776072488103564763}
+ - component: {fileID: 2010894357942419224}
+ m_Layer: 5
+ m_Name: LowerLine
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2774747544738915739
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5488095296299003890}
+ 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: 194924069772669109}
+ m_Father: {fileID: 890357783143957760}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: -10}
+ m_SizeDelta: {x: 5, y: -20}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &5776072488103564763
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5488095296299003890}
+ m_CullTransparentMesh: 1
+--- !u!114 &2010894357942419224
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5488095296299003890}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.5019608}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!1 &5688393872354555328
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8562841871665862083}
+ - component: {fileID: 4299398149853853910}
+ - component: {fileID: 5913566701095481369}
+ - component: {fileID: 2388132878484210377}
+ - component: {fileID: 7033960225832128156}
+ m_Layer: 5
+ m_Name: MessageBox
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &8562841871665862083
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5688393872354555328}
+ 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: 1238328445874784691}
+ - {fileID: 8652781603266084225}
+ - {fileID: 5697961961249001711}
+ m_Father: {fileID: 1035756863194169128}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 1120, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &4299398149853853910
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5688393872354555328}
+ m_CullTransparentMesh: 0
+--- !u!114 &5913566701095481369
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5688393872354555328}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 40
+ m_Right: 40
+ m_Top: 20
+ m_Bottom: 20
+ m_ChildAlignment: 0
+ m_Spacing: 10
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 0
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!114 &2388132878484210377
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5688393872354555328}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalFit: 0
+ m_VerticalFit: 2
+--- !u!114 &7033960225832128156
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5688393872354555328}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d4f4ae5cbba538d449b15cffc97daa7d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ fixOnEnable: 1
+ fixWithDelay: 1
+--- !u!1 &6149756345433013837
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1035756863194169128}
+ m_Layer: 5
+ m_Name: Root
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1035756863194169128
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6149756345433013837}
+ 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: 8562841871665862083}
+ - {fileID: 890357783143957760}
+ - {fileID: 2287054332031316397}
+ m_Father: {fileID: 2419101803835352228}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 1200, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &6197472886936748067
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2287054332031316397}
+ - component: {fileID: 7647570577561390676}
+ - component: {fileID: 458994891511582988}
+ m_Layer: 5
+ m_Name: RightBorder
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2287054332031316397
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6197472886936748067}
+ 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: 2361751624502787828}
+ - {fileID: 6880368853193399865}
+ - {fileID: 3927399620488677944}
+ m_Father: {fileID: 1035756863194169128}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: -20, y: 0}
+ m_SizeDelta: {x: 15, y: -100}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7647570577561390676
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6197472886936748067}
+ m_CullTransparentMesh: 1
+--- !u!225 &458994891511582988
+CanvasGroup:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6197472886936748067}
+ m_Enabled: 1
+ m_Alpha: 1
+ m_Interactable: 1
+ m_BlocksRaycasts: 1
+ m_IgnoreParentGroups: 0
+--- !u!1 &6266098274982129817
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5903452253276905602}
+ - component: {fileID: 1313826623500609340}
+ - component: {fileID: 6761781486796546023}
+ - component: {fileID: 2203521228157547400}
+ m_Layer: 5
+ m_Name: Title
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &5903452253276905602
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6266098274982129817}
+ 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: 8652781603266084225}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0.5}
+ m_AnchorMax: {x: 1, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 45}
+ m_Pivot: {x: 0, y: 0.5}
+--- !u!222 &1313826623500609340
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6266098274982129817}
+ m_CullTransparentMesh: 0
+--- !u!114 &6761781486796546023
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6266098274982129817}
+ 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: Message
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2}
+ m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb,
+ type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 36
+ m_fontSizeBase: 36
+ 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_characterHorizontalScale: 1
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_TextWrappingMode: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_ActiveFontFeatures: 6e72656b
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_EmojiFallbackSupport: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 1
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 1}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!114 &2203521228157547400
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6266098274982129817}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 344445a89b4f74a0e9a0a766903df87e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ mTerm:
+ mTermSecondary:
+ PrimaryTermModifier: 0
+ SecondaryTermModifier: 0
+ TermPrefix:
+ TermSuffix:
+ LocalizeOnAwake: 1
+ IgnoreRTL: 0
+ MaxCharactersInRTL: 0
+ IgnoreNumbersInRTL: 1
+ CorrectAlignmentForRTL: 1
+ AddSpacesToJoinedLanguages: 0
+ AllowLocalizedParameters: 1
+ AllowParameters: 1
+ TranslatedObjects: []
+ LocalizeEvent:
+ m_PersistentCalls:
+ m_Calls: []
+ AlwaysForceLocalize: 0
+ LocalizeCallBack:
+ Target: {fileID: 0}
+ MethodName:
+ mGUI_ShowReferences: 0
+ mGUI_ShowTems: 1
+ mGUI_ShowCallback: 0
+ mLocalizeTarget: {fileID: 0}
+ mLocalizeTargetName: I2.Loc.LocalizeTarget_TextMeshPro_UGUI
+--- !u!1 &6532009276675811406
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2419101803835352228}
+ - component: {fileID: 7281307023078711775}
+ - component: {fileID: 8574893005057652156}
+ - component: {fileID: 5173197211388915615}
+ m_Layer: 5
+ m_Name: SelectionBox
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &2419101803835352228
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6532009276675811406}
+ 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: 4766175602295979748}
+ - {fileID: 1035756863194169128}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 0.5}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 1200, y: 308.81}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &7281307023078711775
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6532009276675811406}
+ m_CullTransparentMesh: 0
+--- !u!225 &8574893005057652156
+CanvasGroup:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6532009276675811406}
+ m_Enabled: 1
+ m_Alpha: 1
+ m_Interactable: 1
+ m_BlocksRaycasts: 1
+ m_IgnoreParentGroups: 0
+--- !u!114 &5173197211388915615
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6532009276675811406}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5ac6b73d890a4a7aaed8e2fa64001764, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::Ichni.Menu.UI.SelectionBox
+ canvasGroup: {fileID: 8574893005057652156}
+ optionCanvasGroup: {fileID: 759112638000000001}
+ titleText: {fileID: 6761781486796546023}
+ contentText: {fileID: 6938669434854681663}
+ optionContainer: {fileID: 4766175602295979748}
+ optionButtonPrefab: {fileID: 449795761659242553, guid: 5b3427e100cf597448a79c121640e3d5,
+ type: 3}
+ messageBody: {fileID: 8562841871665862083}
+ backgroundVisual: {fileID: 1238328445874784691}
+ titleTextMask: {fileID: 2196133923270179751}
+ contentLayoutRoot: {fileID: 5697961961249001711}
+ contentTextMask: {fileID: 645452302433639569}
+ railRoot: {fileID: 1035756863194169128}
+ leftRail: {fileID: 890357783143957760}
+ rightRail: {fileID: 2287054332031316397}
+ bodyOpenDelay: 0.1
+ bodyOpenDuration: 0.5
+ railOpenDelay: 0
+ railOpenDuration: 0.5
+ bodyCloseDelay: 0
+ bodyCloseDuration: 0.5
+ railCloseDelay: 0.1
+ railCloseDuration: 0.5
+ closedMaskHorizontalPadding: 600
+ bodyEase: 6
+ railEase: 12
+--- !u!1 &7367933445236546045
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4766175602295979748}
+ - component: {fileID: 6383960419197918322}
+ - component: {fileID: 1326766088225855757}
+ - component: {fileID: 759112638000000001}
+ m_Layer: 5
+ m_Name: Options
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4766175602295979748
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7367933445236546045}
+ 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: 2419101803835352228}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0}
+ m_AnchorMax: {x: 0.5, y: 0}
+ m_AnchoredPosition: {x: 0, y: 100}
+ m_SizeDelta: {x: 1100, y: 60}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &6383960419197918322
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7367933445236546045}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.LayoutElement
+ m_IgnoreLayout: 1
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: -1
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!114 &1326766088225855757
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7367933445236546045}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.HorizontalLayoutGroup
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 4
+ m_Spacing: 150
+ m_ChildForceExpandWidth: 0
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 0
+ m_ChildControlHeight: 0
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!225 &759112638000000001
+CanvasGroup:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7367933445236546045}
+ m_Enabled: 1
+ m_Alpha: 1
+ m_Interactable: 1
+ m_BlocksRaycasts: 1
+ m_IgnoreParentGroups: 0
+--- !u!1 &8363676779123625864
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6880368853193399865}
+ - component: {fileID: 6040700123476775356}
+ - component: {fileID: 6800068943413043080}
+ m_Layer: 5
+ m_Name: UpperLine
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &6880368853193399865
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8363676779123625864}
+ 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: 1389963857239214525}
+ m_Father: {fileID: 2287054332031316397}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0.5, y: 0.5}
+ m_AnchorMax: {x: 0.5, y: 1}
+ m_AnchoredPosition: {x: 0, y: 7.4999924}
+ m_SizeDelta: {x: 5, y: -15.000015}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &6040700123476775356
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8363676779123625864}
+ m_CullTransparentMesh: 1
+--- !u!114 &6800068943413043080
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8363676779123625864}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.5019608}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
diff --git a/Assets/Prefabs/Menu/UI Elements/SelectionBox.prefab.meta b/Assets/Prefabs/Menu/UI Elements/SelectionBox.prefab.meta
new file mode 100644
index 00000000..0975988a
--- /dev/null
+++ b/Assets/Prefabs/Menu/UI Elements/SelectionBox.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 0f8134d47a03bfe4184e2d4ccafe0e03
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Prefabs/Menu/UI Elements/SelectionBoxButton.prefab b/Assets/Prefabs/Menu/UI Elements/SelectionBoxButton.prefab
new file mode 100644
index 00000000..72d3e3aa
--- /dev/null
+++ b/Assets/Prefabs/Menu/UI Elements/SelectionBoxButton.prefab
@@ -0,0 +1,276 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &4028587832294944382
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4844063139079138537}
+ - component: {fileID: 2675052568297457887}
+ - component: {fileID: 314392640301343753}
+ 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 &4844063139079138537
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4028587832294944382}
+ 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: 3372188176019791897}
+ 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 &2675052568297457887
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4028587832294944382}
+ m_CullTransparentMesh: 1
+--- !u!114 &314392640301343753
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4028587832294944382}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TextMeshProUGUI
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Button
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2}
+ m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb,
+ type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 30
+ m_fontSizeBase: 30
+ m_fontWeight: 400
+ m_enableAutoSizing: 1
+ m_fontSizeMin: 18
+ m_fontSizeMax: 30
+ m_fontStyle: 0
+ m_HorizontalAlignment: 2
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ m_characterSpacing: 0
+ m_characterHorizontalScale: 1
+ m_wordSpacing: 0
+ m_lineSpacing: 0
+ m_lineSpacingMax: 0
+ m_paragraphSpacing: 0
+ m_charWidthMaxAdj: 0
+ m_TextWrappingMode: 1
+ m_wordWrappingRatios: 0.4
+ m_overflowMode: 0
+ m_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 0
+ m_ActiveFontFeatures: 6e72656b
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_EmojiFallbackSupport: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!1 &8350981944019684425
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3372188176019791897}
+ - component: {fileID: 2182965281669324128}
+ - component: {fileID: 1480504358368706369}
+ - component: {fileID: 3951511035263236737}
+ - component: {fileID: 449795761659242553}
+ m_Layer: 5
+ m_Name: SelectionBoxButton
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &3372188176019791897
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8350981944019684425}
+ 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: 4844063139079138537}
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 250, y: 50}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2182965281669324128
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8350981944019684425}
+ m_CullTransparentMesh: 1
+--- !u!114 &1480504358368706369
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8350981944019684425}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: a42035fa13ca6c849afeedc8abcf13a7, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!114 &3951511035263236737
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8350981944019684425}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button
+ m_Navigation:
+ m_Mode: 3
+ m_WrapAround: 0
+ m_SelectOnUp: {fileID: 0}
+ m_SelectOnDown: {fileID: 0}
+ m_SelectOnLeft: {fileID: 0}
+ m_SelectOnRight: {fileID: 0}
+ m_Transition: 1
+ m_Colors:
+ m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+ m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
+ m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
+ m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
+ m_ColorMultiplier: 1
+ m_FadeDuration: 0.1
+ m_SpriteState:
+ m_HighlightedSprite: {fileID: 0}
+ m_PressedSprite: {fileID: 0}
+ m_SelectedSprite: {fileID: 0}
+ m_DisabledSprite: {fileID: 0}
+ m_AnimationTriggers:
+ m_NormalTrigger: Normal
+ m_HighlightedTrigger: Highlighted
+ m_PressedTrigger: Pressed
+ m_SelectedTrigger: Selected
+ m_DisabledTrigger: Disabled
+ m_Interactable: 1
+ m_TargetGraphic: {fileID: 1480504358368706369}
+ m_OnClick:
+ m_PersistentCalls:
+ m_Calls: []
+--- !u!114 &449795761659242553
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8350981944019684425}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: b2c45ae5390d4a4aa16e62b5704dbf0a, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::Ichni.Menu.UI.SelectionBoxButton
+ button: {fileID: 3951511035263236737}
+ labelText: {fileID: 314392640301343753}
diff --git a/Assets/Prefabs/Menu/UI Elements/SelectionBoxButton.prefab.meta b/Assets/Prefabs/Menu/UI Elements/SelectionBoxButton.prefab.meta
new file mode 100644
index 00000000..08d33cb3
--- /dev/null
+++ b/Assets/Prefabs/Menu/UI Elements/SelectionBoxButton.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 5b3427e100cf597448a79c121640e3d5
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Prefabs/MessageBox.prefab b/Assets/Prefabs/MessageBox.prefab
deleted file mode 100644
index 64a56322..00000000
--- a/Assets/Prefabs/MessageBox.prefab
+++ /dev/null
@@ -1,1178 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!1 &879916274401096383
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 615193340523544279}
- - component: {fileID: 5666768798593383827}
- - component: {fileID: 1511386179001491510}
- - component: {fileID: 3483998606450382267}
- - component: {fileID: 6873272222453210977}
- - component: {fileID: 8283513128948507429}
- m_Layer: 5
- m_Name: Text
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &615193340523544279
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 879916274401096383}
- 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: 5092532649173066385}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 0}
- m_AnchorMax: {x: 0, y: 0}
- m_AnchoredPosition: {x: 0, y: 0}
- m_SizeDelta: {x: 0, y: 0}
- m_Pivot: {x: 0, y: 0.5}
---- !u!222 &5666768798593383827
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 879916274401096383}
- m_CullTransparentMesh: 0
---- !u!114 &1511386179001491510
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 879916274401096383}
- 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: 'Size of this window will change based on the size of its content.
-
- You
- can even replace this text area with different objects and the modal will resize
- appropriately.'
- m_isRightToLeft: 0
- m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2}
- m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb,
- type: 2}
- m_fontSharedMaterials: []
- m_fontMaterial: {fileID: 0}
- m_fontMaterials: []
- m_fontColor32:
- serializedVersion: 2
- rgba: 4294967295
- m_fontColor: {r: 1, g: 1, b: 1, a: 1}
- m_enableVertexGradient: 0
- m_colorMode: 3
- m_fontColorGradient:
- topLeft: {r: 1, g: 1, b: 1, a: 1}
- topRight: {r: 1, g: 1, b: 1, a: 1}
- bottomLeft: {r: 1, g: 1, b: 1, a: 1}
- bottomRight: {r: 1, g: 1, b: 1, a: 1}
- m_fontColorGradientPreset: {fileID: 0}
- m_spriteAsset: {fileID: 0}
- m_tintAllSprites: 0
- m_StyleSheet: {fileID: 0}
- m_TextStyleHashCode: -1183493901
- m_overrideHtmlColors: 0
- m_faceColor:
- serializedVersion: 2
- rgba: 4294967295
- m_fontSize: 36
- m_fontSizeBase: 36
- m_fontWeight: 400
- m_enableAutoSizing: 0
- m_fontSizeMin: 18
- m_fontSizeMax: 72
- m_fontStyle: 0
- m_HorizontalAlignment: 1
- m_VerticalAlignment: 512
- m_textAlignment: 65535
- m_characterSpacing: 0
- m_characterHorizontalScale: 1
- m_wordSpacing: 0
- m_lineSpacing: 0
- m_lineSpacingMax: 0
- m_paragraphSpacing: 0
- m_charWidthMaxAdj: 0
- m_TextWrappingMode: 1
- m_wordWrappingRatios: 0.4
- m_overflowMode: 0
- m_linkedTextComponent: {fileID: 0}
- parentLinkedComponent: {fileID: 0}
- m_enableKerning: 1
- m_ActiveFontFeatures: 6e72656b
- m_enableExtraPadding: 0
- checkPaddingRequired: 0
- m_isRichText: 1
- m_EmojiFallbackSupport: 1
- m_parseCtrlCharacters: 1
- m_isOrthographic: 1
- m_isCullingEnabled: 0
- m_horizontalMapping: 0
- m_verticalMapping: 0
- m_uvLineOffset: 0
- m_geometrySortingOrder: 0
- m_IsTextObjectScaleStatic: 0
- m_VertexBufferAutoSizeReduction: 1
- 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!114 &3483998606450382267
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 879916274401096383}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreLayout: 0
- m_MinWidth: 300
- m_MinHeight: -1
- m_PreferredWidth: 1200
- m_PreferredHeight: -1
- m_FlexibleWidth: -1
- m_FlexibleHeight: -1
- m_LayoutPriority: 1
---- !u!114 &6873272222453210977
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 879916274401096383}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 344445a89b4f74a0e9a0a766903df87e, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- mTerm:
- mTermSecondary:
- PrimaryTermModifier: 0
- SecondaryTermModifier: 0
- TermPrefix:
- TermSuffix:
- LocalizeOnAwake: 1
- IgnoreRTL: 0
- MaxCharactersInRTL: 0
- IgnoreNumbersInRTL: 1
- CorrectAlignmentForRTL: 1
- AddSpacesToJoinedLanguages: 0
- AllowLocalizedParameters: 1
- AllowParameters: 1
- TranslatedObjects: []
- LocalizeEvent:
- m_PersistentCalls:
- m_Calls: []
- AlwaysForceLocalize: 0
- LocalizeCallBack:
- Target: {fileID: 0}
- MethodName:
- mGUI_ShowReferences: 0
- mGUI_ShowTems: 1
- mGUI_ShowCallback: 0
- mLocalizeTarget: {fileID: 0}
- mLocalizeTargetName: I2.Loc.LocalizeTarget_TextMeshPro_UGUI
---- !u!114 &8283513128948507429
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 879916274401096383}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: c9586cfd190ca384a8dd72aa92c86152, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- _Params: []
- _IsGlobalManager: 0
---- !u!1 &1136078909091246446
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 6350689905123524917}
- - component: {fileID: 8046614678578984176}
- - component: {fileID: 1168971869091347235}
- - component: {fileID: 290495902587943806}
- m_Layer: 5
- m_Name: Shadow
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &6350689905123524917
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1136078909091246446}
- 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: 2419101803835352228}
- 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: 24, y: 24}
- m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &8046614678578984176
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1136078909091246446}
- m_CullTransparentMesh: 0
---- !u!114 &1168971869091347235
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1136078909091246446}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 0, g: 0, b: 0, a: 0.39215687}
- m_RaycastTarget: 0
- m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
- m_Maskable: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_Sprite: {fileID: 21300000, guid: 0755a77d5bd80d94eaba57a2d5d0f55e, type: 3}
- 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: 5
---- !u!114 &290495902587943806
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1136078909091246446}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreLayout: 1
- m_MinWidth: -1
- m_MinHeight: -1
- m_PreferredWidth: -1
- m_PreferredHeight: -1
- m_FlexibleWidth: -1
- m_FlexibleHeight: -1
- m_LayoutPriority: 1
---- !u!1 &2466060879987557898
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 4470639438119130197}
- - component: {fileID: 2681963618800678}
- - component: {fileID: 4114123131783411130}
- - component: {fileID: 1501530303918721731}
- m_Layer: 5
- m_Name: Background
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &4470639438119130197
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2466060879987557898}
- 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: 2419101803835352228}
- 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 &2681963618800678
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2466060879987557898}
- m_CullTransparentMesh: 0
---- !u!114 &4114123131783411130
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2466060879987557898}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 0.1764706, g: 0.25490198, b: 0.33333334, a: 1}
- m_RaycastTarget: 0
- m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
- m_Maskable: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_Sprite: {fileID: 21300000, guid: 5e16c7aea118d68498053518146c9cf9, type: 3}
- 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: 6
---- !u!114 &1501530303918721731
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 2466060879987557898}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreLayout: 1
- m_MinWidth: -1
- m_MinHeight: -1
- m_PreferredWidth: -1
- m_PreferredHeight: -1
- m_FlexibleWidth: -1
- m_FlexibleHeight: -1
- m_LayoutPriority: 1
---- !u!1 &5263591163922513352
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 380156332139323662}
- - component: {fileID: 2963587876961484201}
- - component: {fileID: 6608848915897109691}
- - component: {fileID: 5328264186748005550}
- m_Layer: 5
- m_Name: Title
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &380156332139323662
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5263591163922513352}
- 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: 8427854290943886812}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 0.5}
- m_AnchorMax: {x: 1, y: 0.5}
- m_AnchoredPosition: {x: 42.5, y: 0}
- m_SizeDelta: {x: -42.5, y: 50}
- m_Pivot: {x: 0, y: 0.5}
---- !u!222 &2963587876961484201
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5263591163922513352}
- m_CullTransparentMesh: 0
---- !u!114 &6608848915897109691
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5263591163922513352}
- 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: "\u63D0\u793A"
- m_isRightToLeft: 0
- m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2}
- m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb,
- type: 2}
- m_fontSharedMaterials: []
- m_fontMaterial: {fileID: 0}
- m_fontMaterials: []
- m_fontColor32:
- serializedVersion: 2
- rgba: 4294967295
- m_fontColor: {r: 1, g: 1, b: 1, a: 1}
- m_enableVertexGradient: 0
- m_colorMode: 3
- m_fontColorGradient:
- topLeft: {r: 1, g: 1, b: 1, a: 1}
- topRight: {r: 1, g: 1, b: 1, a: 1}
- bottomLeft: {r: 1, g: 1, b: 1, a: 1}
- bottomRight: {r: 1, g: 1, b: 1, a: 1}
- m_fontColorGradientPreset: {fileID: 0}
- m_spriteAsset: {fileID: 0}
- m_tintAllSprites: 0
- m_StyleSheet: {fileID: 0}
- m_TextStyleHashCode: -1183493901
- m_overrideHtmlColors: 0
- m_faceColor:
- serializedVersion: 2
- rgba: 4294967295
- m_fontSize: 36
- m_fontSizeBase: 36
- m_fontWeight: 400
- m_enableAutoSizing: 0
- m_fontSizeMin: 18
- m_fontSizeMax: 72
- m_fontStyle: 0
- m_HorizontalAlignment: 1
- m_VerticalAlignment: 512
- m_textAlignment: 65535
- m_characterSpacing: 0
- m_characterHorizontalScale: 1
- m_wordSpacing: 0
- m_lineSpacing: 0
- m_lineSpacingMax: 0
- m_paragraphSpacing: 0
- m_charWidthMaxAdj: 0
- m_TextWrappingMode: 1
- m_wordWrappingRatios: 0.4
- m_overflowMode: 0
- m_linkedTextComponent: {fileID: 0}
- parentLinkedComponent: {fileID: 0}
- m_enableKerning: 1
- m_ActiveFontFeatures: 6e72656b
- m_enableExtraPadding: 0
- checkPaddingRequired: 0
- m_isRichText: 1
- m_EmojiFallbackSupport: 1
- m_parseCtrlCharacters: 1
- m_isOrthographic: 1
- m_isCullingEnabled: 0
- m_horizontalMapping: 0
- m_verticalMapping: 0
- m_uvLineOffset: 0
- m_geometrySortingOrder: 0
- m_IsTextObjectScaleStatic: 0
- m_VertexBufferAutoSizeReduction: 1
- m_useMaxVisibleDescender: 1
- m_pageToDisplay: 1
- m_margin: {x: 0, y: 0, z: 0, w: 1}
- m_isUsingLegacyAnimationComponent: 0
- m_isVolumetricText: 0
- m_hasFontAssetChanged: 0
- m_baseMaterial: {fileID: 0}
- m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
---- !u!114 &5328264186748005550
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5263591163922513352}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 344445a89b4f74a0e9a0a766903df87e, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- mTerm:
- mTermSecondary:
- PrimaryTermModifier: 0
- SecondaryTermModifier: 0
- TermPrefix:
- TermSuffix:
- LocalizeOnAwake: 1
- IgnoreRTL: 0
- MaxCharactersInRTL: 0
- IgnoreNumbersInRTL: 1
- CorrectAlignmentForRTL: 1
- AddSpacesToJoinedLanguages: 0
- AllowLocalizedParameters: 1
- AllowParameters: 1
- TranslatedObjects: []
- LocalizeEvent:
- m_PersistentCalls:
- m_Calls: []
- AlwaysForceLocalize: 0
- LocalizeCallBack:
- Target: {fileID: 0}
- MethodName:
- mGUI_ShowReferences: 0
- mGUI_ShowTems: 1
- mGUI_ShowCallback: 0
- mLocalizeTarget: {fileID: 0}
- mLocalizeTargetName: I2.Loc.LocalizeTarget_TextMeshPro_UGUI
---- !u!1 &5265375797484090089
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 5092532649173066385}
- - component: {fileID: 5960696260683360303}
- - component: {fileID: 2626936303953010707}
- m_Layer: 5
- m_Name: Content
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &5092532649173066385
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5265375797484090089}
- 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: 6213375211361212409}
- - {fileID: 615193340523544279}
- m_Father: {fileID: 2419101803835352228}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 1}
- m_AnchorMax: {x: 0, y: 1}
- m_AnchoredPosition: {x: 600, y: -139.29001}
- m_SizeDelta: {x: 1160, y: 0}
- m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &5960696260683360303
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5265375797484090089}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Padding:
- m_Left: 15
- m_Right: 15
- m_Top: 10
- m_Bottom: 10
- m_ChildAlignment: 4
- m_Spacing: 0
- m_ChildForceExpandWidth: 1
- m_ChildForceExpandHeight: 1
- m_ChildControlWidth: 1
- m_ChildControlHeight: 1
- m_ChildScaleWidth: 0
- m_ChildScaleHeight: 0
- m_ReverseArrangement: 0
---- !u!114 &2626936303953010707
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5265375797484090089}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_HorizontalFit: 0
- m_VerticalFit: 2
---- !u!1 &5678028656669781845
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 320178516533985418}
- - component: {fileID: 4259966678612083182}
- - component: {fileID: 3589424571792001025}
- - component: {fileID: 3307501539980532867}
- - component: {fileID: 4678585854450785687}
- m_Layer: 5
- m_Name: Receive
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &320178516533985418
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5678028656669781845}
- 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: 2419101803835352228}
- 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: 24, y: 24}
- m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &4259966678612083182
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5678028656669781845}
- m_CullTransparentMesh: 0
---- !u!114 &3589424571792001025
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5678028656669781845}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 0, g: 0, b: 0, a: 0}
- m_RaycastTarget: 1
- m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
- m_Maskable: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_Sprite: {fileID: 0}
- m_Type: 0
- m_PreserveAspect: 0
- m_FillCenter: 1
- m_FillMethod: 4
- m_FillAmount: 1
- m_FillClockwise: 1
- m_FillOrigin: 0
- m_UseSpriteMesh: 0
- m_PixelsPerUnitMultiplier: 5
---- !u!114 &3307501539980532867
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5678028656669781845}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreLayout: 1
- m_MinWidth: -1
- m_MinHeight: -1
- m_PreferredWidth: -1
- m_PreferredHeight: -1
- m_FlexibleWidth: -1
- m_FlexibleHeight: -1
- m_LayoutPriority: 1
---- !u!114 &4678585854450785687
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5678028656669781845}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Navigation:
- m_Mode: 3
- m_WrapAround: 0
- m_SelectOnUp: {fileID: 0}
- m_SelectOnDown: {fileID: 0}
- m_SelectOnLeft: {fileID: 0}
- m_SelectOnRight: {fileID: 0}
- m_Transition: 0
- m_Colors:
- m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
- m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
- m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
- m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
- m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
- m_ColorMultiplier: 1
- m_FadeDuration: 0.1
- m_SpriteState:
- m_HighlightedSprite: {fileID: 0}
- m_PressedSprite: {fileID: 0}
- m_SelectedSprite: {fileID: 0}
- m_DisabledSprite: {fileID: 0}
- m_AnimationTriggers:
- m_NormalTrigger: Normal
- m_HighlightedTrigger: Highlighted
- m_PressedTrigger: Pressed
- m_SelectedTrigger: Selected
- m_DisabledTrigger: Disabled
- m_Interactable: 1
- m_TargetGraphic: {fileID: 3589424571792001025}
- m_OnClick:
- m_PersistentCalls:
- m_Calls: []
---- !u!1 &6491620794303241582
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 4526797650398712025}
- - component: {fileID: 5627530628664898890}
- - component: {fileID: 6421992386164511662}
- m_Layer: 5
- m_Name: Icon
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &4526797650398712025
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6491620794303241582}
- 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: 8427854290943886812}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 0.5}
- m_AnchorMax: {x: 0, y: 0.5}
- m_AnchoredPosition: {x: 15, y: 0}
- m_SizeDelta: {x: 25, y: 25}
- m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &5627530628664898890
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6491620794303241582}
- m_CullTransparentMesh: 0
---- !u!114 &6421992386164511662
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6491620794303241582}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_RaycastTarget: 1
- m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
- m_Maskable: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_Sprite: {fileID: 21300000, guid: 5604130c3074dc3419d6f832ea194715, type: 3}
- m_Type: 0
- m_PreserveAspect: 1
- m_FillCenter: 1
- m_FillMethod: 4
- m_FillAmount: 1
- m_FillClockwise: 1
- m_FillOrigin: 0
- m_UseSpriteMesh: 0
- m_PixelsPerUnitMultiplier: 1
---- !u!1 &6532009276675811406
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 2419101803835352228}
- - component: {fileID: 7281307023078711775}
- - component: {fileID: 7028777253552577277}
- - component: {fileID: 964826506701897714}
- - component: {fileID: 2969807565022845143}
- - component: {fileID: 8574893005057652156}
- - component: {fileID: 4600504794659689328}
- m_Layer: 5
- m_Name: MessageBox
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &2419101803835352228
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6532009276675811406}
- 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: 6350689905123524917}
- - {fileID: 4470639438119130197}
- - {fileID: 8427854290943886812}
- - {fileID: 5092532649173066385}
- - {fileID: 320178516533985418}
- m_Father: {fileID: 0}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0.5, y: 0.5}
- m_AnchorMax: {x: 0.5, y: 0.5}
- m_AnchoredPosition: {x: 0, y: 0}
- m_SizeDelta: {x: 1200, y: 0}
- m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &7281307023078711775
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6532009276675811406}
- m_CullTransparentMesh: 0
---- !u!114 &7028777253552577277
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6532009276675811406}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Padding:
- m_Left: 20
- m_Right: 20
- m_Top: 20
- m_Bottom: 20
- m_ChildAlignment: 0
- m_Spacing: 20
- m_ChildForceExpandWidth: 1
- m_ChildForceExpandHeight: 0
- m_ChildControlWidth: 1
- m_ChildControlHeight: 0
- m_ChildScaleWidth: 0
- m_ChildScaleHeight: 0
- m_ReverseArrangement: 0
---- !u!114 &964826506701897714
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6532009276675811406}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_HorizontalFit: 0
- m_VerticalFit: 2
---- !u!114 &2969807565022845143
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6532009276675811406}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: d4f4ae5cbba538d449b15cffc97daa7d, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- fixOnEnable: 1
- fixWithDelay: 1
---- !u!225 &8574893005057652156
-CanvasGroup:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6532009276675811406}
- m_Enabled: 1
- m_Alpha: 0
- m_Interactable: 0
- m_BlocksRaycasts: 0
- m_IgnoreParentGroups: 0
---- !u!114 &4600504794659689328
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6532009276675811406}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 464526859792bdc4e8f53386f07a4cb3, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- serializationData:
- SerializedFormat: 2
- SerializedBytes:
- ReferencedUnityObjects: []
- SerializedBytesString:
- Prefab: {fileID: 0}
- PrefabModificationsReferencedUnityObjects: []
- PrefabModifications: []
- SerializationNodes:
- - Name: infos
- Entry: 6
- Data:
- - Name: fadeTweener
- Entry: 6
- Data:
- canvasGroup: {fileID: 8574893005057652156}
- onAllMessagesClosed:
- m_PersistentCalls:
- m_Calls: []
- infoIndex: 0
- defaultIcon: {fileID: 21300000, guid: 5604130c3074dc3419d6f832ea194715, type: 3}
- iconImage: {fileID: 6421992386164511662}
- titleLocalize: {fileID: 5328264186748005550}
- titleText: {fileID: 6608848915897109691}
- contentLocalize: {fileID: 6873272222453210977}
- contentText: {fileID: 1511386179001491510}
- parametersManager: {fileID: 8283513128948507429}
- receiveButton: {fileID: 4678585854450785687}
---- !u!1 &6594943516597377984
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 8427854290943886812}
- m_Layer: 5
- m_Name: Title Bar
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &8427854290943886812
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 6594943516597377984}
- 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: 4526797650398712025}
- - {fileID: 380156332139323662}
- m_Father: {fileID: 2419101803835352228}
- 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: 24}
- m_Pivot: {x: 0.5, y: 0.5}
---- !u!1 &7723681965174021130
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 6213375211361212409}
- - component: {fileID: 5945474545609719375}
- - component: {fileID: 5490394147613889219}
- - component: {fileID: 801795416082778179}
- m_Layer: 5
- m_Name: Background
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &6213375211361212409
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 7723681965174021130}
- 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: 5092532649173066385}
- 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 &5945474545609719375
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 7723681965174021130}
- m_CullTransparentMesh: 0
---- !u!114 &5490394147613889219
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 7723681965174021130}
- 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.039215688}
- m_RaycastTarget: 1
- m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
- m_Maskable: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_Sprite: {fileID: 21300000, guid: 5e16c7aea118d68498053518146c9cf9, type: 3}
- 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: 6
---- !u!114 &801795416082778179
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 7723681965174021130}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreLayout: 1
- m_MinWidth: -1
- m_MinHeight: -1
- m_PreferredWidth: -1
- m_PreferredHeight: -1
- m_FlexibleWidth: -1
- m_FlexibleHeight: -1
- m_LayoutPriority: 1
diff --git a/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/Beatmap.bytes b/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/Beatmap.bytes
index ea165209..0e797e6d 100644
Binary files a/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/Beatmap.bytes and b/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/Beatmap.bytes differ
diff --git a/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/CommandScripts.bytes b/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/CommandScripts.bytes
index 26fd9181..b254fa90 100644
Binary files a/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/CommandScripts.bytes and b/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/CommandScripts.bytes differ
diff --git a/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/ProjectInfo.bytes b/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/ProjectInfo.bytes
index eb055d09..f021318f 100644
Binary files a/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/ProjectInfo.bytes and b/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/ProjectInfo.bytes differ
diff --git a/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/SongInfo.bytes b/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/SongInfo.bytes
index ffc9556b..d3fb91de 100644
Binary files a/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/SongInfo.bytes and b/Assets/Resources/Beatmaps/Chapter0/Space Rain/Special/SongInfo.bytes differ
diff --git a/Assets/Scenes/GameScene.unity b/Assets/Scenes/GameScene.unity
index b2f75e64..0d09f07c 100644
--- a/Assets/Scenes/GameScene.unity
+++ b/Assets/Scenes/GameScene.unity
@@ -10124,7 +10124,7 @@ MonoBehaviour:
PrefabModifications: []
SerializationNodes: []
isLoading: 1
- isStarting: 1
+ isStarting: 0
isDelaying: 0
isPlaying: 0
isPausing: 0
diff --git a/Assets/Scenes/MenuScene.unity b/Assets/Scenes/MenuScene.unity
index e18de68e..1a07d510 100644
--- a/Assets/Scenes/MenuScene.unity
+++ b/Assets/Scenes/MenuScene.unity
@@ -982,7 +982,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_text: "\u6E38\u73A9"
+ m_text: GamePlay
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2}
m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb,
@@ -1033,7 +1033,7 @@ MonoBehaviour:
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
- m_ActiveFontFeatures: 00000000
+ m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
@@ -4130,6 +4130,21 @@ PrefabInstance:
propertyPath: mLocalizeTarget
value:
objectReference: {fileID: 887123924}
+ - target: {fileID: 4853066672577341755, guid: 8a274db7aa7755b4e8787654931287d1,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
+ - target: {fileID: 4944485236584090101, guid: 8a274db7aa7755b4e8787654931287d1,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
+ - target: {fileID: 5073264385384676794, guid: 8a274db7aa7755b4e8787654931287d1,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
- target: {fileID: 6957248862450417298, guid: 8a274db7aa7755b4e8787654931287d1,
type: 3}
propertyPath: m_Pivot.x
@@ -4213,7 +4228,7 @@ PrefabInstance:
- target: {fileID: 6957248862450417298, guid: 8a274db7aa7755b4e8787654931287d1,
type: 3}
propertyPath: m_AnchoredPosition.y
- value: -950
+ value: -1000
objectReference: {fileID: 0}
- target: {fileID: 6957248862450417298, guid: 8a274db7aa7755b4e8787654931287d1,
type: 3}
@@ -4691,6 +4706,142 @@ MonoBehaviour:
audioPoint: {fileID: 308406596911943559, guid: e3708c94d5457194f93da5c077888870,
type: 3}
soundBanks: []
+--- !u!1001 &327999207
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1790691941}
+ m_Modifications:
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_Pivot.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_Pivot.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 800
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 200
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 9161412252175312324, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_Name
+ value: Postprocessing
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0, type: 3}
+--- !u!224 &327999208 stripped
+RectTransform:
+ m_CorrespondingSourceObject: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ m_PrefabInstance: {fileID: 327999207}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &327999209 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 5598452497064675529, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ m_PrefabInstance: {fileID: 327999207}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 33444f8904d91374fb31960969da96ed, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!1 &328668708
GameObject:
m_ObjectHideFlags: 0
@@ -5125,6 +5276,81 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 353400712}
m_CullTransparentMesh: 1
+--- !u!1 &359464642
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 359464643}
+ - component: {fileID: 359464645}
+ - component: {fileID: 359464644}
+ m_Layer: 0
+ m_Name: Image
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &359464643
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 359464642}
+ 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: 2089432739}
+ 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 &359464644
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 359464642}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 0
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &359464645
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 359464642}
+ m_CullTransparentMesh: 1
--- !u!1 &361065186
GameObject:
m_ObjectHideFlags: 0
@@ -5771,11 +5997,30 @@ MonoBehaviour:
Prefab: {fileID: 0}
PrefabModificationsReferencedUnityObjects: []
PrefabModifications: []
- SerializationNodes:
- - Name: gameSettings
- Entry: 6
- Data:
+ SerializationNodes: []
settingsUIPage: {fileID: 1385276032}
+ settingsSaveData:
+ schemaVersion: 1
+ masterVolume: 50
+ musicVolume: 50
+ soundEffectVolume: 50
+ uiVolume: 50
+ enableInGameAudioEffects: 1
+ graphicsQualityPreset: 1
+ targetFrame: 60
+ renderScaleLevel: 3
+ enablePostProcessing: 1
+ bloomQuality: 2
+ vfxQuality: 2
+ vSyncEnabled: 0
+ displayMode: 1
+ displayResolutionWidth: 0
+ displayResolutionHeight: 0
+ beatmapOffset: 0
+ languageIndex: 0
+ debugMode: 0
+ judgeType: 0
+ autoPlay: 0
--- !u!1 &403017936
GameObject:
m_ObjectHideFlags: 0
@@ -6540,6 +6785,142 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 428441701}
m_CullTransparentMesh: 1
+--- !u!1001 &441536412
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1790691941}
+ m_Modifications:
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_Pivot.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_Pivot.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 800
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 200
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 9161412252175312324, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_Name
+ value: VFXQuality
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: a70c5e7fa5471904a82d9296a7fb70c7, type: 3}
+--- !u!224 &441536413 stripped
+RectTransform:
+ m_CorrespondingSourceObject: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ m_PrefabInstance: {fileID: 441536412}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &441536414 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 2088029594451152956, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ m_PrefabInstance: {fileID: 441536412}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 63ac87ec6c134804c9cd877b8820d283, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!114 &443068616
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -7292,6 +7673,21 @@ PrefabInstance:
propertyPath: mLocalizeTarget
value:
objectReference: {fileID: 887123924}
+ - target: {fileID: 4853066672577341755, guid: 8a274db7aa7755b4e8787654931287d1,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
+ - target: {fileID: 4944485236584090101, guid: 8a274db7aa7755b4e8787654931287d1,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
+ - target: {fileID: 5073264385384676794, guid: 8a274db7aa7755b4e8787654931287d1,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
- target: {fileID: 6957248862450417298, guid: 8a274db7aa7755b4e8787654931287d1,
type: 3}
propertyPath: m_Pivot.x
@@ -7375,7 +7771,7 @@ PrefabInstance:
- target: {fileID: 6957248862450417298, guid: 8a274db7aa7755b4e8787654931287d1,
type: 3}
propertyPath: m_AnchoredPosition.y
- value: -1200
+ value: -1275
objectReference: {fileID: 0}
- target: {fileID: 6957248862450417298, guid: 8a274db7aa7755b4e8787654931287d1,
type: 3}
@@ -8574,7 +8970,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_text: "\u8C03\u8BD5"
+ m_text: Debug
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2}
m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb,
@@ -8625,7 +9021,7 @@ MonoBehaviour:
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
- m_ActiveFontFeatures: 00000000
+ m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
@@ -9043,6 +9439,162 @@ MonoBehaviour:
m_ColorSpace: 0
m_NumColorKeys: 2
m_NumAlphaKeys: 3
+--- !u!1001 &614194743
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 732129119}
+ m_Modifications:
+ - target: {fileID: 1436411705962800859, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
+ - target: {fileID: 1890038081481639440, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
+ - target: {fileID: 5961689296080923647, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_Pivot.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_Pivot.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 1500
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: -450
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 8317096570249691361, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
+ - target: {fileID: 9161412252175312324, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_Name
+ value: InGameAudioEffects
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0, type: 3}
+--- !u!224 &614194744 stripped
+RectTransform:
+ m_CorrespondingSourceObject: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ m_PrefabInstance: {fileID: 614194743}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &614194747 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 5598452497064675529, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ m_PrefabInstance: {fileID: 614194743}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 33444f8904d91374fb31960969da96ed, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!1 &619204596
GameObject:
m_ObjectHideFlags: 0
@@ -10211,7 +10763,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_text: "\u8FD4\u56DE"
+ m_text: Back
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2}
m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb,
@@ -10262,7 +10814,7 @@ MonoBehaviour:
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
- m_ActiveFontFeatures: 00000000
+ m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
@@ -10672,6 +11224,142 @@ CanvasGroup:
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
+--- !u!1001 &716068128
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1790691941}
+ m_Modifications:
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_Pivot.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_Pivot.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 800
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 200
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 9161412252175312324, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_Name
+ value: DisplayMode
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: a70c5e7fa5471904a82d9296a7fb70c7, type: 3}
+--- !u!224 &716068129 stripped
+RectTransform:
+ m_CorrespondingSourceObject: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ m_PrefabInstance: {fileID: 716068128}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &716068130 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 2088029594451152956, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ m_PrefabInstance: {fileID: 716068128}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 63ac87ec6c134804c9cd877b8820d283, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!1001 &717981341
PrefabInstance:
m_ObjectHideFlags: 0
@@ -10852,6 +11540,7 @@ RectTransform:
- {fileID: 924659616}
- {fileID: 275260320}
- {fileID: 471119988}
+ - {fileID: 614194744}
m_Father: {fileID: 1094166299}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@@ -10908,6 +11597,7 @@ MonoBehaviour:
musicVolumeModifier: {fileID: 924659617}
sfxVolumeModifier: {fileID: 275260321}
uiVolumeModifier: {fileID: 471119989}
+ inGameAudioEffectsSwitch: {fileID: 614194747}
--- !u!1 &736709066
GameObject:
m_ObjectHideFlags: 0
@@ -11529,6 +12219,142 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 776434466}
m_CullTransparentMesh: 1
+--- !u!1001 &777756903
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1790691941}
+ m_Modifications:
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_Pivot.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_Pivot.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 800
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 200
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 9161412252175312324, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_Name
+ value: DisplayResolution
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: a70c5e7fa5471904a82d9296a7fb70c7, type: 3}
+--- !u!224 &777756904 stripped
+RectTransform:
+ m_CorrespondingSourceObject: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ m_PrefabInstance: {fileID: 777756903}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &777756905 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 2088029594451152956, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ m_PrefabInstance: {fileID: 777756903}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 63ac87ec6c134804c9cd877b8820d283, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!1001 &805060254
PrefabInstance:
m_ObjectHideFlags: 0
@@ -11767,7 +12593,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_text: "\u952E\u4F4D\u7ED1\u5B9A"
+ m_text: Key Rebind
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2}
m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb,
@@ -11818,7 +12644,7 @@ MonoBehaviour:
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
- m_ActiveFontFeatures: 00000000
+ m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
@@ -12395,7 +13221,7 @@ PrefabInstance:
- target: {fileID: 9161412252175312324, guid: 8a274db7aa7755b4e8787654931287d1,
type: 3}
propertyPath: m_Name
- value: ResulutionLevel
+ value: RenderScale
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
@@ -13179,12 +14005,12 @@ PrefabInstance:
- target: {fileID: 9161412252175312324, guid: a70c5e7fa5471904a82d9296a7fb70c7,
type: 3}
propertyPath: m_Name
- value: Dropdown
+ value: QualityPreset
objectReference: {fileID: 0}
- target: {fileID: 9161412252175312324, guid: a70c5e7fa5471904a82d9296a7fb70c7,
type: 3}
propertyPath: m_IsActive
- value: 0
+ value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
@@ -13284,7 +14110,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 481ab606793a67349be805c13febeba0, type: 3}
m_Name:
m_EditorClassIdentifier:
- mTarget: {fileID: 1300687412}
+ mTarget: {fileID: 1217270952}
mAlignment_RTL: 516
mAlignment_LTR: 513
mAlignmentWasRTL: 0
@@ -13717,6 +14543,21 @@ PrefabInstance:
propertyPath: mLocalizeTarget
value:
objectReference: {fileID: 887123924}
+ - target: {fileID: 4853066672577341755, guid: 8a274db7aa7755b4e8787654931287d1,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
+ - target: {fileID: 4944485236584090101, guid: 8a274db7aa7755b4e8787654931287d1,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
+ - target: {fileID: 5073264385384676794, guid: 8a274db7aa7755b4e8787654931287d1,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
- target: {fileID: 6957248862450417298, guid: 8a274db7aa7755b4e8787654931287d1,
type: 3}
propertyPath: m_Pivot.x
@@ -13800,7 +14641,7 @@ PrefabInstance:
- target: {fileID: 6957248862450417298, guid: 8a274db7aa7755b4e8787654931287d1,
type: 3}
propertyPath: m_AnchoredPosition.y
- value: -700
+ value: -725
objectReference: {fileID: 0}
- target: {fileID: 6957248862450417298, guid: 8a274db7aa7755b4e8787654931287d1,
type: 3}
@@ -15734,7 +16575,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_text: "\u56FE\u50CF"
+ m_text: Graphics
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2}
m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb,
@@ -15785,7 +16626,7 @@ MonoBehaviour:
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
- m_ActiveFontFeatures: 00000000
+ m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
@@ -16423,6 +17264,142 @@ MonoBehaviour:
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
+--- !u!1001 &1138134106
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1790691941}
+ m_Modifications:
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_Pivot.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_Pivot.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 800
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 200
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 9161412252175312324, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ propertyPath: m_Name
+ value: VSync
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0, type: 3}
+--- !u!224 &1138134107 stripped
+RectTransform:
+ m_CorrespondingSourceObject: {fileID: 6957248862450417298, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ m_PrefabInstance: {fileID: 1138134106}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &1138134108 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 5598452497064675529, guid: 02b942a4ac1a0e047bcc7cf6fc2664e0,
+ type: 3}
+ m_PrefabInstance: {fileID: 1138134106}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 33444f8904d91374fb31960969da96ed, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!1 &1138776081
GameObject:
m_ObjectHideFlags: 0
@@ -16832,8 +17809,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 5c6497985923eab43a4c3dd28ba0b9d5, type: 3}
m_Name:
m_EditorClassIdentifier:
- isReturnedFromGame: 0
- isReturnedFromTutorial: 0
+ menuReturnDestination: 0
chapter: {fileID: 0}
song:
songName:
@@ -16849,10 +17825,11 @@ MonoBehaviour:
illustratorName:
additionalInformation:
difficultyDataList: []
- storyUnlockKey:
- paymentUnlockKey:
+ unlockRequirement:
+ root:
+ rid: -2
difficulty:
- difficultyIndex: 0
+ saveDifficultyId: 0
difficultyName:
displayDifficultyName:
difficultyValue: 0
@@ -16876,6 +17853,11 @@ MonoBehaviour:
groupIdInternal: 0
groupGuidInternal:
WwiseObjectReference: {fileID: 0}
+ references:
+ version: 2
+ RefIds:
+ - rid: -2
+ type: {class: , ns: , asm: }
--- !u!4 &1186915512
Transform:
m_ObjectHideFlags: 0
@@ -16891,6 +17873,18 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1217270952 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 4853066672577341755, guid: 8a274db7aa7755b4e8787654931287d1,
+ type: 3}
+ m_PrefabInstance: {fileID: 471119987}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!1 &1225558873
GameObject:
m_ObjectHideFlags: 0
@@ -17417,6 +18411,142 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 189122ac264c56d4f875e162820a412b, type: 3}
m_Name:
m_EditorClassIdentifier:
+--- !u!1001 &1241064210
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 1790691941}
+ m_Modifications:
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_Pivot.x
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_Pivot.y
+ value: 0.5
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMax.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMax.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMin.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchorMin.y
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_SizeDelta.x
+ value: 800
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_SizeDelta.y
+ value: 200
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchoredPosition.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_AnchoredPosition.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 9161412252175312324, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ propertyPath: m_Name
+ value: BloomQuality
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: a70c5e7fa5471904a82d9296a7fb70c7, type: 3}
+--- !u!224 &1241064211 stripped
+RectTransform:
+ m_CorrespondingSourceObject: {fileID: 6957248862450417298, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ m_PrefabInstance: {fileID: 1241064210}
+ m_PrefabAsset: {fileID: 0}
+--- !u!114 &1241064212 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 2088029594451152956, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ m_PrefabInstance: {fileID: 1241064210}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 63ac87ec6c134804c9cd877b8820d283, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!1 &1250325742
GameObject:
m_ObjectHideFlags: 0
@@ -18046,18 +19176,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 33444f8904d91374fb31960969da96ed, type: 3}
m_Name:
m_EditorClassIdentifier:
---- !u!114 &1300687412 stripped
-MonoBehaviour:
- m_CorrespondingSourceObject: {fileID: 4853066672577341755, guid: 8a274db7aa7755b4e8787654931287d1,
- type: 3}
- m_PrefabInstance: {fileID: 2004387430697357062}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 0}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
- m_Name:
- m_EditorClassIdentifier:
--- !u!1 &1304548424
GameObject:
m_ObjectHideFlags: 0
@@ -19287,6 +20405,18 @@ CanvasGroup:
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
+--- !u!114 &1433111742 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 2088029594451152956, guid: a70c5e7fa5471904a82d9296a7fb70c7,
+ type: 3}
+ m_PrefabInstance: {fileID: 885621924}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 63ac87ec6c134804c9cd877b8820d283, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
--- !u!1 &1440676912
GameObject:
m_ObjectHideFlags: 0
@@ -20050,6 +21180,9 @@ MonoBehaviour:
- Name: SongSaveModule
Entry: 6
Data:
+ - Name: UnlockSaveModule
+ Entry: 6
+ Data:
- Name: StorySaveModule
Entry: 6
Data:
@@ -20135,6 +21268,8 @@ MonoBehaviour:
defaultMessageBoxPrefab: {fileID: 4600504794659689328, guid: a8e9cecf40a73474d8a5ffc9bada8c20,
type: 3}
messageContainer: {fileID: 2089432739}
+ defaultSelectionBoxPrefab: {fileID: 5173197211388915615, guid: 0f8134d47a03bfe4184e2d4ccafe0e03,
+ type: 3}
--- !u!1 &1485764096
GameObject:
m_ObjectHideFlags: 0
@@ -20493,10 +21628,11 @@ MonoBehaviour:
illustratorName:
additionalInformation:
difficultyDataList: []
- storyUnlockKey:
- paymentUnlockKey:
+ unlockRequirement:
+ root:
+ rid: -2
selectedDifficulty:
- difficultyIndex: 0
+ saveDifficultyId: 0
difficultyName:
displayDifficultyName:
difficultyValue: 0
@@ -20505,6 +21641,11 @@ MonoBehaviour:
isAvailable: 0
ForceFullScreenJudge: 0
chartRevision: 1
+ references:
+ version: 2
+ RefIds:
+ - rid: -2
+ type: {class: , ns: , asm: }
--- !u!4 &1506872042
Transform:
m_ObjectHideFlags: 0
@@ -23753,9 +24894,15 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
+ - {fileID: 885621925}
- {fileID: 846975561}
- {fileID: 1127235733}
- - {fileID: 885621925}
+ - {fileID: 327999208}
+ - {fileID: 1241064211}
+ - {fileID: 441536413}
+ - {fileID: 1138134107}
+ - {fileID: 716068129}
+ - {fileID: 777756904}
m_Father: {fileID: 1094166299}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@@ -23808,8 +24955,15 @@ MonoBehaviour:
PrefabModificationsReferencedUnityObjects: []
PrefabModifications: []
SerializationNodes: []
- resolutionLevelModifier: {fileID: 846975562}
+ qualityPresetDropdown: {fileID: 1433111742}
+ renderScaleModifier: {fileID: 846975562}
targetFrameModifier: {fileID: 1127235734}
+ postProcessingSwitch: {fileID: 327999209}
+ bloomQualityDropdown: {fileID: 1241064212}
+ vfxQualityDropdown: {fileID: 441536414}
+ vSyncSwitch: {fileID: 1138134108}
+ displayModeDropdown: {fileID: 716068130}
+ displayResolutionDropdown: {fileID: 777756905}
--- !u!1 &1796831038
GameObject:
m_ObjectHideFlags: 0
@@ -31549,7 +32703,8 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
- m_Children: []
+ m_Children:
+ - {fileID: 359464643}
m_Father: {fileID: 1483720712}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@@ -32355,7 +33510,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_text: "\u97F3\u9891"
+ m_text: Audio
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2}
m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb,
@@ -32406,7 +33561,7 @@ MonoBehaviour:
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
- m_ActiveFontFeatures: 00000000
+ m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
@@ -33028,6 +34183,21 @@ PrefabInstance:
propertyPath: mLocalizeTarget
value:
objectReference: {fileID: 887123924}
+ - target: {fileID: 4853066672577341755, guid: 8a274db7aa7755b4e8787654931287d1,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
+ - target: {fileID: 4944485236584090101, guid: 8a274db7aa7755b4e8787654931287d1,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
+ - target: {fileID: 5073264385384676794, guid: 8a274db7aa7755b4e8787654931287d1,
+ type: 3}
+ propertyPath: 'm_ActiveFontFeatures.Array.data[0]'
+ value: 1801810542
+ objectReference: {fileID: 0}
- target: {fileID: 6957248862450417298, guid: 8a274db7aa7755b4e8787654931287d1,
type: 3}
propertyPath: m_Pivot.x
diff --git a/Assets/Scripts/DataCore/GameElements_BM/Note/JudgeUnit/TouchAreaJudgeUnit_BM.cs b/Assets/Scripts/DataCore/GameElements_BM/Note/JudgeUnit/TouchAreaJudgeUnit_BM.cs
index 7d0a5261..09624043 100644
--- a/Assets/Scripts/DataCore/GameElements_BM/Note/JudgeUnit/TouchAreaJudgeUnit_BM.cs
+++ b/Assets/Scripts/DataCore/GameElements_BM/Note/JudgeUnit/TouchAreaJudgeUnit_BM.cs
@@ -21,7 +21,7 @@ namespace Ichni.RhythmGame.Beatmap
#if UNITY_STANDALONE
return new FullScreenNearTimeJudgeUnit(attachedNote);
#elif UNITY_ANDROID || UNITY_IOS
- if (SettingsManager.instance.gameSettings.ShouldUseFullScreenJudge())
+ if (SettingsManager.instance.ShouldUseFullScreenJudge())
{
return new FullScreenNearTimeJudgeUnit(attachedNote);
}
@@ -30,7 +30,7 @@ namespace Ichni.RhythmGame.Beatmap
return new TouchAreaJudgeUnit(attachedNote, areaRadius);
}
#else
- return SettingsManager.instance.gameSettings.ShouldUseFullScreenJudge()
+ return SettingsManager.instance.ShouldUseFullScreenJudge()
? new FullScreenNearTimeJudgeUnit(attachedNote)
: new TouchAreaJudgeUnit(attachedNote, areaRadius);
#endif
diff --git a/Assets/Scripts/Game/Base/ProjectFiles/BeatmapContainer.cs b/Assets/Scripts/Game/Base/ProjectFiles/BeatmapContainer.cs
index 9e4fca08..dc19ce2a 100644
--- a/Assets/Scripts/Game/Base/ProjectFiles/BeatmapContainer.cs
+++ b/Assets/Scripts/Game/Base/ProjectFiles/BeatmapContainer.cs
@@ -32,6 +32,47 @@ namespace Ichni.RhythmGame
}
}
+ ///
+ /// Rebuilds the list of elements whose active state is driven by a finite time duration.
+ /// This preserves the existing runtime filter, while avoiding a LINQ allocation during
+ /// every project load.
+ ///
+ public void RebuildRuntimeTimeDurations()
+ {
+ List runtimeTimeDurations = GameManager.Instance.timeDurations;
+ runtimeTimeDurations.Clear();
+
+ float songLength = GameManager.Instance.songInformation.songLength;
+ for (int i = 0; i < gameElementList.Count; i++)
+ {
+ if (gameElementList[i] is not IHaveTimeDurationSubmodule timeDurationHost)
+ {
+ continue;
+ }
+
+ TimeDurationSubmodule timeDuration = timeDurationHost.timeDurationSubmodule;
+ if (timeDuration != null &&
+ (timeDuration.startTime > 0f || timeDuration.endTime < songLength))
+ {
+ runtimeTimeDurations.Add(timeDuration);
+ }
+ }
+ }
+
+ ///
+ /// Immediately applies the active state for the registered time-duration elements.
+ /// Used at loading-state boundaries so the first rendered frame already matches the
+ /// current song timeline.
+ ///
+ public void SyncRuntimeTimeDurationStates(float songTime)
+ {
+ List runtimeTimeDurations = GameManager.Instance.timeDurations;
+ for (int i = 0; i < runtimeTimeDurations.Count; i++)
+ {
+ runtimeTimeDurations[i]?.DetectAndSwitchActiveState(songTime);
+ }
+ }
+
public void SetUpInspector()
{
throw new System.NotImplementedException();
@@ -43,4 +84,4 @@ namespace Ichni.RhythmGame
}
}
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/Game/Base/VFXObject.cs b/Assets/Scripts/Game/Base/VFXObject.cs
new file mode 100644
index 00000000..a240afc8
--- /dev/null
+++ b/Assets/Scripts/Game/Base/VFXObject.cs
@@ -0,0 +1,113 @@
+using System.Collections.Generic;
+using Sirenix.OdinInspector;
+using SLSUtilities.LeanPoolAssistance;
+using UnityEngine;
+
+namespace Ichni
+{
+ ///
+ /// 面向对象池特效的通用质量控制组件。
+ ///
+ /// 挂载在由 LeanPool 生成与回收的 VFX 根节点上。每次 时会先恢复受管理子对象的
+ /// Prefab 初始激活状态,再依据当前 关闭非必要的视觉子树。
+ /// 设置切换仅影响之后新生成的 VFX,不会中断正在播放的效果。
+ ///
+ public class VFXObject : PooledObject
+ {
+ [Title("VFX Quality")]
+ [Tooltip("Medium 与 Low 都会关闭的次要视觉子树。应放入高频、长寿命或大面积覆盖的装饰层。")]
+ public List disableAtMediumAndLower = new List();
+
+ [Tooltip("仅 Low 会额外关闭的视觉子树。Medium 仍保留这些效果以维持基本演出层次。")]
+ public List disableAtLowOnly = new List();
+
+ // 仅缓存两个质量列表中出现过的对象。没有被列出的子对象永远不受本组件控制。
+ private readonly Dictionary originalActiveStates = new Dictionary();
+ private bool qualityObjectsCached;
+
+ private void Awake()
+ {
+ CacheOriginalActiveStates();
+ }
+
+ ///
+ /// 对象从 LeanPool 取出时执行一次质量裁剪。
+ /// 先恢复原始状态可避免同一个对象先以 Low 生成、回收后再以 High 生成时仍错误保持隐藏。
+ ///
+ public override void OnSpawn()
+ {
+ // LeanPool 的 Broadcast IPoolable 模式或错误的重复通知不应重新裁剪一个已播放的效果。
+ if (spawnExecuted)
+ {
+ return;
+ }
+
+ CacheOriginalActiveStates();
+ RestoreOriginalActiveStates();
+ ApplyCurrentQuality();
+ base.OnSpawn();
+ }
+
+ ///
+ /// 读取生成瞬间的 VFX Quality 并关闭对应的完整视觉子树。
+ /// 未初始化 SettingsManager 的编辑器预览或独立加载流程默认使用 High,保持作者配置的完整视觉。
+ ///
+ private void ApplyCurrentQuality()
+ {
+ VfxQuality currentQuality = SettingsManager.instance?.settingsSaveData?.vfxQuality ?? VfxQuality.High;
+
+ if (currentQuality <= VfxQuality.Medium)
+ {
+ SetObjectsActive(disableAtMediumAndLower, false);
+ }
+
+ if (currentQuality == VfxQuality.Low)
+ {
+ SetObjectsActive(disableAtLowOnly, false);
+ }
+ }
+
+ ///
+ /// 记录 Quality 列表对象在 Prefab 中的初始激活状态。
+ /// 这样即使某个对象本来就由作者设为 inactive,也不会在下一次 Spawn 时被强制打开。
+ ///
+ private void CacheOriginalActiveStates()
+ {
+ if (qualityObjectsCached)
+ {
+ return;
+ }
+
+ CacheOriginalActiveStates(disableAtMediumAndLower);
+ CacheOriginalActiveStates(disableAtLowOnly);
+ qualityObjectsCached = true;
+ }
+
+ private void CacheOriginalActiveStates(List qualityObjects)
+ {
+ foreach (GameObject qualityObject in qualityObjects)
+ {
+ if (!originalActiveStates.ContainsKey(qualityObject))
+ {
+ originalActiveStates.Add(qualityObject, qualityObject.activeSelf);
+ }
+ }
+ }
+
+ private void RestoreOriginalActiveStates()
+ {
+ foreach (KeyValuePair originalState in originalActiveStates)
+ {
+ originalState.Key.SetActive(originalState.Value);
+ }
+ }
+
+ private static void SetObjectsActive(List qualityObjects, bool isActive)
+ {
+ foreach (GameObject qualityObject in qualityObjects)
+ {
+ qualityObject.SetActive(isActive);
+ }
+ }
+ }
+}
diff --git a/Assets/Scripts/Game/Base/VFXObject.cs.meta b/Assets/Scripts/Game/Base/VFXObject.cs.meta
new file mode 100644
index 00000000..48da1a4f
--- /dev/null
+++ b/Assets/Scripts/Game/Base/VFXObject.cs.meta
@@ -0,0 +1,2 @@
+fileFormatVersion: 2
+guid: 922e341faf5784c41b3b0466e0468972
\ No newline at end of file
diff --git a/Assets/Scripts/Game/GameElements/GeneralEffects/MusicEffects/HighPassFilterEffect.cs b/Assets/Scripts/Game/GameElements/GeneralEffects/MusicEffects/HighPassFilterEffect.cs
index 19dbd3f9..223fdf9a 100644
--- a/Assets/Scripts/Game/GameElements/GeneralEffects/MusicEffects/HighPassFilterEffect.cs
+++ b/Assets/Scripts/Game/GameElements/GeneralEffects/MusicEffects/HighPassFilterEffect.cs
@@ -68,6 +68,12 @@ namespace Ichni.RhythmGame
public override void Execute()
{
+ // 玩家关闭游戏内音乐特效时,不再覆盖 SettingsManager 已归零的 RTPC。
+ if (!SettingsManager.instance.settingsSaveData.enableInGameAudioEffects)
+ {
+ return;
+ }
+
// 在 10Hz(无效果)与 peak Hz(最强截止)之间基于曲线插值
float intensity = intensityCurve != null ? intensityCurve.Evaluate(effectProgressPercent) : 0f;
float currentFreq = Mathf.Lerp(MinFrequency, peak, intensity);
diff --git a/Assets/Scripts/Game/GameElements/GeneralEffects/MusicEffects/LowPassFilterEffect.cs b/Assets/Scripts/Game/GameElements/GeneralEffects/MusicEffects/LowPassFilterEffect.cs
index 5a1f1a07..08221b62 100644
--- a/Assets/Scripts/Game/GameElements/GeneralEffects/MusicEffects/LowPassFilterEffect.cs
+++ b/Assets/Scripts/Game/GameElements/GeneralEffects/MusicEffects/LowPassFilterEffect.cs
@@ -66,6 +66,12 @@ namespace Ichni.RhythmGame
public override void Execute()
{
+ // 玩家关闭游戏内音乐特效时,不再覆盖 SettingsManager 已归零的 RTPC。
+ if (!SettingsManager.instance.settingsSaveData.enableInGameAudioEffects)
+ {
+ return;
+ }
+
// 在 22000Hz(无效果)与 bottom Hz(最强截止)之间基于曲线插值
float intensity = intensityCurve != null ? intensityCurve.Evaluate(effectProgressPercent) : 0f;
float currentFreq = Mathf.Lerp(MaxFrequency, bottom, intensity);
diff --git a/Assets/Scripts/Game/GameElements/Notes/NoteObjects/Hold.cs b/Assets/Scripts/Game/GameElements/Notes/NoteObjects/Hold.cs
index 7e6a74f2..a66f3a26 100644
--- a/Assets/Scripts/Game/GameElements/Notes/NoteObjects/Hold.cs
+++ b/Assets/Scripts/Game/GameElements/Notes/NoteObjects/Hold.cs
@@ -87,7 +87,7 @@ namespace Ichni.RhythmGame
if (!GameManager.Instance.songPlayer.isUpdating || isFinalJudged) return true;
- if (SettingsManager.instance.gameSettings.autoPlay && isFirstJudged) ExecuteProcessJudge();
+ if (SettingsManager.instance.settingsSaveData.autoPlay && isFirstJudged) ExecuteProcessJudge();
if (isHolding)
{
@@ -109,7 +109,7 @@ namespace Ichni.RhythmGame
UpdateHoldEffects();
- if (SettingsManager.instance.gameSettings.autoPlay && !isFirstJudged && currentSongTime >= exactJudgeTime)
+ if (SettingsManager.instance.settingsSaveData.autoPlay && !isFirstJudged && currentSongTime >= exactJudgeTime)
{
ExecuteStartJudge(currentSongTime);
}
@@ -227,7 +227,7 @@ namespace Ichni.RhythmGame
protected override void SetJudgeArea()
{
- if (!SettingsManager.instance.gameSettings.debugMode || NoteJudgeSubmodule == null) return;
+ if (!SettingsManager.instance.settingsSaveData.debugMode || NoteJudgeSubmodule == null) return;
if (isDuringJudging && !isFirstJudged)
{
diff --git a/Assets/Scripts/Game/GameElements/Notes/NoteObjects/NoteBase.cs b/Assets/Scripts/Game/GameElements/Notes/NoteObjects/NoteBase.cs
index 3cbedd8b..16dad60d 100644
--- a/Assets/Scripts/Game/GameElements/Notes/NoteObjects/NoteBase.cs
+++ b/Assets/Scripts/Game/GameElements/Notes/NoteObjects/NoteBase.cs
@@ -201,7 +201,7 @@ namespace Ichni.RhythmGame
}
// AutoPlay
- if (SettingsManager.instance.gameSettings.autoPlay && !isFirstJudged && currentSongTime >= exactJudgeTime)
+ if (SettingsManager.instance.settingsSaveData.autoPlay && !isFirstJudged && currentSongTime >= exactJudgeTime)
{
ExecuteStartJudge(currentSongTime);
}
@@ -239,7 +239,7 @@ namespace Ichni.RhythmGame
protected virtual void SetJudgeArea()
{
- if (!SettingsManager.instance.gameSettings.debugMode || NoteJudgeSubmodule?.judgeUnitList == null) return;
+ if (!SettingsManager.instance.settingsSaveData.debugMode || NoteJudgeSubmodule?.judgeUnitList == null) return;
if (isDuringJudging && !isFirstJudged)
{
diff --git a/Assets/Scripts/Game/GameElements/Track/Track.cs b/Assets/Scripts/Game/GameElements/Track/Track.cs
index 1f730a0f..be84508e 100644
--- a/Assets/Scripts/Game/GameElements/Track/Track.cs
+++ b/Assets/Scripts/Game/GameElements/Track/Track.cs
@@ -63,7 +63,7 @@ namespace Ichni.RhythmGame
if(trackRendererSubmodule != null)
{
- trackRendererSubmodule.meshGenerator.autoUpdate = false;
+ trackRendererSubmodule.meshGenerator.autoUpdate = true;
}
}
#endregion
@@ -83,7 +83,7 @@ namespace Ichni.RhythmGame
}
#region [IScheduledElement] Scheduler Interface
- public void ScheduledUpdate(UpdatePhase phase, float songTime)
+ public override void ScheduledUpdate(UpdatePhase phase, float songTime)
{
ManualUpdate(songTime);
}
diff --git a/Assets/Scripts/Game/GameElements/Track/TrackSubmodules/TrackRendererSubmodule/TrackRendererSubmodule.cs b/Assets/Scripts/Game/GameElements/Track/TrackSubmodules/TrackRendererSubmodule/TrackRendererSubmodule.cs
index d24434bc..b7f73b17 100644
--- a/Assets/Scripts/Game/GameElements/Track/TrackSubmodules/TrackRendererSubmodule/TrackRendererSubmodule.cs
+++ b/Assets/Scripts/Game/GameElements/Track/TrackSubmodules/TrackRendererSubmodule/TrackRendererSubmodule.cs
@@ -89,10 +89,10 @@ namespace Ichni.RhythmGame
return;
}
- if (forceImmediateRebuild)
+ /*if (forceImmediateRebuild)
{
meshGenerator.RebuildImmediate();
- }
+ }*/
}
public void RequestMeshRebuild()
diff --git a/Assets/Scripts/Manager/GameInputManager.cs b/Assets/Scripts/Manager/GameInputManager.cs
index e153061d..ed26f6fc 100644
--- a/Assets/Scripts/Manager/GameInputManager.cs
+++ b/Assets/Scripts/Manager/GameInputManager.cs
@@ -100,7 +100,7 @@ namespace Ichni.RhythmGame
private void OnTap(int id, Vector2 position)
{
- if (SettingsManager.instance.gameSettings.debugMode)
+ if (SettingsManager.instance.settingsSaveData.debugMode)
{
GenerateTapMark(id, position);
}
@@ -110,7 +110,7 @@ namespace Ichni.RhythmGame
private void OnTouch(int id, Vector2 position)
{
- if (SettingsManager.instance.gameSettings.debugMode)
+ if (SettingsManager.instance.settingsSaveData.debugMode)
{
GenerateTouchMark(id, position);
}
@@ -120,7 +120,7 @@ namespace Ichni.RhythmGame
private void OnSwipe(int id, Vector2 position, bool isGeneric, bool isFirst, Vector2 direction)
{
- if (SettingsManager.instance.gameSettings.debugMode)
+ if (SettingsManager.instance.settingsSaveData.debugMode)
{
GenerateSwipeMark(id, position, isGeneric, isFirst, direction);
@@ -378,7 +378,7 @@ namespace Ichni.RhythmGame
if (_activeTouches.ContainsKey(touchId))
{
_activeTouches.Remove(touchId);
- if (SettingsManager.instance.gameSettings.debugMode)
+ if (SettingsManager.instance.settingsSaveData.debugMode)
{
GenerateEndMark(position);
}
@@ -390,7 +390,7 @@ namespace Ichni.RhythmGame
if (_activeTouches.ContainsKey(touchId))
{
_activeTouches.Remove(touchId);
- if (SettingsManager.instance.gameSettings.debugMode)
+ if (SettingsManager.instance.settingsSaveData.debugMode)
{
GenerateCanceledMark(position);
}
@@ -540,4 +540,4 @@ namespace Ichni.RhythmGame
ss.Play();
}
}
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/Manager/GameManager.cs b/Assets/Scripts/Manager/GameManager.cs
index 9b21f93e..17a2a1b4 100644
--- a/Assets/Scripts/Manager/GameManager.cs
+++ b/Assets/Scripts/Manager/GameManager.cs
@@ -54,7 +54,7 @@ namespace Ichni
public SummaryPageCanvas summaryPageCanvas;
public float SongTime => songPlayer.isStarting ? 0 :
- songPlayer.songTimeSegment - songInformation.offset - (SettingsManager.instance.gameSettings.beatmapOffset / 1000f);
+ songPlayer.songTimeSegment - songInformation.offset - (SettingsManager.instance.settingsSaveData.beatmapOffset / 1000f);
public bool IsPlaying => songPlayer != null && songPlayer.isPlaying;
diff --git a/Assets/Scripts/Manager/PostProcessingManager.cs b/Assets/Scripts/Manager/PostProcessingManager.cs
index 90277e58..557c8c70 100644
--- a/Assets/Scripts/Manager/PostProcessingManager.cs
+++ b/Assets/Scripts/Manager/PostProcessingManager.cs
@@ -5,6 +5,7 @@ using System.Linq;
using System.Reflection;
using Sirenix.OdinInspector;
using SLSUtilities.General;
+using SLSUtilities.Rendering.PostProcessing;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
@@ -13,6 +14,11 @@ namespace Ichni
{
public class PostProcessingManager : Singleton
{
+ ///
+ /// 当前已加载的 GameScene 后处理管理器。MenuScene 等未创建该对象的场景会返回 null。
+ ///
+ public static PostProcessingManager Instance => instance;
+
public static Volume GlobalVolume => instance.globalVolume;
[ShowInInspector]
@@ -26,6 +32,29 @@ namespace Ichni
// Force instantiate the volume profile on awake so it doesn't happen mid-game
_ = globalVolume.profile;
}
+
+ // GameScene 的 Global Volume 创建时,重新应用已加载的玩家设置,覆盖场景切换时的默认值。
+ SettingsManager.instance?.ApplyPostProcessingSettings();
+ }
+
+ ///
+ /// 将全局后处理状态与 Anime Bloom 档位写入 GameScene 的运行时 Profile。
+ /// Volume.profile 会提供运行时实例,因此不会修改磁盘上的 SampleSceneProfile 资产。
+ ///
+ public void ApplySettings(bool enablePostProcessing, BloomQuality bloomQuality)
+ {
+ globalVolume.enabled = enablePostProcessing;
+
+ if (!enablePostProcessing || !globalVolume.profile.TryGet(out AnimeBloom animeBloom))
+ {
+ return;
+ }
+
+ animeBloom.active = bloomQuality != BloomQuality.Off;
+ if (animeBloom.active)
+ {
+ animeBloom.diffusion.value = bloomQuality == BloomQuality.Performance ? 5 : 8;
+ }
}
}
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/Manager/ProjectLoader.cs b/Assets/Scripts/Manager/ProjectLoader.cs
index 9628bf46..b4f1dc66 100644
--- a/Assets/Scripts/Manager/ProjectLoader.cs
+++ b/Assets/Scripts/Manager/ProjectLoader.cs
@@ -1,7 +1,6 @@
using System;
using System.Collections;
using System.Collections.Generic;
-using System.Linq;
using DG.Tweening;
using Ichni.RhythmGame;
using Ichni.RhythmGame.Beatmap;
@@ -51,8 +50,7 @@ namespace Ichni
fakeLoadPercent = 0f;
Observable.EveryUpdate()
- .Where(_ => ThemeBundleManager.instance.waitingBundleAmount.Value == 0 &&
- GameManager.Instance.gameLoadingCanvas.allPartsSet)
+ .Where(_ => ThemeBundleManager.instance.waitingBundleAmount.Value == 0 && GameManager.Instance.gameLoadingCanvas.allPartsSet)
.First()
.Subscribe(_ =>
{
@@ -72,6 +70,8 @@ namespace Ichni
{
fakeLoadObserver.Dispose();
+ GameManager.Instance.beatmapContainer.RebuildRuntimeTimeDurations();
+
Observable.Timer(TimeSpan.FromSeconds(1f)).First().Subscribe(_ =>
{
GameManager.Instance.gameLoadingCanvas.FadeOut();
@@ -79,33 +79,27 @@ namespace Ichni
GameManager.Instance.songPlayer.isStarting = true;
GameManager.Instance.beatmapContainer.gameElementList.ForEach(element => element.BeforeStart());
-
- GameManager.Instance.gameUICanvas.readyText.DOFade(1, 0.5f)
- .SetLoops(4, LoopType.Yoyo).SetEase(Ease.InOutFlash).Play();
+ // isStarting maps the Ready screen to song time zero. Apply the
+ // duration-controlled active states before that screen becomes visible.
+ GameManager.Instance.beatmapContainer.SyncRuntimeTimeDurationStates(GameManager.Instance.SongTime);
+ GameManager.Instance.gameUICanvas.readyText.DOFade(1, 0.5f).SetLoops(4, LoopType.Yoyo).SetEase(Ease.InOutFlash).Play();
Observable.Timer(TimeSpan.FromSeconds(2)).First().Subscribe(_ =>
{
GameManager.Instance.songPlayer.isDelaying = true;
GameManager.Instance.songPlayer.isStarting = false;
+ // SongInformation.delay can make this timeline position negative.
+ // Re-sync immediately after the state switch so negative-time
+ // elements are correct before the first scheduler tick.
+ GameManager.Instance.beatmapContainer.SyncRuntimeTimeDurationStates(GameManager.Instance.SongTime);
Observable.NextFrame().Subscribe(_ =>
{
- GameManager.Instance.timeDurations = GameManager.Instance.beatmapContainer.gameElementList
- .Select(x => (x as IHaveTimeDurationSubmodule)?.timeDurationSubmodule)
- .Where(x => x != null && (x.startTime > 0 || x.endTime < GameManager.Instance.songInformation.songLength)).ToList();
GameManager.Instance.beatmapContainer.gameElementList.ForEach(element => element.WhenStart());
});
});
});
});
- });
-
- /*Observable.EveryUpdate()
- .Where(_ => !GameManager.Instance.audioManager.isStarting)
- .First()
- .Subscribe(_ =>
- {
-
- });*/
+ });
}
public void Load(string chapterName, string musicName, string difficultyName)
@@ -143,4 +137,4 @@ namespace Ichni
}
}
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/Manager/SongPlayer.cs b/Assets/Scripts/Manager/SongPlayer.cs
index cba89600..b3154773 100644
--- a/Assets/Scripts/Manager/SongPlayer.cs
+++ b/Assets/Scripts/Manager/SongPlayer.cs
@@ -154,6 +154,16 @@ namespace Ichni
StopMusicEvent.Post(gameObject);
}
+ ///
+ /// 清除由谱面音乐特效写入的滤波 RTPC。
+ /// SettingsManager 在玩家关闭游戏内音乐特效时调用此方法,确保设置立即生效。
+ ///
+ public void ResetInGameAudioEffects()
+ {
+ HighPassFilter.SetValue(gameObject, 0f);
+ LowPassFilter.SetValue(gameObject, 0f);
+ }
+
private void OnMusicEvent(object in_cookie, AkCallbackType in_type, AkCallbackInfo in_info)
{
Debug.Log(in_type + " " + in_info);
diff --git a/Assets/Scripts/Menu/MenuManager.cs b/Assets/Scripts/Menu/MenuManager.cs
index 99629175..3ab17271 100644
--- a/Assets/Scripts/Menu/MenuManager.cs
+++ b/Assets/Scripts/Menu/MenuManager.cs
@@ -3,7 +3,6 @@ using System.Collections;
using System.Collections.Generic;
using AK.Wwise;
using Ichni.Menu;
-using Ichni.Menu.UI;
using Ichni.Story;
using Ichni.Story.UI;
using Ichni.UI;
@@ -24,7 +23,6 @@ namespace Ichni
public LoginPage loginPage;
public ChapterSelectionUIPage chapterSelectionUIPage;
public StoryUIPage storyUIPage;
- public SelectionBoxUIPage selectionBoxUIPage;
// dialogUIPage 已随旧对话系统移除;阶段 3 将接入新的 VN 对话页面引用
public SongSelectionUIPage songSelectionUIPage;
public TransitionUIPage transitionUIPage;
@@ -88,7 +86,7 @@ namespace Ichni
// 返回目标是一次性运行态信息。无论是否能恢复页面,都不能让它在下次重进菜单时重复生效。
information?.ClearMenuReturnDestination();
- Application.targetFrameRate = SettingsManager.instance.gameSettings.targetFrame;
+ Application.targetFrameRate = SettingsManager.instance.settingsSaveData.targetFrame;
asyncOperation = SceneManager.LoadSceneAsync("GameScene");
asyncOperation.allowSceneActivation = false;
}
diff --git a/Assets/Scripts/Menu/MessagePage/MessageUIPage.cs b/Assets/Scripts/Menu/MessagePage/MessageUIPage.cs
index 970c77db..1c94d7c5 100644
--- a/Assets/Scripts/Menu/MessagePage/MessageUIPage.cs
+++ b/Assets/Scripts/Menu/MessagePage/MessageUIPage.cs
@@ -1,13 +1,15 @@
using System.Collections.Generic;
using Ichni.Menu.UI;
using Ichni.UI;
+using Sirenix.OdinInspector;
using UnityEngine;
namespace Ichni.Story.UI
{
///
- /// 用于在剧情系统中管理并顺序展示 MessageBox 的独立 UI 页面。
- /// 支持动态实例化给定的 MessageBox Prefab,并在所有消息展示完毕后进行大页面的 FadeOut。
+ /// 剧情与菜单共用的弹窗页面。
+ /// MessageBox 与 SelectionBox 共用同一遮罩、容器和显示队列:两者不会重叠,
+ /// 后续系统只需向本页提交“消息”或“选项”请求,无需再创建平行的 UIPage。
///
public class MessageUIPage : UIPageBase
{
@@ -20,16 +22,28 @@ namespace Ichni.Story.UI
[Tooltip("生成的 MessageBox 挂载在哪?如果不填,默认挂载在自己身上")]
public Transform messageContainer;
- // 用于排队的内部消息数据结构
- private struct PendingMessage
+ [Tooltip("通用多选弹窗预制体。TutorialBlock、奖励选择等系统都通过本页动态生成它。")]
+ public SelectionBox defaultSelectionBoxPrefab;
+
+ private enum PopupType
{
- public string title;
- public string content;
- public MessageBox customPrefab; // 支持未来传入不同种类的 Prefab
+ Message,
+ Selection
}
- private Queue _messageQueue = new Queue();
- private MessageBox _currentActiveBox;
+ // 用于统一排队的内部弹窗数据结构。
+ private struct PendingPopup
+ {
+ public PopupType type;
+ public string title;
+ public string content;
+ public MessageBox messagePrefab;
+ public List selectionOptions;
+ }
+
+ private readonly Queue _popupQueue = new();
+ private MessageBox _currentMessageBox;
+ private SelectionBox _currentSelectionBox;
private bool _isPageActive = false;
protected override void Awake()
@@ -71,6 +85,83 @@ namespace Ichni.Story.UI
EnqueueMessage(title, content, defaultMessageBoxPrefab);
}
+ ///
+ /// Inspector 专用的运行时调试入口。
+ /// 通过正常队列创建一条基础测试文本,因此可以同时验证新 Prefab 的布局、
+ /// 入退场动画、输入拦截与队列收尾,而不会绕过正式流程或污染剧情数据。
+ ///
+ [Button("调试:创建空 MessageBox", ButtonSizes.Medium)]
+ private void DebugCreateEmptyMessageBox()
+ {
+ if (!Application.isPlaying)
+ {
+ Debug.LogWarning("[MessageUIPage] 空 MessageBox 调试按钮只能在 Play Mode 中使用。", this);
+ return;
+ }
+
+ ShowCustomMessage(
+ "MessageBox Debug",
+ "这是一条用于检查基础布局、文本换行与 Rail 动效的测试文本。\n\n" +
+ "This is a basic MessageBox test message.");
+ }
+
+ ///
+ /// Inspector 专用的运行时调试入口。
+ /// 通过正常队列创建一条基础测试文本,因此可以同时验证新 Prefab 的布局、
+ /// 入退场动画、输入拦截与队列收尾,而不会绕过正式流程或污染剧情数据。
+ ///
+ [Button("调试:创建空 SelectionBox", ButtonSizes.Medium)]
+ private void DebugCreateEmptySelectionBox()
+ {
+ if (!Application.isPlaying)
+ {
+ Debug.LogWarning("[MessageUIPage] 空 SelectionBox 调试按钮只能在 Play Mode 中使用。", this);
+ return;
+ }
+
+ ShowSelectionBox(
+ "SelectionBox Debug",
+ "这是一条用于检查基础布局、文本换行与 Rail 动效的测试文本。\n\n" +
+ "This is a basic SelectionBox test message.",
+ new List
+ {
+ new SelectionBoxOption("Option 1", () => Debug.Log("Option 1 selected")),
+ new SelectionBoxOption("Option 2", () => Debug.Log("Option 2 selected")),
+ new SelectionBoxOption("Option 3", () => Debug.Log("Option 3 selected"))
+ });
+ }
+
+ ///
+ /// 将一组运行时选项加入通用弹窗队列。
+ /// 若 MessageBox 或其它 SelectionBox 正在显示,选项会按提交顺序等待,而不会叠在同一遮罩上。
+ ///
+ public bool ShowSelectionBox(string title, string content, IReadOnlyList options)
+ {
+ if (defaultSelectionBoxPrefab == null)
+ {
+ Debug.LogError("[MessageUIPage] 未配置 defaultSelectionBoxPrefab,无法显示选项框。");
+ return false;
+ }
+
+ if (options == null || options.Count == 0)
+ {
+ Debug.LogWarning("[MessageUIPage] 未提供任何 SelectionBoxOption,忽略空选项框。");
+ return false;
+ }
+
+ _popupQueue.Enqueue(new PendingPopup
+ {
+ type = PopupType.Selection,
+ title = title,
+ content = content,
+ // 复制调用方传入的列表,防止调用方随后改动集合而改变已排队的玩家选择。
+ selectionOptions = new List(options)
+ });
+
+ BeginQueueIfNeeded();
+ return true;
+ }
+
///
/// 将指定消息入队。如果是空闲状态,则唤醒大页面并开始处理队列。
///
@@ -82,22 +173,30 @@ namespace Ichni.Story.UI
return;
}
- _messageQueue.Enqueue(new PendingMessage
+ _popupQueue.Enqueue(new PendingPopup
{
+ type = PopupType.Message,
title = title,
content = content,
- customPrefab = prefab
+ messagePrefab = prefab
});
- // 如果当前页面没有在显示中,则开始整体流程
- if (!_isPageActive)
- {
- _isPageActive = true;
-
- // 唤醒大页面(执行 UIPageBase 的渐入并拦截底层射线)
- this.FadeIn(0.5f, false, ShowNextInQueue);
- }
-
+ BeginQueueIfNeeded();
+ }
+
+ ///
+ /// 若当前没有弹窗,激活共享遮罩后开始依次显示队列。遮罩从出现瞬间拦截输入,
+ /// 避免 UIPageBase 默认淡入结束前的短暂底层点击窗口。
+ ///
+ private void BeginQueueIfNeeded()
+ {
+ if (_isPageActive) return;
+
+ _isPageActive = true;
+ mainCanvasGroup.gameObject.SetActive(true);
+ mainCanvasGroup.interactable = true;
+ mainCanvasGroup.blocksRaycasts = true;
+ FadeIn(0f, false, ShowNextInQueue);
}
///
@@ -105,40 +204,85 @@ namespace Ichni.Story.UI
///
private void ShowNextInQueue()
{
- if (_messageQueue.Count == 0)
+ if (_popupQueue.Count == 0)
{
- // 队列处理完毕,大页面整体退场
- _currentActiveBox = null;
+ // 队列处理完毕,大页面整体退场。
+ _currentMessageBox = null;
+ _currentSelectionBox = null;
_isPageActive = false;
- this.FadeOut();
+ FadeOut(0f);
return;
}
- PendingMessage msg = _messageQueue.Dequeue();
-
- // 实例化预制体
- _currentActiveBox = Instantiate(msg.customPrefab, messageContainer);
-
- // 订阅“当这个消息框彻底结束关闭时”的事件
- _currentActiveBox.onAllMessagesClosed.AddListener(() =>
+ PendingPopup popup = _popupQueue.Dequeue();
+ if (popup.type == PopupType.Selection)
{
- // 销毁旧实例
- if (_currentActiveBox != null)
- {
- Destroy(_currentActiveBox.gameObject);
- }
-
- // 检查并显示下一个
- ShowNextInQueue();
- });
+ ShowSelectionPopup(popup);
+ return;
+ }
- // 配置并启动 MessageBox
- _currentActiveBox.Clear();
- _currentActiveBox.AddInfo(msg.title, msg.content, null);
-
- // MessageBox.SetUp() 内部会激活自己并执行自己的 FadeIn
- _currentActiveBox.gameObject.SetActive(true);
- _currentActiveBox.SetUp();
+ ShowMessagePopup(popup);
+ }
+
+ private void ShowMessagePopup(PendingPopup popup)
+ {
+ if (popup.messagePrefab == null)
+ {
+ Debug.LogError("[MessageUIPage] 队列中的 MessageBox Prefab 已丢失,跳过该消息。");
+ ShowNextInQueue();
+ return;
+ }
+
+ MessageBox messageBox = Instantiate(popup.messagePrefab, messageContainer);
+ _currentMessageBox = messageBox;
+
+ // MessageBox 只显示一条消息;队列顺序始终由本页统一管理。
+ messageBox.Closed += HandleMessageBoxClosed;
+ messageBox.gameObject.SetActive(true);
+ messageBox.SetUp(popup.title, popup.content);
+ }
+
+ private void HandleMessageBoxClosed(MessageBox messageBox)
+ {
+ messageBox.Closed -= HandleMessageBoxClosed;
+ Destroy(messageBox.gameObject);
+
+ if (_currentMessageBox == messageBox)
+ _currentMessageBox = null;
+
+ ShowNextInQueue();
+ }
+
+ private void ShowSelectionPopup(PendingPopup popup)
+ {
+ if (defaultSelectionBoxPrefab == null)
+ {
+ Debug.LogError("[MessageUIPage] 队列中的 SelectionBox Prefab 已丢失,跳过该选项框。");
+ ShowNextInQueue();
+ return;
+ }
+
+ SelectionBox selectionBox = Instantiate(defaultSelectionBoxPrefab, messageContainer);
+ _currentSelectionBox = selectionBox;
+ selectionBox.Closed += HandleSelectionBoxClosed;
+
+ if (!selectionBox.SetUp(popup.title, popup.content, popup.selectionOptions))
+ {
+ selectionBox.Closed -= HandleSelectionBoxClosed;
+ Destroy(selectionBox.gameObject);
+ _currentSelectionBox = null;
+ ShowNextInQueue();
+ }
+ }
+
+ private void HandleSelectionBoxClosed(SelectionBox selectionBox)
+ {
+ if (selectionBox != _currentSelectionBox) return;
+
+ selectionBox.Closed -= HandleSelectionBoxClosed;
+ Destroy(selectionBox.gameObject);
+ _currentSelectionBox = null;
+ ShowNextInQueue();
}
}
}
diff --git a/Assets/Scripts/NewStorySystem/Dialogue/StoryDialogueController.cs b/Assets/Scripts/NewStorySystem/Dialogue/StoryDialogueController.cs
index 04ad22e1..31242515 100644
--- a/Assets/Scripts/NewStorySystem/Dialogue/StoryDialogueController.cs
+++ b/Assets/Scripts/NewStorySystem/Dialogue/StoryDialogueController.cs
@@ -156,8 +156,8 @@ namespace Ichni.Story.Dialogue
{
action?.Invoke();
}
-
- MessageUIPage.instance.FadeIn();
+ // MessageUIPage 会在收到第一项消息/选项请求时自行开启统一队列与淡入,
+ // 此处不能再次直接 FadeIn,否则会与当前弹窗流程重复播放页面动画。
}
if (storyUIPage != null)
diff --git a/Assets/Scripts/NewStorySystem/Progress/StoryProgress.cs b/Assets/Scripts/NewStorySystem/Progress/StoryProgress.cs
index 5eb2ab19..a29734f0 100644
--- a/Assets/Scripts/NewStorySystem/Progress/StoryProgress.cs
+++ b/Assets/Scripts/NewStorySystem/Progress/StoryProgress.cs
@@ -55,7 +55,8 @@ namespace Ichni.Story
if (!TrySetBoolAndSave(tutorialBlock.tutorialProgressVariable, true))
return false;
- // completedBlockIds 只负责教程节点自身的 Completed 外观与不可重复点击;
+ // completedBlockIds 只负责教程节点自身的 Completed 外观;
+ // Completed TutorialBlock 仍可点击,以便玩家重复进入教程。
// 后续节点应在 StoryData 中以 VariableCondition 读取上面的剧情变量。
treeController.OnBlockCompleted(tutorialBlock.blockId);
return true;
diff --git a/Assets/Scripts/NewStorySystem/Progress/TutorialFlowController.cs b/Assets/Scripts/NewStorySystem/Progress/TutorialFlowController.cs
index f04d89b7..cc0d7524 100644
--- a/Assets/Scripts/NewStorySystem/Progress/TutorialFlowController.cs
+++ b/Assets/Scripts/NewStorySystem/Progress/TutorialFlowController.cs
@@ -1,5 +1,6 @@
using Ichni.Menu;
using Ichni.Menu.UI;
+using Ichni.Story.UI;
using System.Collections.Generic;
using UnityEngine;
@@ -13,7 +14,7 @@ namespace Ichni.Story
public static class TutorialFlowController
{
///
- /// 由 点击时调用。配置无效或 SelectionBox 页面未配置时只报错,不修改剧情进度。
+ /// 由 点击时调用。配置无效或 MessageUIPage 未配置时只报错,不修改剧情进度。
///
public static void RequestTutorial(StoryBlockDefinition tutorialBlock)
{
@@ -23,17 +24,16 @@ namespace Ichni.Story
return;
}
- MenuManager menuManager = MenuManager.instance;
- SelectionBoxUIPage selectionBoxPage = menuManager?.selectionBoxUIPage;
- if (selectionBoxPage == null)
+ MessageUIPage messageUIPage = MessageUIPage.instance;
+ if (messageUIPage == null)
{
- Debug.LogWarning("[TutorialFlowController] MenuManager 未配置 SelectionBoxUIPage,教程不会被解锁。");
+ Debug.LogWarning("[TutorialFlowController] MessageUIPage 未就绪,教程不会被解锁。");
return;
}
// TutorialFlowController 只描述“有哪些选择、各自触发什么效果”;
// 具体按钮由通用 SelectionBox 在运行时生成,后续其它系统可复用同一 UI。
- selectionBoxPage.Show(
+ messageUIPage.ShowSelectionBox(
tutorialBlock.tutorialName,
string.Empty,
new List
@@ -105,7 +105,8 @@ namespace Ichni.Story
string.IsNullOrWhiteSpace(tutorialBlock.tutorialProgressVariable) ||
tutorialBlock.tutorialDifficultySaveId < 0)
{
- Debug.LogWarning($"[TutorialFlowController] TutorialBlock '{tutorialBlock?.blockId}' 的 Tutorial Key、Progress Variable 或 Difficulty Save ID 未配置完整。");
+ Debug.LogWarning($"[TutorialFlowController] TutorialBlock '{tutorialBlock?.blockId}' 的 Tutorial Key、Progress Variable 或 Difficulty Save ID 未配置完整。\n" +
+ $"Tutorial Key:{tutorialBlock.tutorialKey}, Progress Variable:{tutorialBlock.tutorialProgressVariable}, Difficulty Save ID:{tutorialBlock.tutorialDifficultySaveId}");
return false;
}
diff --git a/Assets/Scripts/NewStorySystem/Tree/TutorialBlockView.cs b/Assets/Scripts/NewStorySystem/Tree/TutorialBlockView.cs
index 72b3aa7b..537cf6fe 100644
--- a/Assets/Scripts/NewStorySystem/Tree/TutorialBlockView.cs
+++ b/Assets/Scripts/NewStorySystem/Tree/TutorialBlockView.cs
@@ -4,8 +4,9 @@ using UnityEngine;
namespace Ichni.Story.UI
{
///
- /// 教程块视图。点击后由 显示确认窗口,
+ /// 教程块视图。点击后由 请求通用 SelectionBox,
/// 玩家选择游玩或跳过时都会写入教程剧情变量并刷新故事树。
+ /// 节点处于 Completed 时仍保持可点击,方便玩家随时回顾教程。
///
public class TutorialBlockView : StoryBlockView
{
@@ -25,16 +26,5 @@ namespace Ichni.Story.UI
TutorialFlowController.RequestTutorial(definition);
}
- ///
- /// 已处理的教程不再重复弹出“游玩 / 跳过”确认窗口。
- /// 教程重玩将来应由独立的教程入口提供,不复用剧情进度节点。
- ///
- public override void ApplyState(StoryBlockState newState)
- {
- base.ApplyState(newState);
-
- if (button != null && newState == StoryBlockState.Completed)
- button.interactable = false;
- }
}
}
diff --git a/Assets/Scripts/Settings/GameSettings.cs b/Assets/Scripts/Settings/GameSettings.cs
deleted file mode 100644
index 3e4d626f..00000000
--- a/Assets/Scripts/Settings/GameSettings.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.Localization.Settings;
-using UnityEngine.Rendering;
-using UnityEngine.Rendering.Universal;
-
-namespace Ichni
-{
- public class GameSettings
- {
- public int masterVolume = 50;
- public int musicVolume = 50;
- public int soundEffectVolume = 50;
- public int uiVolume = 50;
-
- public int targetFrame = 60;
- public int resolutionLevel = 3;
-
- public int beatmapOffset = 0;
-
- public int languageIndex = 0;
-
- public bool debugMode = false;
- public bool judgeType = false;
- public bool autoPlay = false;
-
- public bool ShouldUseFullScreenJudge()
- {
- return judgeType || InformationTransistor.instance?.difficulty?.ForceFullScreenJudge == true;
- }
-
- public GameSettings()
- {
-
- }
-
- public GameSettings(int masterVolume, int musicVolume, int soundEffectVolume, int uiVolume,
- int beatmapOffset, int targetFrame, int resolutionLevel, int languageIndex, bool debugMode,
- bool judgeType, bool autoPlay)
- {
- this.masterVolume = masterVolume;
- this.musicVolume = musicVolume;
- this.soundEffectVolume = soundEffectVolume;
- this.uiVolume = uiVolume;
- this.beatmapOffset = beatmapOffset;
- this.targetFrame = targetFrame;
- this.resolutionLevel = resolutionLevel;
- this.languageIndex = languageIndex;
- this.debugMode = debugMode;
- this.judgeType = judgeType;
- this.autoPlay = autoPlay;
- }
-
- public void ApplyVolume()
- {
- AkSoundEngine.SetRTPCValue("MasterVolume", masterVolume);
- AkSoundEngine.SetRTPCValue("MusicVolume", musicVolume);
- AkSoundEngine.SetRTPCValue("SoundFXVolume", soundEffectVolume);
- AkSoundEngine.SetRTPCValue("UIVolume", uiVolume);
- }
-
- public void ApplyGraphic()
- {
- Application.targetFrameRate = targetFrame;
- UniversalRenderPipelineAsset currentUrpAsset = GraphicsSettings.defaultRenderPipeline as UniversalRenderPipelineAsset;
- currentUrpAsset.renderScale = 0.5f + 0.1f * resolutionLevel;
- }
-
- public void ApplyLanguage()
- {
- I2.Loc.LocalizationManager.CurrentLanguage = MenuManager.instance.languageList[languageIndex];
- LocalizationSettings.SelectedLocale = LocalizationSettings.AvailableLocales.Locales[languageIndex];
- I2.Loc.LocalizationManager.UpdateSources();
- }
- }
-}
diff --git a/Assets/Scripts/Settings/SettingsManager.cs b/Assets/Scripts/Settings/SettingsManager.cs
index 39f4d7fe..964cfb18 100644
--- a/Assets/Scripts/Settings/SettingsManager.cs
+++ b/Assets/Scripts/Settings/SettingsManager.cs
@@ -1,17 +1,34 @@
using Ichni.Menu;
+using System.Collections.Generic;
using Sirenix.OdinInspector;
using UnityEngine;
+using UnityEngine.Localization.Settings;
+using UnityEngine.Rendering;
+using UnityEngine.Rendering.Universal;
+using UnityEngine.SceneManagement;
using UnityEngine.Serialization;
namespace Ichni
{
public class SettingsManager : SerializedMonoBehaviour
{
+ private const string SettingsSaveFileName = "SettingsSave.json";
+ private const string SettingsSaveKey = "SettingsSave";
+
+ private const string PerformantQualityName = "Performant";
+ private const string BalancedQualityName = "Balanced";
+ private const string HighFidelityQualityName = "High Fidelity";
+
public static SettingsManager instance;
[FormerlySerializedAs("settingsPage")]
public SettingsUIPage settingsUIPage;
- public GameSettings gameSettings;
+
+ [FormerlySerializedAs("gameSettings")]
+ public SettingsSaveData settingsSaveData;
+
+ // 记录相机在玩家关闭后处理前的原始状态。重新开启时必须恢复原始值,不能无条件将所有相机改为开启。
+ private readonly Dictionary postProcessingCameraStates = new Dictionary();
private void Awake()
{
@@ -19,6 +36,8 @@ namespace Ichni
{
instance = this;
DontDestroyOnLoad(gameObject);
+ SceneManager.sceneLoaded += OnSceneLoaded;
+ RenderPipelineManager.beginCameraRendering += ApplyPostProcessingSettingBeforeCameraRender;
}
else
{
@@ -26,6 +45,18 @@ namespace Ichni
}
}
+ private void OnDestroy()
+ {
+ if (instance != this)
+ {
+ return;
+ }
+
+ SceneManager.sceneLoaded -= OnSceneLoaded;
+ RenderPipelineManager.beginCameraRendering -= ApplyPostProcessingSettingBeforeCameraRender;
+ instance = null;
+ }
+
private void Start()
{
LoadGameSettings();
@@ -34,27 +65,269 @@ namespace Ichni
[Button]
public void SaveGameSettings()
{
- string savePath = Application.persistentDataPath + "/GameData/GameSettings.json";
- ES3.Save("GameSettings", gameSettings, savePath);
+ string savePath = Application.persistentDataPath + "/GameData/" + SettingsSaveFileName;
+ ES3.Save(SettingsSaveKey, settingsSaveData, savePath);
}
[Button]
public void LoadGameSettings()
{
- string savePath = Application.persistentDataPath + "/GameData/GameSettings.json";
+ string savePath = Application.persistentDataPath + "/GameData/" + SettingsSaveFileName;
if (ES3.FileExists(savePath))
{
- gameSettings = ES3.Load("GameSettings", savePath);
+ // 保留原有 ES3 Key,确保本次数据模型重命名不会让已有本地设置失效。
+ settingsSaveData = ES3.Load(SettingsSaveKey, savePath);
}
else
{
- gameSettings = new GameSettings(
- 50, 50, 50, 50,
- 0, 60, 3, 0, false, false, false);
+ settingsSaveData = CreateDefaultSettingsSaveData();
}
-
- gameSettings.ApplyVolume();
- gameSettings.ApplyGraphic();
+
+ ApplyAudioSettings();
+ ApplyGraphicSettings();
+ }
+
+ ///
+ /// 将音频分类的当前设置写入 Wwise RTPC。
+ ///
+ public void ApplyAudioSettings()
+ {
+ AkSoundEngine.SetRTPCValue("MasterVolume", settingsSaveData.masterVolume);
+ AkSoundEngine.SetRTPCValue("MusicVolume", settingsSaveData.musicVolume);
+ AkSoundEngine.SetRTPCValue("SoundFXVolume", settingsSaveData.soundEffectVolume);
+ AkSoundEngine.SetRTPCValue("UIVolume", settingsSaveData.uiVolume);
+ ApplyInGameAudioEffectsSettings();
+ }
+
+ ///
+ /// 应用游戏内音乐特效开关。关闭时立即清除歌曲正在使用的高通与低通滤波,
+ /// 防止设置变更后残留上一帧的 RTPC 值。
+ ///
+ public void ApplyInGameAudioEffectsSettings()
+ {
+ if (settingsSaveData.enableInGameAudioEffects)
+ {
+ return;
+ }
+
+ GameManager.Instance?.songPlayer?.ResetInGameAudioEffects();
+ }
+
+ ///
+ /// 将现有图形设置应用到运行时。更细的 Quality、VSync 与平台策略会在 Graphics 分类重构时接入。
+ ///
+ public void ApplyGraphicSettings()
+ {
+ int qualityLevelIndex = GetQualityLevelIndex(settingsSaveData.graphicsQualityPreset);
+ if (QualitySettings.GetQualityLevel() != qualityLevelIndex)
+ {
+ QualitySettings.SetQualityLevel(qualityLevelIndex, true);
+ }
+
+ Application.targetFrameRate = settingsSaveData.targetFrame;
+ UniversalRenderPipelineAsset currentUrpAsset = GraphicsSettings.currentRenderPipeline as UniversalRenderPipelineAsset;
+ currentUrpAsset.renderScale = 0.5f + 0.1f * settingsSaveData.renderScaleLevel;
+ ApplyDisplaySettings();
+ ApplyPostProcessingSettings();
+ }
+
+ ///
+ /// 应用后处理总开关与 Bloom 档位。
+ /// 关闭总开关时,已存在的 URP 相机会直接关闭 renderPostProcessing,并关闭 GameScene 的 Global Volume。
+ /// 这样既不会执行原生后处理,也不会执行 ScriptablePostProcessor 的自定义 Render Pass。
+ ///
+ public void ApplyPostProcessingSettings()
+ {
+ bool enablePostProcessing = settingsSaveData.enablePostProcessing;
+ UniversalAdditionalCameraData[] cameraDataList =
+ FindObjectsByType(FindObjectsInactive.Exclude, FindObjectsSortMode.None);
+
+ foreach (UniversalAdditionalCameraData cameraData in cameraDataList)
+ {
+ int instanceId = cameraData.GetInstanceID();
+ if (!postProcessingCameraStates.ContainsKey(instanceId))
+ {
+ postProcessingCameraStates.Add(instanceId, cameraData.renderPostProcessing);
+ }
+
+ cameraData.renderPostProcessing = enablePostProcessing && postProcessingCameraStates[instanceId];
+ }
+
+ if (PostProcessingManager.Instance != null)
+ {
+ PostProcessingManager.Instance.ApplySettings(enablePostProcessing, settingsSaveData.bloomQuality);
+ }
+ }
+
+ ///
+ /// 处理场景切换后新加载的相机与 Global Volume。SettingsManager 会跨场景保留,
+ /// 因此不能只在首次读取存档时应用一次图形设置。
+ ///
+ private void OnSceneLoaded(Scene scene, LoadSceneMode loadSceneMode)
+ {
+ if (settingsSaveData != null)
+ {
+ ApplyPostProcessingSettings();
+ }
+ }
+
+ ///
+ /// 兜底处理运行时晚于场景加载创建的相机(例如 Theme 或演出对象中的相机)。
+ /// 仅在玩家关闭后处理时执行,保证该相机在首次渲染前也不会运行后处理。
+ ///
+ private void ApplyPostProcessingSettingBeforeCameraRender(ScriptableRenderContext context, Camera camera)
+ {
+ if (settingsSaveData == null || settingsSaveData.enablePostProcessing ||
+ !camera.TryGetComponent(out UniversalAdditionalCameraData cameraData))
+ {
+ return;
+ }
+
+ int instanceId = cameraData.GetInstanceID();
+ if (!postProcessingCameraStates.ContainsKey(instanceId))
+ {
+ postProcessingCameraStates.Add(instanceId, cameraData.renderPostProcessing);
+ }
+
+ cameraData.renderPostProcessing = false;
+ }
+
+ ///
+ /// 将 VSync、窗口模式和分辨率立即应用到 Standalone / Unity Editor。
+ /// 移动端由系统管理显示模式与分辨率,因此不执行这些设置。
+ ///
+ public void ApplyDisplaySettings()
+ {
+#if UNITY_STANDALONE || UNITY_EDITOR
+ QualitySettings.vSyncCount = settingsSaveData.vSyncEnabled ? 1 : 0;
+
+ if (settingsSaveData.displayResolutionWidth <= 0 || settingsSaveData.displayResolutionHeight <= 0)
+ {
+ settingsSaveData.displayResolutionWidth = Screen.width;
+ settingsSaveData.displayResolutionHeight = Screen.height;
+ }
+
+ Screen.SetResolution(settingsSaveData.displayResolutionWidth, settingsSaveData.displayResolutionHeight,
+ GetFullScreenMode(settingsSaveData.displayMode));
+#endif
+ }
+
+ ///
+ /// 首次创建设置存档时,继承 Project Settings 为当前平台指定的默认 Quality Level。
+ /// 之后玩家的选择由 SettingsSaveData 持久化,不会在下次启动时被平台默认值覆盖。
+ ///
+ private SettingsSaveData CreateDefaultSettingsSaveData()
+ {
+ SettingsSaveData defaultSettings = new SettingsSaveData();
+ defaultSettings.graphicsQualityPreset = GetGraphicsQualityPreset(QualitySettings.GetQualityLevel());
+#if UNITY_STANDALONE || UNITY_EDITOR
+ defaultSettings.displayMode = GetGraphicsDisplayMode(Screen.fullScreenMode);
+ defaultSettings.displayResolutionWidth = Screen.width;
+ defaultSettings.displayResolutionHeight = Screen.height;
+#endif
+ return defaultSettings;
+ }
+
+ private FullScreenMode GetFullScreenMode(GraphicsDisplayMode displayMode)
+ {
+ return displayMode switch
+ {
+ GraphicsDisplayMode.Fullscreen => FullScreenMode.ExclusiveFullScreen,
+ GraphicsDisplayMode.Windowed => FullScreenMode.Windowed,
+ _ => FullScreenMode.FullScreenWindow
+ };
+ }
+
+ private GraphicsDisplayMode GetGraphicsDisplayMode(FullScreenMode fullScreenMode)
+ {
+ return fullScreenMode switch
+ {
+ FullScreenMode.ExclusiveFullScreen => GraphicsDisplayMode.Fullscreen,
+ FullScreenMode.Windowed => GraphicsDisplayMode.Windowed,
+ _ => GraphicsDisplayMode.BorderlessFullscreen
+ };
+ }
+
+ ///
+ /// 将存档枚举映射到 Project Settings 中同名的 Quality Level。
+ /// 若配置缺失,回退到 Balanced;这是移动端的首发默认档位。
+ ///
+ private int GetQualityLevelIndex(GraphicsQualityPreset qualityPreset)
+ {
+ string qualityName = GetQualityName(qualityPreset);
+ string[] qualityNames = QualitySettings.names;
+ for (int index = 0; index < qualityNames.Length; index++)
+ {
+ if (qualityNames[index] == qualityName)
+ {
+ return index;
+ }
+ }
+
+ Debug.LogWarning($"[SettingsManager] 未找到 Quality Level '{qualityName}',回退至 Balanced。");
+ return FindQualityLevelOrFallback(BalancedQualityName);
+ }
+
+ ///
+ /// 将当前 Quality Level 索引转换为可保存的枚举。未知的自定义档位统一按 Balanced 保存。
+ ///
+ private GraphicsQualityPreset GetGraphicsQualityPreset(int qualityLevelIndex)
+ {
+ string[] qualityNames = QualitySettings.names;
+ if (qualityLevelIndex < 0 || qualityLevelIndex >= qualityNames.Length)
+ {
+ return GraphicsQualityPreset.Balanced;
+ }
+
+ return qualityNames[qualityLevelIndex] switch
+ {
+ PerformantQualityName => GraphicsQualityPreset.Performant,
+ HighFidelityQualityName => GraphicsQualityPreset.HighFidelity,
+ _ => GraphicsQualityPreset.Balanced
+ };
+ }
+
+ private int FindQualityLevelOrFallback(string qualityName)
+ {
+ string[] qualityNames = QualitySettings.names;
+ for (int index = 0; index < qualityNames.Length; index++)
+ {
+ if (qualityNames[index] == qualityName)
+ {
+ return index;
+ }
+ }
+
+ return Mathf.Clamp(QualitySettings.GetQualityLevel(), 0, qualityNames.Length - 1);
+ }
+
+ private string GetQualityName(GraphicsQualityPreset qualityPreset)
+ {
+ return qualityPreset switch
+ {
+ GraphicsQualityPreset.Performant => PerformantQualityName,
+ GraphicsQualityPreset.HighFidelity => HighFidelityQualityName,
+ _ => BalancedQualityName
+ };
+ }
+
+ ///
+ /// 将当前语言索引应用到既有的 I2 与 Unity Localization 管线。
+ /// 语言将于 Localization 重构时改为稳定的 Locale ID;本阶段只迁移数据承载方式。
+ ///
+ public void ApplyLanguageSettings()
+ {
+ I2.Loc.LocalizationManager.CurrentLanguage = MenuManager.instance.languageList[settingsSaveData.languageIndex];
+ LocalizationSettings.SelectedLocale = LocalizationSettings.AvailableLocales.Locales[settingsSaveData.languageIndex];
+ I2.Loc.LocalizationManager.UpdateSources();
+ }
+
+ ///
+ /// 判断本谱面是否启用全屏判定。谱面强制要求的配置优先于玩家开关。
+ ///
+ public bool ShouldUseFullScreenJudge()
+ {
+ return settingsSaveData.judgeType || InformationTransistor.instance?.difficulty?.ForceFullScreenJudge == true;
}
}
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/Settings/SettingsSaveData.cs b/Assets/Scripts/Settings/SettingsSaveData.cs
new file mode 100644
index 00000000..304aa89d
--- /dev/null
+++ b/Assets/Scripts/Settings/SettingsSaveData.cs
@@ -0,0 +1,129 @@
+using System;
+using UnityEngine.Serialization;
+
+namespace Ichni
+{
+ ///
+ /// 与 Project Settings 中同名 Quality Level 对应的玩家图形档位。
+ /// 枚举值仅用于设置存档与 UI 顺序;实际应用时由 SettingsManager 按名称查找 Quality Level,
+ /// 因此调整 Project Settings 的档位顺序不会错误切换到其他渲染 Asset。
+ ///
+ public enum GraphicsQualityPreset
+ {
+ Performant = 0,
+ Balanced = 1,
+ HighFidelity = 2
+ }
+
+ ///
+ /// PC 显示模式。移动端不使用此设置,相关 UI 也不会显示。
+ ///
+ public enum GraphicsDisplayMode
+ {
+ Fullscreen = 0,
+ BorderlessFullscreen = 1,
+ Windowed = 2
+ }
+
+ ///
+ /// Anime Bloom 的质量档位。
+ /// Off 会保持其他后处理可用,但不执行 Bloom;Performance 与 Standard 分别使用预先确定的
+ /// Diffusion 值。具体数值由 统一应用,避免散落在 UI 或谱面代码中。
+ ///
+ public enum BloomQuality
+ {
+ Off = 0,
+ Performance = 1,
+ Standard = 2
+ }
+
+ ///
+ /// Note 与其他演出特效将使用的全局质量档位。
+ /// 本阶段先完成存档、UI 与运行时读取入口;各特效物体后续按自身开销实现 Low / Medium / High 的实际降级策略。
+ ///
+ public enum VfxQuality
+ {
+ Low = 0,
+ Medium = 1,
+ High = 2
+ }
+
+ ///
+ /// 玩家设置的唯一持久化数据模型。
+ ///
+ /// 此类只保存设置值,不负责将音量、图形或语言应用到运行时;
+ /// 运行时应用逻辑统一由 处理。
+ /// 后续按 Audio、Gameplay、Graphics 等类别拆分字段时,必须保留
+ /// ,并在 SettingsManager 中补充对应的迁移逻辑。
+ ///
+ [Serializable]
+ public class SettingsSaveData
+ {
+ ///
+ /// 设置存档结构版本。当前为首次建立 SettingsSaveData 的 V1。
+ ///
+ public const int CurrentSchemaVersion = 1;
+
+ public int schemaVersion = CurrentSchemaVersion;
+
+ // Audio
+ public int masterVolume = 50;
+ public int musicVolume = 50;
+ public int soundEffectVolume = 50;
+ public int uiVolume = 50;
+
+ ///
+ /// 是否启用游戏内音乐特效。当前控制 HighPassFilterEffect 与 LowPassFilterEffect;
+ /// 关闭时会立即清除正在歌曲上的滤波 RTPC,后续同类特效也应复用此开关。
+ ///
+ public bool enableInGameAudioEffects = true;
+
+ // Graphics
+ ///
+ /// 玩家选择的 Quality Preset。新存档会读取当前平台在 Project Settings 中配置的默认档位。
+ ///
+ public GraphicsQualityPreset graphicsQualityPreset = GraphicsQualityPreset.Balanced;
+
+ public int targetFrame = 60;
+
+ ///
+ /// URP Render Scale 档位,0–5 分别对应 0.5–1.0。
+ /// 保留 FormerlySerializedAs 以兼容场景中旧的字段名;预发布 ES3 存档可直接重置。
+ ///
+ [FormerlySerializedAs("resolutionLevel")]
+ public int renderScaleLevel = 3;
+
+ ///
+ /// 后处理总开关。关闭后,所有 URP 相机都会停用 post-processing,Global Volume 也不会参与计算;
+ /// 因此原生与自定义后处理都不会产生渲染开销。
+ ///
+ public bool enablePostProcessing = true;
+
+ ///
+ /// Anime Bloom 的质量档位。默认 Standard,对应 Diffusion 8。
+ ///
+ public BloomQuality bloomQuality = BloomQuality.Standard;
+
+ ///
+ /// 后续 Note / 演出特效读取的质量档位。默认 High,以保持当前未分级特效的视觉基线。
+ ///
+ public VfxQuality vfxQuality = VfxQuality.High;
+
+ // Desktop display settings. These values are saved on every platform but only applied on PC and in the Unity Editor.
+ public bool vSyncEnabled = false;
+ public GraphicsDisplayMode displayMode = GraphicsDisplayMode.BorderlessFullscreen;
+ public int displayResolutionWidth = 0;
+ public int displayResolutionHeight = 0;
+
+ // Gameplay
+ public int beatmapOffset = 0;
+
+ // Localization
+ public int languageIndex = 0;
+
+ // Developer settings. 这些字段会在后续分类重构时迁出正式 Release 设置。
+ public bool debugMode = false;
+ public bool judgeType = false;
+ public bool autoPlay = false;
+ }
+}
diff --git a/Assets/Scripts/Settings/GameSettings.cs.meta b/Assets/Scripts/Settings/SettingsSaveData.cs.meta
similarity index 83%
rename from Assets/Scripts/Settings/GameSettings.cs.meta
rename to Assets/Scripts/Settings/SettingsSaveData.cs.meta
index 328a63ee..154b2a66 100644
--- a/Assets/Scripts/Settings/GameSettings.cs.meta
+++ b/Assets/Scripts/Settings/SettingsSaveData.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: c2ca67619927cac4a91d5b0612d6f7eb
+guid: a52b8dd62f9e43b69cd3fa97ad8ed71c
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Scripts/UI/Base/Dropdown.cs b/Assets/Scripts/UI/Base/Dropdown.cs
index 2e3dcd27..dbf32077 100644
--- a/Assets/Scripts/UI/Base/Dropdown.cs
+++ b/Assets/Scripts/UI/Base/Dropdown.cs
@@ -12,9 +12,9 @@ namespace Ichni.UI
public int selectedIndex;
public string selectedOption;
- public void SetUp(int initialValue, List options, string title = "")
+ public void SetUp(int initialValue, List options, string title = "", bool preservePrefabTitle = false)
{
- base.SetUp(title);
+ base.SetUp(title, preservePrefabTitle: preservePrefabTitle);
this.options = options;
this.dropdown.items = new List();
@@ -45,4 +45,4 @@ namespace Ichni.UI
dropdown.UpdateItemLayout();
}
}
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/UI/Base/SettingsUIElementBase.cs b/Assets/Scripts/UI/Base/SettingsUIElementBase.cs
index 57bc0371..e94fbc27 100644
--- a/Assets/Scripts/UI/Base/SettingsUIElementBase.cs
+++ b/Assets/Scripts/UI/Base/SettingsUIElementBase.cs
@@ -19,8 +19,18 @@ namespace Ichni.UI
public UnityAction updateValueAction;
- public virtual void SetUp(string title = "", string subTitle = "")
+ ///
+ /// 初始化设置控件的标题区域。
+ /// 用于已经由 Unity Localization 直接驱动标题的控件:
+ /// 运行时代码不会覆盖或隐藏 Prefab 中的本地化标题。
+ ///
+ public virtual void SetUp(string title = "", string subTitle = "", bool preservePrefabTitle = false)
{
+ if (preservePrefabTitle)
+ {
+ return;
+ }
+
if (title != "")
{
SetTitle(title, subTitle);
@@ -51,4 +61,4 @@ namespace Ichni.UI
}
}
}
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/UI/Base/Switch.cs b/Assets/Scripts/UI/Base/Switch.cs
index 44d136b6..83b4e9a0 100644
--- a/Assets/Scripts/UI/Base/Switch.cs
+++ b/Assets/Scripts/UI/Base/Switch.cs
@@ -7,9 +7,9 @@ namespace Ichni.UI
public bool value;
public SwitchManager switchManager;
- public void SetUp(bool initialValue, string title = "")
+ public void SetUp(bool initialValue, string title = "", bool preservePrefabTitle = false)
{
- base.SetUp(title);
+ base.SetUp(title, preservePrefabTitle: preservePrefabTitle);
switchManager.onValueChanged.AddListener(isOn =>
{
@@ -34,4 +34,4 @@ namespace Ichni.UI
return value;
}
}
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/UI/Elements/MessageBox.cs b/Assets/Scripts/UI/Elements/MessageBox.cs
index f5698618..80e948a2 100644
--- a/Assets/Scripts/UI/Elements/MessageBox.cs
+++ b/Assets/Scripts/UI/Elements/MessageBox.cs
@@ -1,158 +1,323 @@
using System;
-using System.Collections;
-using System.Collections.Generic;
using DG.Tweening;
-using Sirenix.OdinInspector;
using SLSUtilities.WwiseAssistance;
using TMPro;
using UnityEngine;
-using UnityEngine.Events;
-using UnityEngine.Serialization;
using UnityEngine.UI;
namespace Ichni.Menu.UI
{
- public partial class MessageBox : SerializedMonoBehaviour
+ ///
+ /// 单条文本提示框。
+ /// 多条弹窗的 FIFO 顺序由 MessageUIPage 统一管理;本类只负责当前一条消息的布局、
+ /// 入退场视觉和确认输入,避免与 UIPage 的队列职责重复。
+ ///
+ public sealed class MessageBox : MonoBehaviour
{
- public CanvasGroup canvasGroup;
+ [Header("Base")]
+ [SerializeField] private CanvasGroup canvasGroup;
+ [SerializeField] private Button receiveButton;
- [Tooltip("当该消息框结束所有消息并彻底淡出消失时触发。")]
- public UnityEvent onAllMessagesClosed = new UnityEvent();
+ [Header("Text")]
+ [SerializeField] private TMP_Text titleText;
+ [SerializeField] private TMP_Text contentText;
- public int infoIndex;
- public List infos;
-
- public Sprite defaultIcon;
- public Image iconImage;
- public TMP_Text titleText;
- public TMP_Text contentText;
-
- public Button receiveButton;
-
- public Tweener fadeTweener;
+ [Header("Layout References")]
+ [Tooltip("可变高度的最终布局节点。动画期间不会修改它、Title 或 Content 的 RectTransform。")]
+ [SerializeField] private RectTransform messageBody;
+ [SerializeField] private RectTransform backgroundVisual;
+ [SerializeField] private RectMask2D titleTextMask;
+ [SerializeField] private RectTransform contentLayoutRoot;
+ [SerializeField] private RectMask2D contentTextMask;
+ [SerializeField] private RectTransform railRoot;
+ [SerializeField] private RectTransform leftRail;
+ [SerializeField] private RectTransform rightRail;
- private void Start()
+ [Header("Content Height Limit")]
+ [SerializeField, Min(0f)] private float maximumBodyHeight = 600f;
+ [SerializeField, Min(1f)] private float minimumContentFontSize = 18f;
+
+ [Header("Animation")]
+ [Tooltip("背景与文本 Mask 从中心展开前的延迟;Rail 的默认延迟为 0,因此会先行动。")]
+ [SerializeField, Min(0f)] private float bodyOpenDelay = 0.1f;
+ [SerializeField, Min(0f)] private float bodyOpenDuration = 0.5f;
+ [SerializeField, Min(0f)] private float railOpenDelay;
+ [SerializeField, Min(0f)] private float railOpenDuration = 0.5f;
+ [SerializeField, Min(0f)] private float bodyCloseDelay;
+ [SerializeField, Min(0f)] private float bodyCloseDuration = 0.5f;
+ [SerializeField, Min(0f)] private float railCloseDelay = 0.1f;
+ [SerializeField, Min(0f)] private float railCloseDuration = 0.5f;
+ [SerializeField, Min(0f)] private float closedMaskHorizontalPadding = 520f;
+ [SerializeField] private Ease bodyEase = Ease.OutCubic;
+ [SerializeField] private Ease railEase = Ease.OutQuart;
+
+ ///
+ /// 退场动画结束后触发。MessageUIPage 订阅它以销毁当前实例并继续 FIFO 队列。
+ ///
+ public event Action Closed;
+
+ private Sequence transitionSequence;
+ private CanvasGroup leftRailCanvasGroup;
+ private CanvasGroup rightRailCanvasGroup;
+ private Vector2 backgroundOpenSizeDelta;
+ private Vector2 leftRailOpenPosition;
+ private Vector2 rightRailOpenPosition;
+ private float contentMaximumFontSize;
+
+ private void Awake()
{
- receiveButton.onClick.AddListener(()=>PlayNextMessage(true));
- receiveButton.GetComponent().sizeDelta = new Vector2(Screen.width, Screen.height);
+ backgroundOpenSizeDelta = backgroundVisual.sizeDelta;
+ leftRailOpenPosition = leftRail.anchoredPosition;
+ rightRailOpenPosition = rightRail.anchoredPosition;
+ leftRailCanvasGroup = leftRail.GetComponent();
+ rightRailCanvasGroup = rightRail.GetComponent();
+ contentMaximumFontSize = contentText.fontSize;
+
+ receiveButton.onClick.AddListener(HandleReceiveButtonClicked);
}
- public void SetUp()
+ private void OnDestroy()
{
- if (infos.Count == 0)
+ transitionSequence?.Kill();
+ receiveButton.onClick.RemoveListener(HandleReceiveButtonClicked);
+ }
+
+ ///
+ /// 写入唯一一条待显示文本,并播放入场动画。
+ /// 多条提示请分别提交给 MessageUIPage,而不要在一个 MessageBox 中追加消息。
+ ///
+ public void SetUp(string title, string content)
+ {
+ titleText.text = title ?? string.Empty;
+ contentText.text = content ?? string.Empty;
+
+ RefreshLayoutAndFitContentText();
+ Open();
+ }
+
+ private void HandleReceiveButtonClicked()
+ {
+ AudioManager.Post(AK.EVENTS.CONFIRM);
+ Close();
+ }
+
+ ///
+ /// 使用最终宽度计算文字换行与内容高度。正文超过 maximumBodyHeight 时,
+ /// 通过二分查找缩小至可容纳的最大字号;不会引入滚动或截断内容。
+ ///
+ private void RefreshLayoutAndFitContentText()
+ {
+ SetOpenVisualState();
+ ForceRebuildLayout();
+
+ if (maximumBodyHeight <= 0f)
{
return;
}
-
- infoIndex = 0;
- PlayNextMessage();
- FadeIn();
- }
-
- public void SetUpIcon(Sprite icon)
- {
- iconImage.sprite = icon;
- }
- public void AddInfo(string title, string content, UnityAction action = null, Sprite icon = null)
- {
- MessageBoxInfo info = new MessageBoxInfo(icon, title, content, action);
- infos.Add(info);
- }
+ contentText.enableAutoSizing = false;
+ contentText.fontSize = contentMaximumFontSize;
+ ForceRebuildLayout();
- public void PlayNextMessage(bool playAudio = false)
- {
- if (playAudio)
+ if (messageBody.rect.height <= maximumBodyHeight)
{
- AudioManager.Post(AK.EVENTS.CONFIRM);
- }
-
- if (infoIndex >= infos.Count)
- {
- FadeOut();
return;
}
-
- infos[infoIndex].action?.Invoke();
-
- if (titleText != null) titleText.text = infos[infoIndex].title;
- if (contentText != null) contentText.text = infos[infoIndex].content;
-
- this.iconImage.sprite = infos[infoIndex].icon != null ? infos[infoIndex].icon : defaultIcon;
- infoIndex++;
- }
-
- public void Clear()
- {
- infos = new List();
- infoIndex = 0;
- iconImage.sprite = defaultIcon;
- titleText.text = string.Empty;
- contentText.text = string.Empty;
- }
- }
- public partial class MessageBox
- {
- // 废弃对 I2.Loc 参数化功能的支持
- // public void SetParameter(string paramName, string paramValue, bool localize = false)
- // {
- // }
- }
+ float minimumFontSize = Mathf.Min(minimumContentFontSize, contentMaximumFontSize);
+ float lowerBound = minimumFontSize;
+ float upperBound = contentMaximumFontSize;
+ float bestFontSize = minimumFontSize;
- public partial class MessageBox
- {
- public void FadeIn(float duration = 0.5f, bool ignoreTimeScale = false)
+ // 字号与内容高度单调相关;六次二分已足够平滑且只在弹窗创建时执行。
+ for (int iteration = 0; iteration < 6; iteration++)
+ {
+ float candidate = (lowerBound + upperBound) * 0.5f;
+ contentText.fontSize = candidate;
+ ForceRebuildLayout();
+
+ if (messageBody.rect.height <= maximumBodyHeight)
+ {
+ bestFontSize = candidate;
+ lowerBound = candidate;
+ }
+ else
+ {
+ upperBound = candidate;
+ }
+ }
+
+ contentText.fontSize = bestFontSize;
+ ForceRebuildLayout();
+
+ if (messageBody.rect.height > maximumBodyHeight)
+ {
+ Debug.LogWarning(
+ $"[MessageBox] 正文在最小字号 {minimumFontSize:F1} 下仍超过最大高度 {maximumBodyHeight:F1};" +
+ "已保留完整内容并允许消息框继续增高。",
+ this);
+ }
+ }
+
+ private void ForceRebuildLayout()
{
+ Canvas.ForceUpdateCanvases();
+ LayoutRebuilder.ForceRebuildLayoutImmediate(contentLayoutRoot);
+ LayoutRebuilder.ForceRebuildLayoutImmediate(messageBody);
+ Canvas.ForceUpdateCanvases();
+ }
+
+ ///
+ /// 恢复最终视觉尺寸以完成布局。这里不会改变 MessageBox、Title 或 Content 的尺寸,
+ /// 因此 TMP 在展开和收拢全过程都不会重新换行。
+ ///
+ private void SetOpenVisualState()
+ {
+ backgroundVisual.sizeDelta = backgroundOpenSizeDelta;
+ titleTextMask.padding = Vector4.zero;
+ contentTextMask.padding = Vector4.zero;
+ leftRail.anchoredPosition = leftRailOpenPosition;
+ rightRail.anchoredPosition = rightRailOpenPosition;
+ leftRailCanvasGroup.alpha = 1f;
+ rightRailCanvasGroup.alpha = 1f;
+ }
+
+ private void SetClosedVisualState()
+ {
+ backgroundVisual.sizeDelta = GetClosedBackgroundSizeDelta();
+ titleTextMask.padding = ClosedMaskPadding;
+ contentTextMask.padding = ClosedMaskPadding;
+
+ float halfRootWidth = railRoot.rect.width * 0.5f;
+ leftRail.anchoredPosition = new Vector2(halfRootWidth, leftRailOpenPosition.y);
+ rightRail.anchoredPosition = new Vector2(-halfRootWidth, rightRailOpenPosition.y);
+ leftRailCanvasGroup.alpha = 0f;
+ rightRailCanvasGroup.alpha = 0f;
+ }
+
+ private Vector4 ClosedMaskPadding =>
+ new(closedMaskHorizontalPadding, 0f, closedMaskHorizontalPadding, 0f);
+
+ ///
+ /// Background 使用左右 Stretch 锚点。以最终实际宽度抵消它的 SizeDelta X,
+ /// 可将图像视觉收拢到中心而不改变 MessageBox 的布局宽度。
+ ///
+ private Vector2 GetClosedBackgroundSizeDelta() =>
+ new(backgroundOpenSizeDelta.x - backgroundVisual.rect.width, backgroundOpenSizeDelta.y);
+
+ private static Tween CreateMaskPaddingTween(RectMask2D mask, Vector4 targetPadding, float duration, Ease ease) =>
+ DOTween.To(() => mask.padding, value => mask.padding = value, targetPadding, duration).SetEase(ease);
+
+ private static void AddRailTransition(
+ Sequence sequence,
+ RectTransform rail,
+ CanvasGroup railCanvasGroup,
+ Vector2 targetPosition,
+ float targetAlpha,
+ float delay,
+ float duration,
+ Ease positionEase)
+ {
+ sequence.Insert(delay, rail.DOAnchorPos(targetPosition, duration).SetEase(positionEase));
+ sequence.Insert(delay, railCanvasGroup.DOFade(targetAlpha, duration).SetEase(Ease.Linear));
+ }
+
+ ///
+ /// 只展开 Background 与两个文字 Mask;MessageBox、标题、正文均已是最终布局尺寸。
+ /// 每个 Sequence 都先 Pause,再在结尾显式调用 Play,符合项目的 DOTween 使用约定。
+ ///
+ private void Open()
+ {
+ transitionSequence?.Kill();
+
canvasGroup.gameObject.SetActive(true);
-
- fadeTweener = canvasGroup.DOFade(1f, duration).OnComplete(() =>
+ canvasGroup.alpha = 1f;
+ canvasGroup.interactable = false;
+ canvasGroup.blocksRaycasts = false;
+ SetClosedVisualState();
+
+ transitionSequence = DOTween.Sequence().SetAutoKill(true).Pause();
+ transitionSequence.Insert(
+ bodyOpenDelay,
+ backgroundVisual.DOSizeDelta(backgroundOpenSizeDelta, bodyOpenDuration).SetEase(bodyEase));
+ transitionSequence.Insert(
+ bodyOpenDelay,
+ CreateMaskPaddingTween(titleTextMask, Vector4.zero, bodyOpenDuration, bodyEase));
+ transitionSequence.Insert(
+ bodyOpenDelay,
+ CreateMaskPaddingTween(contentTextMask, Vector4.zero, bodyOpenDuration, bodyEase));
+ AddRailTransition(
+ transitionSequence,
+ leftRail,
+ leftRailCanvasGroup,
+ leftRailOpenPosition,
+ 1f,
+ railOpenDelay,
+ railOpenDuration,
+ railEase);
+ AddRailTransition(
+ transitionSequence,
+ rightRail,
+ rightRailCanvasGroup,
+ rightRailOpenPosition,
+ 1f,
+ railOpenDelay,
+ railOpenDuration,
+ railEase);
+
+ transitionSequence.OnComplete(() =>
{
canvasGroup.interactable = true;
canvasGroup.blocksRaycasts = true;
});
-
- if (ignoreTimeScale)
- {
- fadeTweener.SetUpdate(true);
- }
-
- fadeTweener.Play();
+ transitionSequence.Play();
}
-
- public void FadeOut(float duration = 0.5f, bool ignoreTimeScale = false)
+
+ ///
+ /// 反向收拢 Background、文字 Mask 和两侧 Rail;完成后通知 MessageUIPage 显示下一项。
+ ///
+ private void Close()
{
+ transitionSequence?.Kill();
canvasGroup.interactable = false;
canvasGroup.blocksRaycasts = false;
-
- fadeTweener = canvasGroup.DOFade(0f, duration).OnComplete(() =>
+
+ float halfRootWidth = railRoot.rect.width * 0.5f;
+ transitionSequence = DOTween.Sequence().SetAutoKill(true).Pause();
+ transitionSequence.Insert(
+ bodyCloseDelay,
+ backgroundVisual.DOSizeDelta(GetClosedBackgroundSizeDelta(), bodyCloseDuration).SetEase(Ease.InCubic));
+ transitionSequence.Insert(
+ bodyCloseDelay,
+ CreateMaskPaddingTween(titleTextMask, ClosedMaskPadding, bodyCloseDuration, Ease.InCubic));
+ transitionSequence.Insert(
+ bodyCloseDelay,
+ CreateMaskPaddingTween(contentTextMask, ClosedMaskPadding, bodyCloseDuration, Ease.InCubic));
+ AddRailTransition(
+ transitionSequence,
+ leftRail,
+ leftRailCanvasGroup,
+ new Vector2(halfRootWidth, leftRailOpenPosition.y),
+ 0f,
+ railCloseDelay,
+ railCloseDuration,
+ Ease.InQuart);
+ AddRailTransition(
+ transitionSequence,
+ rightRail,
+ rightRailCanvasGroup,
+ new Vector2(-halfRootWidth, rightRailOpenPosition.y),
+ 0f,
+ railCloseDelay,
+ railCloseDuration,
+ Ease.InQuart);
+
+ transitionSequence.OnComplete(() =>
{
canvasGroup.gameObject.SetActive(false);
- onAllMessagesClosed?.Invoke();
+ Closed?.Invoke(this);
});
-
- if (ignoreTimeScale)
- {
- fadeTweener.SetUpdate(true);
- }
-
- fadeTweener.Play();
+ transitionSequence.Play();
}
}
-
- public struct MessageBoxInfo
- {
- public Sprite icon;
- public string title;
- public string content;
- public UnityAction action;
-
- public MessageBoxInfo(Sprite icon, string title, string content, UnityAction action)
- {
- this.icon = icon;
- this.title = title;
- this.content = content;
- this.action = action;
- }
- }
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/UI/Elements/SelectionBox.cs b/Assets/Scripts/UI/Elements/SelectionBox.cs
index c882ce8d..4e214843 100644
--- a/Assets/Scripts/UI/Elements/SelectionBox.cs
+++ b/Assets/Scripts/UI/Elements/SelectionBox.cs
@@ -4,96 +4,306 @@ using DG.Tweening;
using TMPro;
using UnityEngine;
using UnityEngine.Events;
+using UnityEngine.UI;
namespace Ichni.Menu.UI
{
///
- /// 可复用的多选弹窗元素。调用方提供标题、内容与任意数量的 ,
- /// 本类动态实例化对应按钮,并确保一次显示最多只会执行一个选项回调。
+ /// 通用多选弹窗。
+ /// 标题、正文与按钮均在播放前完成最终布局;入退场只改变 Background、两处文本 Mask 和 Rail,
+ /// 因而不会在动画期间触发 TMP 重新换行或按钮布局抖动。
///
- public class SelectionBox : MonoBehaviour
+ public sealed class SelectionBox : MonoBehaviour
{
- [Header("Selection Box")]
- public CanvasGroup canvasGroup;
- public TMP_Text titleText;
- public TMP_Text contentText;
- public RectTransform optionContainer;
- public SelectionBoxButton optionButtonPrefab;
+ [Header("Base")]
+ [SerializeField] private CanvasGroup canvasGroup;
+ [SerializeField] private CanvasGroup optionCanvasGroup;
- private readonly List _generatedButtons = new();
- private bool _isResolved;
+ [Header("Text & Options")]
+ [SerializeField] private TMP_Text titleText;
+ [SerializeField] private TMP_Text contentText;
+ [SerializeField] private RectTransform optionContainer;
+ [SerializeField] private SelectionBoxButton optionButtonPrefab;
+
+ [Header("Layout References")]
+ [SerializeField] private RectTransform messageBody;
+ [SerializeField] private RectTransform backgroundVisual;
+ [SerializeField] private RectMask2D titleTextMask;
+ [SerializeField] private RectTransform contentLayoutRoot;
+ [SerializeField] private RectMask2D contentTextMask;
+ [SerializeField] private RectTransform railRoot;
+ [SerializeField] private RectTransform leftRail;
+ [SerializeField] private RectTransform rightRail;
+
+ [Header("Animation")]
+ [SerializeField, Min(0f)] private float bodyOpenDelay = 0.1f;
+ [SerializeField, Min(0f)] private float bodyOpenDuration = 0.5f;
+ [SerializeField, Min(0f)] private float railOpenDelay;
+ [SerializeField, Min(0f)] private float railOpenDuration = 0.5f;
+ [SerializeField, Min(0f)] private float bodyCloseDelay;
+ [SerializeField, Min(0f)] private float bodyCloseDuration = 0.5f;
+ [SerializeField, Min(0f)] private float railCloseDelay = 0.1f;
+ [SerializeField, Min(0f)] private float railCloseDuration = 0.5f;
+ [SerializeField, Min(0f)] private float closedMaskHorizontalPadding = 600f;
+ [SerializeField] private Ease bodyEase = Ease.OutCubic;
+ [SerializeField] private Ease railEase = Ease.OutQuart;
///
- /// 选项被选择并且自身淡出结束后触发。页面容器使用它销毁本次生成的 SelectionBox。
+ /// 玩家选择任一选项、弹窗完成退场后触发。MessageUIPage 使用它继续共享 FIFO 队列。
///
public event Action Closed;
+ private readonly List generatedButtons = new();
+ private Sequence transitionSequence;
+ private CanvasGroup leftRailCanvasGroup;
+ private CanvasGroup rightRailCanvasGroup;
+ private Vector2 backgroundOpenSizeDelta;
+ private Vector2 leftRailOpenPosition;
+ private Vector2 rightRailOpenPosition;
+ private bool isResolved;
+
private void Awake()
{
- canvasGroup ??= GetComponent();
+ backgroundOpenSizeDelta = backgroundVisual.sizeDelta;
+ leftRailOpenPosition = leftRail.anchoredPosition;
+ rightRailOpenPosition = rightRail.anchoredPosition;
+ leftRailCanvasGroup = leftRail.GetComponent();
+ rightRailCanvasGroup = rightRail.GetComponent();
+ }
+
+ private void OnDestroy()
+ {
+ transitionSequence?.Kill();
+ ClearGeneratedButtons();
}
///
- /// 根据运行时选项初始化弹窗。至少需要一个选项;失败时返回 false,且不会显示半配置的弹窗。
+ /// 创建本次选择所需的按钮并播放入场动画。空选项没有可执行的玩家选择,因此返回 false。
///
public bool SetUp(string title, string content, IReadOnlyList options)
{
- if (canvasGroup == null || optionContainer == null || optionButtonPrefab == null ||
- options == null || options.Count == 0)
+ if (options == null || options.Count == 0)
{
- Debug.LogWarning("[SelectionBox] 缺少 CanvasGroup、选项容器、选项按钮预制体,或未提供任何选项。");
+ Debug.LogWarning("[SelectionBox] 未提供任何 SelectionBoxOption,忽略空选项框。", this);
return false;
}
ClearGeneratedButtons();
- _isResolved = false;
-
- if (titleText != null) titleText.text = title ?? string.Empty;
- if (contentText != null) contentText.text = content ?? string.Empty;
+ isResolved = false;
+ titleText.text = title ?? string.Empty;
+ contentText.text = content ?? string.Empty;
foreach (SelectionBoxOption option in options)
{
SelectionBoxButton button = Instantiate(optionButtonPrefab, optionContainer);
- _generatedButtons.Add(button);
+ generatedButtons.Add(button);
button.SetUp(option.label, () => Select(option.action));
}
gameObject.SetActive(true);
- canvasGroup.alpha = 0f;
- canvasGroup.interactable = true;
- canvasGroup.blocksRaycasts = true;
- canvasGroup.DOFade(1f, 0.2f).Play();
+ RefreshFinalLayout();
+ Open();
return true;
}
private void Select(UnityAction action)
{
- if (_isResolved) return;
- _isResolved = true;
+ if (isResolved) return;
+ isResolved = true;
- // 先禁用所有输入,再执行回调。回调可以触发存档、场景切换或打开下一层 UI,
- // 因而不能让同一帧内的其它按钮再次触发。
+ // 先阻断输入,再执行可能触发存档、跳转或新 UI 的业务回调。
canvasGroup.interactable = false;
canvasGroup.blocksRaycasts = false;
- foreach (SelectionBoxButton button in _generatedButtons)
+ foreach (SelectionBoxButton button in generatedButtons)
{
- if (button?.button != null)
- button.button.interactable = false;
+ button.button.interactable = false;
}
action?.Invoke();
- canvasGroup.DOFade(0f, 0.2f).OnComplete(() => Closed?.Invoke(this)).Play();
+ Close();
+ }
+
+ ///
+ /// 在最终尺寸下重建正文、主体和按钮行的布局。后续动画不再改变这些布局节点的尺寸。
+ ///
+ private void RefreshFinalLayout()
+ {
+ SetOpenVisualState();
+ Canvas.ForceUpdateCanvases();
+ LayoutRebuilder.ForceRebuildLayoutImmediate(contentLayoutRoot);
+ LayoutRebuilder.ForceRebuildLayoutImmediate(messageBody);
+ LayoutRebuilder.ForceRebuildLayoutImmediate(optionContainer);
+ Canvas.ForceUpdateCanvases();
+ }
+
+ private void SetOpenVisualState()
+ {
+ backgroundVisual.sizeDelta = backgroundOpenSizeDelta;
+ titleTextMask.padding = Vector4.zero;
+ contentTextMask.padding = Vector4.zero;
+ optionContainer.localScale = new Vector3(1f, optionContainer.localScale.y, optionContainer.localScale.z);
+ optionCanvasGroup.alpha = 1f;
+ optionCanvasGroup.interactable = true;
+ optionCanvasGroup.blocksRaycasts = true;
+ leftRail.anchoredPosition = leftRailOpenPosition;
+ rightRail.anchoredPosition = rightRailOpenPosition;
+ leftRailCanvasGroup.alpha = 1f;
+ rightRailCanvasGroup.alpha = 1f;
+ }
+
+ private void SetClosedVisualState()
+ {
+ backgroundVisual.sizeDelta = GetClosedBackgroundSizeDelta();
+ titleTextMask.padding = ClosedMaskPadding;
+ contentTextMask.padding = ClosedMaskPadding;
+ optionCanvasGroup.alpha = 0f;
+ optionCanvasGroup.interactable = false;
+ optionCanvasGroup.blocksRaycasts = false;
+
+ float halfRootWidth = railRoot.rect.width * 0.5f;
+ leftRail.anchoredPosition = new Vector2(halfRootWidth, leftRailOpenPosition.y);
+ rightRail.anchoredPosition = new Vector2(-halfRootWidth, rightRailOpenPosition.y);
+ leftRailCanvasGroup.alpha = 0f;
+ rightRailCanvasGroup.alpha = 0f;
+ }
+
+ private Vector4 ClosedMaskPadding =>
+ new(closedMaskHorizontalPadding, 0f, closedMaskHorizontalPadding, 0f);
+
+ private Vector2 GetClosedBackgroundSizeDelta() =>
+ new(backgroundOpenSizeDelta.x - backgroundVisual.rect.width, backgroundOpenSizeDelta.y);
+
+ private static Tween CreateMaskPaddingTween(RectMask2D mask, Vector4 targetPadding, float duration, Ease ease) =>
+ DOTween.To(() => mask.padding, value => mask.padding = value, targetPadding, duration).SetEase(ease);
+
+ private static void AddRailTransition(
+ Sequence sequence,
+ RectTransform rail,
+ CanvasGroup railCanvasGroup,
+ Vector2 targetPosition,
+ float targetAlpha,
+ float delay,
+ float duration,
+ Ease positionEase)
+ {
+ sequence.Insert(delay, rail.DOAnchorPos(targetPosition, duration).SetEase(positionEase));
+ sequence.Insert(delay, railCanvasGroup.DOFade(targetAlpha, duration).SetEase(Ease.Linear));
+ }
+
+ private void Open()
+ {
+ transitionSequence?.Kill();
+ canvasGroup.gameObject.SetActive(true);
+ canvasGroup.alpha = 1f;
+ canvasGroup.interactable = false;
+ canvasGroup.blocksRaycasts = false;
+ SetClosedVisualState();
+
+ transitionSequence = DOTween.Sequence().SetAutoKill(true).Pause();
+ transitionSequence.Insert(
+ bodyOpenDelay,
+ backgroundVisual.DOSizeDelta(backgroundOpenSizeDelta, bodyOpenDuration).SetEase(bodyEase));
+ transitionSequence.Insert(
+ bodyOpenDelay,
+ CreateMaskPaddingTween(titleTextMask, Vector4.zero, bodyOpenDuration, bodyEase));
+ transitionSequence.Insert(
+ bodyOpenDelay,
+ CreateMaskPaddingTween(contentTextMask, Vector4.zero, bodyOpenDuration, bodyEase));
+ AddRailTransition(
+ transitionSequence,
+ leftRail,
+ leftRailCanvasGroup,
+ leftRailOpenPosition,
+ 1f,
+ railOpenDelay,
+ railOpenDuration,
+ railEase);
+ AddRailTransition(
+ transitionSequence,
+ rightRail,
+ rightRailCanvasGroup,
+ rightRailOpenPosition,
+ 1f,
+ railOpenDelay,
+ railOpenDuration,
+ railEase);
+
+ float optionRevealTime = bodyOpenDelay + bodyOpenDuration;
+ transitionSequence.Insert(
+ optionRevealTime,
+ optionCanvasGroup.DOFade(1f, 0.4f).From(0f).SetEase(Ease.Linear));
+ transitionSequence.Insert(
+ optionRevealTime,
+ optionContainer.DOAnchorPos(Vector2.zero, 0.4f).From(new Vector2(0f, 100f)).SetEase(Ease.OutQuad));
+ transitionSequence.OnComplete(() =>
+ {
+ canvasGroup.interactable = true;
+ canvasGroup.blocksRaycasts = true;
+ optionCanvasGroup.interactable = true;
+ optionCanvasGroup.blocksRaycasts = true;
+ });
+ // 项目约定:DOTween 动画必须由代码显式触发 Play。
+ transitionSequence.Play();
+ }
+
+ private void Close()
+ {
+ transitionSequence?.Kill();
+ canvasGroup.interactable = false;
+ canvasGroup.blocksRaycasts = false;
+ optionCanvasGroup.interactable = false;
+ optionCanvasGroup.blocksRaycasts = false;
+
+ float halfRootWidth = railRoot.rect.width * 0.5f;
+ transitionSequence = DOTween.Sequence().SetAutoKill(true).Pause();
+ transitionSequence.Insert(
+ bodyCloseDelay,
+ backgroundVisual.DOSizeDelta(GetClosedBackgroundSizeDelta(), bodyCloseDuration).SetEase(Ease.InCubic));
+ transitionSequence.Insert(
+ bodyCloseDelay,
+ CreateMaskPaddingTween(titleTextMask, ClosedMaskPadding, bodyCloseDuration, Ease.InCubic));
+ transitionSequence.Insert(
+ bodyCloseDelay,
+ CreateMaskPaddingTween(contentTextMask, ClosedMaskPadding, bodyCloseDuration, Ease.InCubic));
+ transitionSequence.Insert(
+ bodyCloseDelay,
+ optionContainer.DOScaleX(0f, bodyCloseDuration).SetEase(Ease.InCubic));
+ AddRailTransition(
+ transitionSequence,
+ leftRail,
+ leftRailCanvasGroup,
+ new Vector2(halfRootWidth, leftRailOpenPosition.y),
+ 0f,
+ railCloseDelay,
+ railCloseDuration,
+ Ease.InQuart);
+ AddRailTransition(
+ transitionSequence,
+ rightRail,
+ rightRailCanvasGroup,
+ new Vector2(-halfRootWidth, rightRailOpenPosition.y),
+ 0f,
+ railCloseDelay,
+ railCloseDuration,
+ Ease.InQuart);
+
+ transitionSequence.OnComplete(() =>
+ {
+ canvasGroup.gameObject.SetActive(false);
+ Closed?.Invoke(this);
+ });
+ // 项目约定:DOTween 动画必须由代码显式触发 Play。
+ transitionSequence.Play();
}
private void ClearGeneratedButtons()
{
- foreach (SelectionBoxButton button in _generatedButtons)
+ foreach (SelectionBoxButton button in generatedButtons)
{
- if (button != null)
- Destroy(button.gameObject);
+ Destroy(button.gameObject);
}
- _generatedButtons.Clear();
+ generatedButtons.Clear();
}
}
diff --git a/Assets/Scripts/UI/Elements/SelectionBoxUIPage.cs b/Assets/Scripts/UI/Elements/SelectionBoxUIPage.cs
deleted file mode 100644
index bad29905..00000000
--- a/Assets/Scripts/UI/Elements/SelectionBoxUIPage.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-using System.Collections.Generic;
-using Ichni.UI;
-using UnityEngine;
-
-namespace Ichni.Menu.UI
-{
- ///
- /// 通用 SelectionBox 的页面宿主,职责等同于 MessageBox 的页面容器:
- /// 显示时动态生成一个 SelectionBox,选择完成后统一淡出并销毁本次实例。
- ///
- public class SelectionBoxUIPage : UIPageBase
- {
- [Header("Selection Box Page")]
- public SelectionBox selectionBoxPrefab;
- public RectTransform selectionBoxContainer;
-
- private SelectionBox _currentSelectionBox;
- private bool _isShowing;
-
- /// 当前是否已有一个 SelectionBox 等待玩家选择。
- public bool IsShowing => _isShowing;
-
- ///
- /// 生成并显示一组运行时选项。页面显示期间拒绝重复请求,避免两个弹窗争夺输入。
- ///
- public bool Show(string title, string content, IReadOnlyList options)
- {
- if (_isShowing)
- {
- Debug.LogWarning("[SelectionBoxUIPage] 已有 SelectionBox 显示中,忽略重复请求。");
- return false;
- }
-
- if (mainCanvasGroup == null || selectionBoxPrefab == null || selectionBoxContainer == null)
- {
- Debug.LogWarning("[SelectionBoxUIPage] 缺少 CanvasGroup、SelectionBox Prefab 或容器,无法显示选项框。");
- return false;
- }
-
- _currentSelectionBox = Instantiate(selectionBoxPrefab, selectionBoxContainer);
- _currentSelectionBox.Closed += HandleSelectionBoxClosed;
- if (!_currentSelectionBox.SetUp(title, content, options))
- {
- Destroy(_currentSelectionBox.gameObject);
- _currentSelectionBox = null;
- return false;
- }
-
- _isShowing = true;
-
- // UIPageBase 默认淡入完成后才开启射线;选择框从出现瞬间就必须阻断底层输入。
- mainCanvasGroup.gameObject.SetActive(true);
- mainCanvasGroup.interactable = true;
- mainCanvasGroup.blocksRaycasts = true;
- FadeIn();
- return true;
- }
-
- private void HandleSelectionBoxClosed(SelectionBox selectionBox)
- {
- if (selectionBox != _currentSelectionBox) return;
-
- FadeOut(0.2f, false, () =>
- {
- if (_currentSelectionBox != null)
- Destroy(_currentSelectionBox.gameObject);
-
- _currentSelectionBox = null;
- _isShowing = false;
- });
- }
- }
-}
diff --git a/Assets/Scripts/UI/Elements/SelectionBoxUIPage.cs.meta b/Assets/Scripts/UI/Elements/SelectionBoxUIPage.cs.meta
deleted file mode 100644
index 3cdfe528..00000000
--- a/Assets/Scripts/UI/Elements/SelectionBoxUIPage.cs.meta
+++ /dev/null
@@ -1,2 +0,0 @@
-fileFormatVersion: 2
-guid: e8b607f8c5654e1eb3bf1f7ca33fd3a4
diff --git a/Assets/Scripts/UI/Settings/AudioSettingsWindow.cs b/Assets/Scripts/UI/Settings/AudioSettingsWindow.cs
index 3362af94..19f39458 100644
--- a/Assets/Scripts/UI/Settings/AudioSettingsWindow.cs
+++ b/Assets/Scripts/UI/Settings/AudioSettingsWindow.cs
@@ -11,6 +11,7 @@ namespace Ichni.Menu
public ValueModifier musicVolumeModifier;
public ValueModifier sfxVolumeModifier;
public ValueModifier uiVolumeModifier;
+ public Switch inGameAudioEffectsSwitch;
public override void Initialize()
{
@@ -19,7 +20,7 @@ namespace Ichni.Menu
mainVolumeModifier.updateValueAction = () =>
{
gameSettings.masterVolume = mainVolumeModifier.GetValue();
- gameSettings.ApplyVolume();
+ SettingsManager.instance.ApplyAudioSettings();
};
musicVolumeModifier.SetUp(gameSettings.musicVolume, 10, "Menu UI/Settings_Music_Volume");
@@ -27,7 +28,7 @@ namespace Ichni.Menu
musicVolumeModifier.updateValueAction = () =>
{
gameSettings.musicVolume = musicVolumeModifier.GetValue();
- gameSettings.ApplyVolume();
+ SettingsManager.instance.ApplyAudioSettings();
};
sfxVolumeModifier.SetUp(gameSettings.soundEffectVolume, 10, "Menu UI/Settings_SFX_Volume");
@@ -35,7 +36,7 @@ namespace Ichni.Menu
sfxVolumeModifier.updateValueAction = () =>
{
gameSettings.soundEffectVolume = sfxVolumeModifier.GetValue();
- gameSettings.ApplyVolume();
+ SettingsManager.instance.ApplyAudioSettings();
};
uiVolumeModifier.SetUp(gameSettings.uiVolume, 10, "Menu UI/Settings_UI_Volume");
@@ -43,7 +44,15 @@ namespace Ichni.Menu
uiVolumeModifier.updateValueAction = () =>
{
gameSettings.uiVolume = uiVolumeModifier.GetValue();
- gameSettings.ApplyVolume();
+ SettingsManager.instance.ApplyAudioSettings();
+ };
+
+ inGameAudioEffectsSwitch.SetUp(gameSettings.enableInGameAudioEffects,
+ "Menu UI/Settings_InGame_Audio_Effects");
+ inGameAudioEffectsSwitch.updateValueAction = () =>
+ {
+ gameSettings.enableInGameAudioEffects = inGameAudioEffectsSwitch.GetValue();
+ SettingsManager.instance.ApplyInGameAudioEffectsSettings();
};
}
@@ -53,6 +62,7 @@ namespace Ichni.Menu
musicVolumeModifier.SetValue(gameSettings.musicVolume);
sfxVolumeModifier.SetValue(gameSettings.soundEffectVolume);
uiVolumeModifier.SetValue(gameSettings.uiVolume);
+ inGameAudioEffectsSwitch.SetValue(gameSettings.enableInGameAudioEffects);
}
}
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/UI/Settings/GamePlaySettingsWindow.cs b/Assets/Scripts/UI/Settings/GamePlaySettingsWindow.cs
index 13929962..f0fd83fc 100644
--- a/Assets/Scripts/UI/Settings/GamePlaySettingsWindow.cs
+++ b/Assets/Scripts/UI/Settings/GamePlaySettingsWindow.cs
@@ -25,7 +25,7 @@ namespace Ichni.UI
languageDropdown.updateValueAction = () =>
{
gameSettings.languageIndex = languageDropdown.selectedIndex;
- gameSettings.ApplyLanguage();
+ SettingsManager.instance.ApplyLanguageSettings();
};
}
@@ -34,4 +34,4 @@ namespace Ichni.UI
languageDropdown.SetValue(gameSettings.languageIndex);
}
}
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/UI/Settings/GraphicsSettingsWindow.cs b/Assets/Scripts/UI/Settings/GraphicsSettingsWindow.cs
index 213a221f..de702d0b 100644
--- a/Assets/Scripts/UI/Settings/GraphicsSettingsWindow.cs
+++ b/Assets/Scripts/UI/Settings/GraphicsSettingsWindow.cs
@@ -2,22 +2,70 @@ using System.Collections;
using System.Collections.Generic;
using Ichni.UI;
using UnityEngine;
+using UnityEngine.Serialization;
namespace Ichni.Menu
{
public class GraphicsSettingsWindow : SettingsWindow
{
- public ValueModifier resolutionLevelModifier;
+ private static readonly List QualityPresetOptions = new List
+ {
+ "Performant",
+ "Balanced",
+ "High Fidelity"
+ };
+
+ private static readonly List DisplayModeOptions = new List
+ {
+ "Fullscreen",
+ "Borderless Fullscreen",
+ "Windowed"
+ };
+
+ private static readonly List BloomQualityOptions = new List
+ {
+ "Off",
+ "Performance",
+ "Standard"
+ };
+
+ private static readonly List VfxQualityOptions = new List
+ {
+ "Low",
+ "Medium",
+ "High"
+ };
+
+ private readonly List _availableDisplayResolutions = new List();
+ private readonly List _displayResolutionOptions = new List();
+
+ public Dropdown qualityPresetDropdown;
+ [FormerlySerializedAs("resolutionLevelModifier")]
+ public ValueModifier renderScaleModifier;
public ValueModifier targetFrameModifier;
+ public Switch postProcessingSwitch;
+ public Dropdown bloomQualityDropdown;
+ public Dropdown vfxQualityDropdown;
+ public Switch vSyncSwitch;
+ public Dropdown displayModeDropdown;
+ public Dropdown displayResolutionDropdown;
public override void Initialize()
{
- resolutionLevelModifier.SetUp(gameSettings.resolutionLevel, 1, "Menu UI/Settings_Resolution_Level");
- resolutionLevelModifier.SetMinMax(0, 5);
- resolutionLevelModifier.updateValueAction = () =>
+ qualityPresetDropdown.SetUp((int)gameSettings.graphicsQualityPreset, QualityPresetOptions,
+ "Menu UI/Settings_Quality_Preset");
+ qualityPresetDropdown.updateValueAction = () =>
{
- gameSettings.resolutionLevel = resolutionLevelModifier.GetValue();
- gameSettings.ApplyGraphic();
+ gameSettings.graphicsQualityPreset = (GraphicsQualityPreset)qualityPresetDropdown.selectedIndex;
+ SettingsManager.instance.ApplyGraphicSettings();
+ };
+
+ renderScaleModifier.SetUp(gameSettings.renderScaleLevel, 1, "Menu UI/Settings_Render_Scale");
+ renderScaleModifier.SetMinMax(0, 5);
+ renderScaleModifier.updateValueAction = () =>
+ {
+ gameSettings.renderScaleLevel = renderScaleModifier.GetValue();
+ SettingsManager.instance.ApplyGraphicSettings();
};
targetFrameModifier.SetUp(gameSettings.targetFrame, 30, "Menu UI/Settings_Target_Frame");
@@ -25,14 +73,148 @@ namespace Ichni.Menu
targetFrameModifier.updateValueAction = () =>
{
gameSettings.targetFrame = targetFrameModifier.GetValue();
- gameSettings.ApplyGraphic();
+ SettingsManager.instance.ApplyGraphicSettings();
};
+
+ InitializePostProcessingSettings();
+
+#if UNITY_STANDALONE || UNITY_EDITOR
+ InitializeDesktopDisplaySettings();
+#else
+ vSyncSwitch.gameObject.SetActive(false);
+ displayModeDropdown.gameObject.SetActive(false);
+ displayResolutionDropdown.gameObject.SetActive(false);
+#endif
}
public override void SetValuesFromSettings()
{
- resolutionLevelModifier.SetValue(gameSettings.resolutionLevel);
+ qualityPresetDropdown.SetValue((int)gameSettings.graphicsQualityPreset);
+ renderScaleModifier.SetValue(gameSettings.renderScaleLevel);
targetFrameModifier.SetValue(gameSettings.targetFrame);
+
+ if (postProcessingSwitch != null)
+ {
+ postProcessingSwitch.SetValue(gameSettings.enablePostProcessing);
+ bloomQualityDropdown.SetValue((int)gameSettings.bloomQuality);
+ vfxQualityDropdown.SetValue((int)gameSettings.vfxQuality);
+ }
+
+#if UNITY_STANDALONE || UNITY_EDITOR
+ vSyncSwitch.SetValue(gameSettings.vSyncEnabled);
+ displayModeDropdown.SetValue((int)gameSettings.displayMode);
+ displayResolutionDropdown.SetValue(GetDisplayResolutionIndex());
+#endif
}
+
+ ///
+ /// 初始化后处理、Bloom 与 VFX 档位。
+ /// 三个标题由 Prefab 上的 Unity Localization 组件管理,因此这里保留原有标题显示,不再由脚本写入本地化 Key。
+ /// 在旧 Prefab 尚未布置这些控件前保留兼容分支,避免更新脚本后立即破坏既有设置页。
+ ///
+ private void InitializePostProcessingSettings()
+ {
+ if (postProcessingSwitch == null)
+ {
+ return;
+ }
+
+ postProcessingSwitch.SetUp(gameSettings.enablePostProcessing, preservePrefabTitle: true);
+ postProcessingSwitch.updateValueAction = () =>
+ {
+ gameSettings.enablePostProcessing = postProcessingSwitch.GetValue();
+ SettingsManager.instance.ApplyPostProcessingSettings();
+ };
+
+ bloomQualityDropdown.SetUp((int)gameSettings.bloomQuality, BloomQualityOptions, preservePrefabTitle: true);
+ bloomQualityDropdown.updateValueAction = () =>
+ {
+ gameSettings.bloomQuality = (BloomQuality)bloomQualityDropdown.selectedIndex;
+ SettingsManager.instance.ApplyPostProcessingSettings();
+ };
+
+ vfxQualityDropdown.SetUp((int)gameSettings.vfxQuality, VfxQualityOptions, preservePrefabTitle: true);
+ vfxQualityDropdown.updateValueAction = () =>
+ {
+ gameSettings.vfxQuality = (VfxQuality)vfxQualityDropdown.selectedIndex;
+ };
+ }
+
+#if UNITY_STANDALONE || UNITY_EDITOR
+ private void InitializeDesktopDisplaySettings()
+ {
+ BuildDisplayResolutionOptions();
+
+ vSyncSwitch.SetUp(gameSettings.vSyncEnabled, "Menu UI/Settings_VSync");
+ vSyncSwitch.updateValueAction = () =>
+ {
+ gameSettings.vSyncEnabled = vSyncSwitch.GetValue();
+ SettingsManager.instance.ApplyDisplaySettings();
+ };
+
+ displayModeDropdown.SetUp((int)gameSettings.displayMode, DisplayModeOptions,
+ "Menu UI/Settings_Display_Mode");
+ displayModeDropdown.updateValueAction = () =>
+ {
+ gameSettings.displayMode = (GraphicsDisplayMode)displayModeDropdown.selectedIndex;
+ SettingsManager.instance.ApplyDisplaySettings();
+ };
+
+ displayResolutionDropdown.SetUp(GetDisplayResolutionIndex(), _displayResolutionOptions,
+ "Menu UI/Settings_Display_Resolution");
+ displayResolutionDropdown.updateValueAction = () =>
+ {
+ Vector2Int resolution = _availableDisplayResolutions[displayResolutionDropdown.selectedIndex];
+ gameSettings.displayResolutionWidth = resolution.x;
+ gameSettings.displayResolutionHeight = resolution.y;
+ SettingsManager.instance.ApplyDisplaySettings();
+ };
+ }
+
+ private void BuildDisplayResolutionOptions()
+ {
+ _availableDisplayResolutions.Clear();
+ _displayResolutionOptions.Clear();
+
+ AddDisplayResolution(Screen.width, Screen.height);
+ foreach (Resolution resolution in Screen.resolutions)
+ {
+ AddDisplayResolution(resolution.width, resolution.height);
+ }
+
+ _availableDisplayResolutions.Sort((left, right) =>
+ {
+ int pixelCountComparison = (left.x * left.y).CompareTo(right.x * right.y);
+ return pixelCountComparison != 0 ? pixelCountComparison : left.x.CompareTo(right.x);
+ });
+
+ foreach (Vector2Int resolution in _availableDisplayResolutions)
+ {
+ _displayResolutionOptions.Add($"{resolution.x} x {resolution.y}");
+ }
+ }
+
+ private void AddDisplayResolution(int width, int height)
+ {
+ Vector2Int resolution = new Vector2Int(width, height);
+ if (!_availableDisplayResolutions.Contains(resolution))
+ {
+ _availableDisplayResolutions.Add(resolution);
+ }
+ }
+
+ private int GetDisplayResolutionIndex()
+ {
+ Vector2Int savedResolution = new Vector2Int(gameSettings.displayResolutionWidth,
+ gameSettings.displayResolutionHeight);
+ int savedResolutionIndex = _availableDisplayResolutions.IndexOf(savedResolution);
+ if (savedResolutionIndex >= 0)
+ {
+ return savedResolutionIndex;
+ }
+
+ return _availableDisplayResolutions.IndexOf(new Vector2Int(Screen.width, Screen.height));
+ }
+#endif
}
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/UI/Settings/OffsetEditor.cs b/Assets/Scripts/UI/Settings/OffsetEditor.cs
index 351d3017..96216831 100644
--- a/Assets/Scripts/UI/Settings/OffsetEditor.cs
+++ b/Assets/Scripts/UI/Settings/OffsetEditor.cs
@@ -48,7 +48,7 @@ namespace Ichni.Menu
offsetModifier.SetPrefixAndSuffix("", " ms", true);
offsetModifier.updateValueAction = () =>
{
- offset = SettingsManager.instance.gameSettings.beatmapOffset = offsetModifier.GetValue();
+ offset = SettingsManager.instance.settingsSaveData.beatmapOffset = offsetModifier.GetValue();
largeOffsetHintText.gameObject.SetActive(Mathf.Abs(offset) > 50);
};
@@ -71,7 +71,7 @@ namespace Ichni.Menu
(uint)AkCallbackType.AK_EnableGetMusicPlayPosition | (uint)AkCallbackType.AK_MusicSyncEntry,
OnMusicEvent, null);
- offsetModifier.SetValue(SettingsManager.instance.gameSettings.beatmapOffset);
+ offsetModifier.SetValue(SettingsManager.instance.settingsSaveData.beatmapOffset);
}
void Update()
@@ -141,4 +141,4 @@ namespace Ichni.Menu
}
}
}
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/UI/Settings/SettingsUIPage.cs b/Assets/Scripts/UI/Settings/SettingsUIPage.cs
index cf457645..613eeaca 100644
--- a/Assets/Scripts/UI/Settings/SettingsUIPage.cs
+++ b/Assets/Scripts/UI/Settings/SettingsUIPage.cs
@@ -5,7 +5,7 @@ namespace Ichni.Menu
{
public class SettingsUIPage : UIPageBase
{
- GameSettings gameSettings => SettingsManager.instance.gameSettings;
+ SettingsSaveData gameSettings => SettingsManager.instance.settingsSaveData;
public Button backButton;
public SettingsWindowController settingsWindowController;
@@ -23,4 +23,4 @@ namespace Ichni.Menu
});
}
}
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/UI/Settings/SettingsWindow.cs b/Assets/Scripts/UI/Settings/SettingsWindow.cs
index 8d4a1721..a14dc0d1 100644
--- a/Assets/Scripts/UI/Settings/SettingsWindow.cs
+++ b/Assets/Scripts/UI/Settings/SettingsWindow.cs
@@ -7,7 +7,7 @@ namespace Ichni.Menu
{
public abstract class SettingsWindow : SerializedMonoBehaviour
{
- public GameSettings gameSettings => SettingsManager.instance.gameSettings;
+ public SettingsSaveData gameSettings => SettingsManager.instance.settingsSaveData;
public abstract void Initialize();
@@ -18,4 +18,4 @@ namespace Ichni.Menu
}
}
-}
\ No newline at end of file
+}
diff --git a/Assets/Scripts/UI/Settings/SettingsWindowController.cs b/Assets/Scripts/UI/Settings/SettingsWindowController.cs
index 73577170..aa7ac5cd 100644
--- a/Assets/Scripts/UI/Settings/SettingsWindowController.cs
+++ b/Assets/Scripts/UI/Settings/SettingsWindowController.cs
@@ -11,7 +11,7 @@ namespace Ichni.Menu
{
public partial class SettingsWindowController : MonoBehaviour
{
- public GameSettings gameSettings => SettingsManager.instance.gameSettings;
+ public SettingsSaveData gameSettings => SettingsManager.instance.settingsSaveData;
public CanvasGroup canvasGroup;
@@ -70,4 +70,4 @@ namespace Ichni.Menu
{
}
-}
\ No newline at end of file
+}
diff --git a/Assets/Settings/SampleSceneProfile.asset b/Assets/Settings/SampleSceneProfile.asset
index 4acb4001..661712bc 100644
--- a/Assets/Settings/SampleSceneProfile.asset
+++ b/Assets/Settings/SampleSceneProfile.asset
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:f7f400ff5aaf88d398b3b9caf2a90d97b5c9687e1ada3a67d2e25a7537362f94
-size 7585
+oid sha256:7aaeb60d0072fe1cf2c898612048bdfcdfea46500675d69f57a091f02eec6b5d
+size 7583
diff --git a/Assets/Settings/URP-Balanced-Renderer.asset b/Assets/Settings/URP-Balanced-Renderer.asset
index d19a6343..4024334a 100644
--- a/Assets/Settings/URP-Balanced-Renderer.asset
+++ b/Assets/Settings/URP-Balanced-Renderer.asset
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:9005459d015c0ba46eafca7e8aa183f4544cfedde23c6085cfb9f33034d9b458
-size 3115
+oid sha256:baa16ba201fddb8feb288c1fde9b777e0ef31aa5fd28213f1c4b5eccb9445042
+size 2444
diff --git a/Assets/Settings/URP-Balanced.asset b/Assets/Settings/URP-Balanced.asset
index 84a4a853..af63e408 100644
--- a/Assets/Settings/URP-Balanced.asset
+++ b/Assets/Settings/URP-Balanced.asset
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:db3a962214a472b19a0c501e5ec8ec71858fe33ceab314d3dce7d60021f77358
+oid sha256:ff94ac754704fa9bfbce435e02b1bb7945824eabb9e63122085fac65f16e468e
size 4586
diff --git a/Assets/Settings/URP-HighFidelity-Renderer.asset b/Assets/Settings/URP-HighFidelity-Renderer.asset
index a9c3ec8c..8b344945 100644
--- a/Assets/Settings/URP-HighFidelity-Renderer.asset
+++ b/Assets/Settings/URP-HighFidelity-Renderer.asset
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:ac7c0cf1525018daa1558d2a34d080f39b14eeaab18c41ae9bb783e0e20e3a95
-size 3138
+oid sha256:8a8554a0aa13ce550a096aa4d7e57c0bde8d0d7fc0f6846dfbe8585c43ad7180
+size 2467
diff --git a/Assets/Settings/URP-HighFidelity.asset b/Assets/Settings/URP-HighFidelity.asset
index b8007c1c..466d617c 100644
--- a/Assets/Settings/URP-HighFidelity.asset
+++ b/Assets/Settings/URP-HighFidelity.asset
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:8079adb1f8225505fcc8cddc2fa1015b62bfd54c7015bdb5b6c75a3dda4e765c
-size 4594
+oid sha256:1fcd0af0523aaedc90eac0cdfd9474fd1b1c0ee9c616adbc810bf7ed911c308c
+size 4596
diff --git a/Assets/Settings/URP-Performant-Renderer.asset b/Assets/Settings/URP-Performant-Renderer.asset
index 98a4c1ca..4ec79141 100644
--- a/Assets/Settings/URP-Performant-Renderer.asset
+++ b/Assets/Settings/URP-Performant-Renderer.asset
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:11d4463a714b8572792a6818dece9e3c84ee2635dff9048575155b064e056bb9
-size 1854
+oid sha256:47b533c67a072c846810db75cacaf28522a2c2b00a08d511a65b6f5d9b6d739e
+size 2409
diff --git a/Assets/Sprites/UITextures/General.meta b/Assets/Sprites/UITextures/General.meta
new file mode 100644
index 00000000..5461ae40
--- /dev/null
+++ b/Assets/Sprites/UITextures/General.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c826ec81b4d62334697e4620a4cb2474
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Sprites/UITextures/General/BoxBG.png b/Assets/Sprites/UITextures/General/BoxBG.png
new file mode 100644
index 00000000..2ca4e654
--- /dev/null
+++ b/Assets/Sprites/UITextures/General/BoxBG.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:00c58a5847736a8c8cc4305f47a740f86204e3595fd564aed2cd0fc83607e678
+size 43527
diff --git a/Assets/Sprites/UITextures/General/BoxBG.png.meta b/Assets/Sprites/UITextures/General/BoxBG.png.meta
new file mode 100644
index 00000000..ec1ab2bb
--- /dev/null
+++ b/Assets/Sprites/UITextures/General/BoxBG.png.meta
@@ -0,0 +1,143 @@
+fileFormatVersion: 2
+guid: 49526de8ef0d7374696f0e4fd4533142
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 0
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 25, y: 20, z: 25, w: 20}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 4
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: iOS
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 1537655665
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Sprites/UITextures/General/BoxBorder.png b/Assets/Sprites/UITextures/General/BoxBorder.png
new file mode 100644
index 00000000..e695a1a3
--- /dev/null
+++ b/Assets/Sprites/UITextures/General/BoxBorder.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:375e2aa13d0bf05c25e937e7516b09f5d6d434a54bae50ca4eb8bbef981f69c9
+size 412
diff --git a/Assets/Sprites/UITextures/General/BoxBorder.png.meta b/Assets/Sprites/UITextures/General/BoxBorder.png.meta
new file mode 100644
index 00000000..f353b1d1
--- /dev/null
+++ b/Assets/Sprites/UITextures/General/BoxBorder.png.meta
@@ -0,0 +1,143 @@
+fileFormatVersion: 2
+guid: 19ac3b816ac249d42962b597b4a5b9d5
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 0
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 42, z: 0, w: 42}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 4
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: iOS
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 1537655665
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Sprites/UITextures/General/BoxSquares.png b/Assets/Sprites/UITextures/General/BoxSquares.png
new file mode 100644
index 00000000..31b91835
--- /dev/null
+++ b/Assets/Sprites/UITextures/General/BoxSquares.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:90a96b129fe506214140d24b9c6045351a1e771e9930bcbdc0155187133cb2e8
+size 3505
diff --git a/Assets/Sprites/UITextures/General/BoxSquares.png.meta b/Assets/Sprites/UITextures/General/BoxSquares.png.meta
new file mode 100644
index 00000000..e45b5434
--- /dev/null
+++ b/Assets/Sprites/UITextures/General/BoxSquares.png.meta
@@ -0,0 +1,143 @@
+fileFormatVersion: 2
+guid: 6fa105ce9ef516d46879783dbfeb0e88
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 13
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ flipGreenChannel: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ ignoreMipmapLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 0
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ swizzle: 50462976
+ cookieLightType: 0
+ platformSettings:
+ - serializedVersion: 4
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: Android
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 4
+ buildTarget: iOS
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ ignorePlatformSupport: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ customData:
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spriteCustomMetadata:
+ entries: []
+ nameFileIdTable: {}
+ mipmapLimitGroupName:
+ pSDRemoveMatte: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Story/Chapter0/StoryData_Chapter0.asset b/Assets/Story/Chapter0/StoryData_Chapter0.asset
index 5cef8eb5..3d06479f 100644
--- a/Assets/Story/Chapter0/StoryData_Chapter0.asset
+++ b/Assets/Story/Chapter0/StoryData_Chapter0.asset
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:9e039987fa0f89d489ddc507d3d2563d867f3e1b33e40bc52f6c881d4c3271fc
-size 4588
+oid sha256:98cd3bd552cb793f8acf53c56eefbc682bcb11363caf3fb59472b6a54663fbc8
+size 4587
diff --git a/Assets/StreamingAssets/ThemeBundles/Android/Android b/Assets/StreamingAssets/ThemeBundles/Android/Android
index f40241e6..0aa807a5 100644
Binary files a/Assets/StreamingAssets/ThemeBundles/Android/Android and b/Assets/StreamingAssets/ThemeBundles/Android/Android differ
diff --git a/Assets/StreamingAssets/ThemeBundles/Android/Android.manifest b/Assets/StreamingAssets/ThemeBundles/Android/Android.manifest
index 60608bc8..d7c01132 100644
--- a/Assets/StreamingAssets/ThemeBundles/Android/Android.manifest
+++ b/Assets/StreamingAssets/ThemeBundles/Android/Android.manifest
@@ -1,21 +1,21 @@
ManifestFileVersion: 0
UnityVersion: 6000.3.7f1
-CRC: 3502675414
+CRC: 4053260153
HashAppended: 0
AssetBundleManifest:
AssetBundleInfos:
Info_0:
- Name: shapes
+ Name: unifiedraytracing
Dependencies: {}
Info_1:
Name: basic
Dependencies: {}
Info_2:
- Name: metropolis_on_orbit
- Dependencies: {}
- Info_3:
Name: departure_to_multiverse
Dependencies: {}
- Info_4:
- Name: unifiedraytracing
+ Info_3:
+ Name: metropolis_on_orbit
+ Dependencies: {}
+ Info_4:
+ Name: shapes
Dependencies: {}
diff --git a/Assets/StreamingAssets/ThemeBundles/Android/basic b/Assets/StreamingAssets/ThemeBundles/Android/basic
index f4881513..6dc588d1 100644
Binary files a/Assets/StreamingAssets/ThemeBundles/Android/basic and b/Assets/StreamingAssets/ThemeBundles/Android/basic differ
diff --git a/Assets/StreamingAssets/ThemeBundles/Android/basic.manifest b/Assets/StreamingAssets/ThemeBundles/Android/basic.manifest
index 715873f8..e76775ee 100644
--- a/Assets/StreamingAssets/ThemeBundles/Android/basic.manifest
+++ b/Assets/StreamingAssets/ThemeBundles/Android/basic.manifest
@@ -1,16 +1,16 @@
ManifestFileVersion: 0
UnityVersion: 6000.3.7f1
-CRC: 1054575820
+CRC: 4187162310
Hashes:
AssetFileHash:
serializedVersion: 2
- Hash: 007f20ee8efa9449fd672739395d8b8b
+ Hash: 041639c891c497f5cda773d76795250a
TypeTreeHash:
serializedVersion: 2
Hash: dfed41e3b38758e5f34df30221d719dc
IncrementalBuildHash:
serializedVersion: 2
- Hash: 2fc84aafa10273fada9abacc94cc0ec8
+ Hash: 1175efd1b6efe2bebf239ab190c42566
HashAppended: 0
ClassTypes:
- Class: 1
diff --git a/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse b/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse
index ff0b9f58..77c8ccc0 100644
--- a/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse
+++ b/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:406bbde7fe5e1cd08d3fd1c754799c64f015cc151c2d9aaf2e5768ddc9f10df5
-size 1432533
+oid sha256:48ac036ff9c1ac439df1f1b203d70bb930a74695c99520bd542eedd853fdcaac
+size 1432034
diff --git a/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse.manifest b/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse.manifest
index 8229795d..1beea04c 100644
--- a/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse.manifest
+++ b/Assets/StreamingAssets/ThemeBundles/Android/departure_to_multiverse.manifest
@@ -1,16 +1,16 @@
ManifestFileVersion: 0
UnityVersion: 6000.3.7f1
-CRC: 3814763255
+CRC: 12343729
Hashes:
AssetFileHash:
serializedVersion: 2
- Hash: b67223887fe2f824117e4b27a9358f9c
+ Hash: 95c6613dec434b5e157eab1de94cfdfc
TypeTreeHash:
serializedVersion: 2
- Hash: 8111ab10d600eaa1a60bd178b1bcf4cf
+ Hash: 6d9f9b8bc1074349261a0dbbf7f0f9f8
IncrementalBuildHash:
serializedVersion: 2
- Hash: 85f89324f6067e3b6b212baf51e9b101
+ Hash: 0f6768f5833370c99987c209c7f083f1
HashAppended: 0
ClassTypes:
- Class: 1
@@ -57,6 +57,8 @@ ClassTypes:
Script: {fileID: 11500000, guid: 638fbd0e919667f47a93485dd230c71f, type: 3}
- Class: 114
Script: {fileID: 11500000, guid: eb907071d10d7324995ff3aefbc2f1df, type: 3}
+- Class: 114
+ Script: {fileID: 11500000, guid: 922e341faf5784c41b3b0466e0468972, type: 3}
- Class: 115
Script: {instanceID: 0}
- Class: 135
diff --git a/Assets/StreamingAssets/ThemeBundles/Android/metropolis_on_orbit.manifest b/Assets/StreamingAssets/ThemeBundles/Android/metropolis_on_orbit.manifest
index d86a77cb..9c96f737 100644
--- a/Assets/StreamingAssets/ThemeBundles/Android/metropolis_on_orbit.manifest
+++ b/Assets/StreamingAssets/ThemeBundles/Android/metropolis_on_orbit.manifest
@@ -10,7 +10,7 @@ Hashes:
Hash: 8ab77e54d824a64c30bc20496c5f5926
IncrementalBuildHash:
serializedVersion: 2
- Hash: cb0fdc66431f09d69236a0e556b74895
+ Hash: 204f3b93fddc5bbe213f57aa05799cdd
HashAppended: 0
ClassTypes:
- Class: 1
diff --git a/Assets/StreamingAssets/ThemeBundles/Android/shapes.manifest b/Assets/StreamingAssets/ThemeBundles/Android/shapes.manifest
index de602b31..100171a4 100644
--- a/Assets/StreamingAssets/ThemeBundles/Android/shapes.manifest
+++ b/Assets/StreamingAssets/ThemeBundles/Android/shapes.manifest
@@ -10,7 +10,7 @@ Hashes:
Hash: bc9f87c7e64ff656997db0f2b2a91703
IncrementalBuildHash:
serializedVersion: 2
- Hash: 612a23b0b40c16e3e1e3cbbf90636bd0
+ Hash: 98313c8eb74f89178044a9a994c30a81
HashAppended: 0
ClassTypes:
- Class: 28
diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64 b/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64
index 1f74aeb0..4efa8076 100644
Binary files a/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64 and b/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64 differ
diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64.manifest b/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64.manifest
index 878a778a..870198b9 100644
--- a/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64.manifest
+++ b/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64.manifest
@@ -1,6 +1,6 @@
ManifestFileVersion: 0
UnityVersion: 6000.3.7f1
-CRC: 803255327
+CRC: 3304633615
HashAppended: 0
AssetBundleManifest:
AssetBundleInfos:
diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/basic b/Assets/StreamingAssets/ThemeBundles/Windows64/basic
index 13219106..ec12e2a7 100644
Binary files a/Assets/StreamingAssets/ThemeBundles/Windows64/basic and b/Assets/StreamingAssets/ThemeBundles/Windows64/basic differ
diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/basic.manifest b/Assets/StreamingAssets/ThemeBundles/Windows64/basic.manifest
index f7d25ef1..b057a1e9 100644
--- a/Assets/StreamingAssets/ThemeBundles/Windows64/basic.manifest
+++ b/Assets/StreamingAssets/ThemeBundles/Windows64/basic.manifest
@@ -1,16 +1,16 @@
ManifestFileVersion: 0
UnityVersion: 6000.3.7f1
-CRC: 3067715901
+CRC: 1012070008
Hashes:
AssetFileHash:
serializedVersion: 2
- Hash: 6abcdfd9cae8dff022735fc0aa0fb26c
+ Hash: f038c8737dccdbbb922785ad13defdbe
TypeTreeHash:
serializedVersion: 2
Hash: dfed41e3b38758e5f34df30221d719dc
IncrementalBuildHash:
serializedVersion: 2
- Hash: 5137fd1deb792cb6f62602cd7823e6fb
+ Hash: daff94e5b2902357c1b4f50d325b0bb4
HashAppended: 0
ClassTypes:
- Class: 1
diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse b/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse
index 524c3ca1..f5e45b5a 100644
--- a/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse
+++ b/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:3df2a905839c1be880ef700834bce18d6c80e3d184b1614d140b275dd0aec806
-size 811555
+oid sha256:a00e28acca0749a78a8ccac5878262b4e9ad867a3b2e5434fac741e8d334423d
+size 812116
diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse.manifest b/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse.manifest
index 713c6c7d..be85e10b 100644
--- a/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse.manifest
+++ b/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse.manifest
@@ -1,16 +1,16 @@
ManifestFileVersion: 0
UnityVersion: 6000.3.7f1
-CRC: 1851616411
+CRC: 3176997596
Hashes:
AssetFileHash:
serializedVersion: 2
- Hash: e222936565bcc8f611c0cecb46e4de21
+ Hash: 2739e7db8a5127e5f4e38ed26a5dab24
TypeTreeHash:
serializedVersion: 2
- Hash: 8111ab10d600eaa1a60bd178b1bcf4cf
+ Hash: 6d9f9b8bc1074349261a0dbbf7f0f9f8
IncrementalBuildHash:
serializedVersion: 2
- Hash: 67609888e0ca1cd25ae3c8a70c9cc423
+ Hash: 087cd007fe584b08e6ef217eeaede36a
HashAppended: 0
ClassTypes:
- Class: 1
@@ -57,6 +57,8 @@ ClassTypes:
Script: {fileID: 11500000, guid: 638fbd0e919667f47a93485dd230c71f, type: 3}
- Class: 114
Script: {fileID: 11500000, guid: eb907071d10d7324995ff3aefbc2f1df, type: 3}
+- Class: 114
+ Script: {fileID: 11500000, guid: 922e341faf5784c41b3b0466e0468972, type: 3}
- Class: 115
Script: {instanceID: 0}
- Class: 135
diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/metropolis_on_orbit.manifest b/Assets/StreamingAssets/ThemeBundles/Windows64/metropolis_on_orbit.manifest
index 7f19b579..ddb624b9 100644
--- a/Assets/StreamingAssets/ThemeBundles/Windows64/metropolis_on_orbit.manifest
+++ b/Assets/StreamingAssets/ThemeBundles/Windows64/metropolis_on_orbit.manifest
@@ -10,7 +10,7 @@ Hashes:
Hash: 8ab77e54d824a64c30bc20496c5f5926
IncrementalBuildHash:
serializedVersion: 2
- Hash: d112fcb376deb19d16966ce67cc858fe
+ Hash: 2b9d1caa8b3c01da7365d30bd4e1e291
HashAppended: 0
ClassTypes:
- Class: 1
diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Flick_HitFX.prefab b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Flick_HitFX.prefab
index fd60a446..d04b10d2 100644
--- a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Flick_HitFX.prefab
+++ b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Flick_HitFX.prefab
@@ -34636,6 +34636,7 @@ GameObject:
- component: {fileID: 6374922826736626084}
- component: {fileID: 8731137484130123864}
- component: {fileID: 6411650891525449585}
+ - component: {fileID: 7677400993941291652}
m_Layer: 0
m_Name: Flick_HitFX
m_TagString: Untagged
@@ -39468,3 +39469,38 @@ ParticleSystemRenderer:
m_MeshWeighting1: 1
m_MeshWeighting2: 1
m_MeshWeighting3: 1
+--- !u!114 &7677400993941291652
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7916584198410465453}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 922e341faf5784c41b3b0466e0468972, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::Ichni.VFXObject
+ serializationData:
+ SerializedFormat: 2
+ SerializedBytes:
+ ReferencedUnityObjects: []
+ SerializedBytesString:
+ Prefab: {fileID: 0}
+ PrefabModificationsReferencedUnityObjects: []
+ PrefabModifications: []
+ SerializationNodes:
+ - Name: onSpawnAction
+ Entry: 6
+ Data:
+ - Name: onDespawnAction
+ Entry: 6
+ Data:
+ isAutoDespawn: 1
+ autoDespawnTime: 0.4
+ despawnTimer: 0
+ disableAtMediumAndLower:
+ - {fileID: 4315719500094685406}
+ - {fileID: 7653901243468862591}
+ disableAtLowOnly:
+ - {fileID: 218248303542728390}
diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Hold_HitFX_B.prefab b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Hold_HitFX_B.prefab
index 70eaaed9..15d83a04 100644
--- a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Hold_HitFX_B.prefab
+++ b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Hold_HitFX_B.prefab
@@ -19422,6 +19422,7 @@ GameObject:
- component: {fileID: 1036169766419486204}
- component: {fileID: 3711062127305343447}
- component: {fileID: 4188768693027638627}
+ - component: {fileID: 380390184437325210}
m_Layer: 0
m_Name: Hold_HitFX_B
m_TagString: Untagged
@@ -24253,6 +24254,41 @@ ParticleSystemRenderer:
m_MeshWeighting1: 1
m_MeshWeighting2: 1
m_MeshWeighting3: 1
+--- !u!114 &380390184437325210
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2943020494385716766}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 922e341faf5784c41b3b0466e0468972, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::Ichni.VFXObject
+ serializationData:
+ SerializedFormat: 2
+ SerializedBytes:
+ ReferencedUnityObjects: []
+ SerializedBytesString:
+ Prefab: {fileID: 0}
+ PrefabModificationsReferencedUnityObjects: []
+ PrefabModifications: []
+ SerializationNodes:
+ - Name: onSpawnAction
+ Entry: 6
+ Data:
+ - Name: onDespawnAction
+ Entry: 6
+ Data:
+ isAutoDespawn: 0
+ autoDespawnTime: 1
+ despawnTimer: 0
+ disableAtMediumAndLower:
+ - {fileID: 6573924625455929684}
+ disableAtLowOnly:
+ - {fileID: 6651680105352939543}
+ - {fileID: 2070592205952932412}
--- !u!1 &6573924625455929684
GameObject:
m_ObjectHideFlags: 0
diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Hold_HitFX_G.prefab b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Hold_HitFX_G.prefab
index d1d7b767..eb5662f1 100644
--- a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Hold_HitFX_G.prefab
+++ b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Hold_HitFX_G.prefab
@@ -4847,6 +4847,7 @@ GameObject:
- component: {fileID: 6795338915013005225}
- component: {fileID: 7686838569397045560}
- component: {fileID: 8644577418426854476}
+ - component: {fileID: 786338997556789770}
m_Layer: 0
m_Name: Hold_HitFX_G
m_TagString: Untagged
@@ -9678,6 +9679,41 @@ ParticleSystemRenderer:
m_MeshWeighting1: 1
m_MeshWeighting2: 1
m_MeshWeighting3: 1
+--- !u!114 &786338997556789770
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5199942171001745879}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 922e341faf5784c41b3b0466e0468972, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::Ichni.VFXObject
+ serializationData:
+ SerializedFormat: 2
+ SerializedBytes:
+ ReferencedUnityObjects: []
+ SerializedBytesString:
+ Prefab: {fileID: 0}
+ PrefabModificationsReferencedUnityObjects: []
+ PrefabModifications: []
+ SerializationNodes:
+ - Name: onSpawnAction
+ Entry: 6
+ Data:
+ - Name: onDespawnAction
+ Entry: 6
+ Data:
+ isAutoDespawn: 0
+ autoDespawnTime: 1
+ despawnTimer: 0
+ disableAtMediumAndLower:
+ - {fileID: 8145642094151385667}
+ disableAtLowOnly:
+ - {fileID: 7142595897816035270}
+ - {fileID: 6969281223192018514}
--- !u!1 &6422879766326712376
GameObject:
m_ObjectHideFlags: 0
diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Hold_HitFX_P.prefab b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Hold_HitFX_P.prefab
index 919383ff..19b597ee 100644
--- a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Hold_HitFX_P.prefab
+++ b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Hold_HitFX_P.prefab
@@ -29152,6 +29152,7 @@ GameObject:
- component: {fileID: 8304709085130353050}
- component: {fileID: 8543824802591545481}
- component: {fileID: 8940303714819021693}
+ - component: {fileID: 7045525186860897399}
m_Layer: 0
m_Name: Hold_HitFX_P
m_TagString: Untagged
@@ -33983,3 +33984,38 @@ ParticleSystemRenderer:
m_MeshWeighting1: 1
m_MeshWeighting2: 1
m_MeshWeighting3: 1
+--- !u!114 &7045525186860897399
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8837549430712806196}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 922e341faf5784c41b3b0466e0468972, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::Ichni.VFXObject
+ serializationData:
+ SerializedFormat: 2
+ SerializedBytes:
+ ReferencedUnityObjects: []
+ SerializedBytesString:
+ Prefab: {fileID: 0}
+ PrefabModificationsReferencedUnityObjects: []
+ PrefabModifications: []
+ SerializationNodes:
+ - Name: onSpawnAction
+ Entry: 6
+ Data:
+ - Name: onDespawnAction
+ Entry: 6
+ Data:
+ isAutoDespawn: 0
+ autoDespawnTime: 1
+ despawnTimer: 0
+ disableAtMediumAndLower:
+ - {fileID: 1807912427671244093}
+ disableAtLowOnly:
+ - {fileID: 4690891593166535979}
+ - {fileID: 5194171103924125613}
diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Stay_HitFX.prefab b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Stay_HitFX.prefab
index 59efc4a1..d05ad8da 100644
--- a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Stay_HitFX.prefab
+++ b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Stay_HitFX.prefab
@@ -4905,6 +4905,7 @@ GameObject:
- component: {fileID: 3798029571758690913}
- component: {fileID: 6512331645267871761}
- component: {fileID: 4138720391616017682}
+ - component: {fileID: 5571405091865508458}
m_Layer: 0
m_Name: Stay_HitFX
m_TagString: Untagged
@@ -9733,6 +9734,39 @@ ParticleSystemRenderer:
m_MeshWeighting1: 1
m_MeshWeighting2: 1
m_MeshWeighting3: 1
+--- !u!114 &5571405091865508458
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5249990677744981946}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 922e341faf5784c41b3b0466e0468972, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::Ichni.VFXObject
+ serializationData:
+ SerializedFormat: 2
+ SerializedBytes:
+ ReferencedUnityObjects: []
+ SerializedBytesString:
+ Prefab: {fileID: 0}
+ PrefabModificationsReferencedUnityObjects: []
+ PrefabModifications: []
+ SerializationNodes:
+ - Name: onSpawnAction
+ Entry: 6
+ Data:
+ - Name: onDespawnAction
+ Entry: 6
+ Data:
+ isAutoDespawn: 1
+ autoDespawnTime: 1
+ despawnTimer: 0
+ disableAtMediumAndLower:
+ - {fileID: 481741008711077494}
+ disableAtLowOnly: []
--- !u!1 &5931878544904699336
GameObject:
m_ObjectHideFlags: 0
diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Tap_HiEffect_B.prefab b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Tap_HiEffect_B.prefab
index 99d7036c..b7527c2b 100644
--- a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Tap_HiEffect_B.prefab
+++ b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Tap_HiEffect_B.prefab
@@ -9826,6 +9826,7 @@ GameObject:
- component: {fileID: 8544422724010775666}
- component: {fileID: 8082031638419169081}
- component: {fileID: 1014060429300395170}
+ - component: {fileID: 4889441942532997180}
m_Layer: 0
m_Name: Tap_HiEffect_B
m_TagString: Untagged
@@ -14653,3 +14654,35 @@ ParticleSystemRenderer:
m_MeshWeighting1: 1
m_MeshWeighting2: 1
m_MeshWeighting3: 1
+--- !u!114 &4889441942532997180
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8754511166712621810}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 922e341faf5784c41b3b0466e0468972, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::Ichni.VFXObject
+ serializationData:
+ SerializedFormat: 2
+ SerializedBytes:
+ ReferencedUnityObjects: []
+ SerializedBytesString:
+ Prefab: {fileID: 0}
+ PrefabModificationsReferencedUnityObjects: []
+ PrefabModifications: []
+ SerializationNodes:
+ - Name: onSpawnAction
+ Entry: 6
+ Data:
+ - Name: onDespawnAction
+ Entry: 6
+ Data:
+ isAutoDespawn: 1
+ autoDespawnTime: 0.4
+ despawnTimer: 0
+ disableAtMediumAndLower: []
+ disableAtLowOnly: []
diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Tap_HitEffect_G.prefab b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Tap_HitEffect_G.prefab
index 5f205909..d60399ab 100644
--- a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Tap_HitEffect_G.prefab
+++ b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Tap_HitEffect_G.prefab
@@ -9844,6 +9844,7 @@ GameObject:
- component: {fileID: 3263924656594740668}
- component: {fileID: 7038272264455304515}
- component: {fileID: 8700396741641032723}
+ - component: {fileID: 987397096316892202}
m_Layer: 0
m_Name: Tap_HitEffect_G
m_TagString: Untagged
@@ -14672,6 +14673,39 @@ ParticleSystemRenderer:
m_MeshWeighting1: 1
m_MeshWeighting2: 1
m_MeshWeighting3: 1
+--- !u!114 &987397096316892202
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7671123070809976812}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 922e341faf5784c41b3b0466e0468972, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::Ichni.VFXObject
+ serializationData:
+ SerializedFormat: 2
+ SerializedBytes:
+ ReferencedUnityObjects: []
+ SerializedBytesString:
+ Prefab: {fileID: 0}
+ PrefabModificationsReferencedUnityObjects: []
+ PrefabModifications: []
+ SerializationNodes:
+ - Name: onSpawnAction
+ Entry: 6
+ Data:
+ - Name: onDespawnAction
+ Entry: 6
+ Data:
+ isAutoDespawn: 1
+ autoDespawnTime: 0.4
+ despawnTimer: 0
+ disableAtMediumAndLower:
+ - {fileID: 7986537471941685033}
+ disableAtLowOnly: []
--- !u!1 &7986537471941685033
GameObject:
m_ObjectHideFlags: 0
diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Tap_HitEffect_P.prefab b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Tap_HitEffect_P.prefab
index 05bc9ba3..55363dcf 100644
--- a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Tap_HitEffect_P.prefab
+++ b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/NoteEffects/Tap_HitEffect_P.prefab
@@ -4923,6 +4923,7 @@ GameObject:
- component: {fileID: 5040270902117431550}
- component: {fileID: 447330800752594519}
- component: {fileID: 1390550520963138891}
+ - component: {fileID: 4762391414571929359}
m_Layer: 0
m_Name: Tap_HitEffect_P
m_TagString: Untagged
@@ -9753,6 +9754,41 @@ ParticleSystemRenderer:
m_MeshWeighting1: 1
m_MeshWeighting2: 1
m_MeshWeighting3: 1
+--- !u!114 &4762391414571929359
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 976141841207214558}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 922e341faf5784c41b3b0466e0468972, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::SLSUtilities.LeanPoolAssistance.VFXObject
+ serializationData:
+ SerializedFormat: 2
+ SerializedBytes:
+ ReferencedUnityObjects: []
+ SerializedBytesString:
+ Prefab: {fileID: 0}
+ PrefabModificationsReferencedUnityObjects: []
+ PrefabModifications: []
+ SerializationNodes:
+ - Name: onSpawnAction
+ Entry: 6
+ Data:
+ - Name: onDespawnAction
+ Entry: 6
+ Data:
+ isAutoDespawn: 1
+ autoDespawnTime: 0.4
+ despawnTimer: 0
+ disableAtMediumAndLower:
+ - {fileID: 7286007667833831019}
+ - {fileID: 1526589185383174293}
+ disableAtLowOnly:
+ - {fileID: 587594120215132903}
--- !u!1 &1526589185383174293
GameObject:
m_ObjectHideFlags: 0
diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Note/NoteEffect/DTMNoteBadBurst.cs b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Note/NoteEffect/DTMNoteBadBurst.cs
index fe133306..e287590b 100644
--- a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Note/NoteEffect/DTMNoteBadBurst.cs
+++ b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Note/NoteEffect/DTMNoteBadBurst.cs
@@ -35,8 +35,6 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
{
noteVisual.extraPartList[0].gameObject.SetActive(false);
}
-
- LeanPool.Despawn(effectParticle.gameObject, 1);
}
#endregion
}
diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Note/NoteEffect/DTMNoteGoodBurst.cs b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Note/NoteEffect/DTMNoteGoodBurst.cs
index 7a013629..e504990e 100644
--- a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Note/NoteEffect/DTMNoteGoodBurst.cs
+++ b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Note/NoteEffect/DTMNoteGoodBurst.cs
@@ -35,8 +35,6 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
{
noteVisual.extraPartList[0].gameObject.SetActive(false);
}
-
- LeanPool.Despawn(effectParticle.gameObject, 1);
}
#endregion
}
diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Note/NoteEffect/DTMNotePerfectBurst.cs b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Note/NoteEffect/DTMNotePerfectBurst.cs
index ce9b564f..465f9576 100644
--- a/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Note/NoteEffect/DTMNotePerfectBurst.cs
+++ b/Assets/ThemeBundles/DepartureToMultiverse/Scripts/RuntimeCore/Note/NoteEffect/DTMNotePerfectBurst.cs
@@ -29,7 +29,7 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
{
note.SetPerfectPosition();
//effectParticle = LeanPool.Spawn(noteVisual.effectPrefabList[0], noteVisual.judgeEffect.transform).GetComponent();
- effectParticle = Object.Instantiate(noteVisual.effectPrefabList[0], noteVisual.judgeEffect.transform).GetComponent();
+ effectParticle = LeanPool.Spawn(noteVisual.effectPrefabList[0], noteVisual.judgeEffect.transform).GetComponent();
effectParticle.transform.SetParent(GameManager.Instance.cameraManager.gameCamera.transform);
effectParticle.Play();
noteVisual.noteMain.SetActive(false);
@@ -38,9 +38,6 @@ namespace Ichni.RhythmGame.ThemeBundles.DepartureToMultiverse
{
noteVisual.extraPartList[0].gameObject.SetActive(false);
}
-
- //LeanPool.Despawn(effectParticle.gameObject, 1);
- Object.Destroy(effectParticle.gameObject, 1);
}
#endregion
}
diff --git a/Assets/Wwise/API/Runtime/Plugins/Windows/x86/Profile/AkUnitySoundEngine.dll.meta b/Assets/Wwise/API/Runtime/Plugins/Windows/x86/Profile/AkUnitySoundEngine.dll.meta
index 21e19158..b722297d 100644
--- a/Assets/Wwise/API/Runtime/Plugins/Windows/x86/Profile/AkUnitySoundEngine.dll.meta
+++ b/Assets/Wwise/API/Runtime/Plugins/Windows/x86/Profile/AkUnitySoundEngine.dll.meta
@@ -16,7 +16,7 @@ PluginImporter:
settings:
Exclude Editor: 1
Editor:
- enabled: 1
+ enabled: 0
settings:
CPU: x86
DefaultValueInitialized: true
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
index f2a9d94e..e6feffa3 100644
--- a/ProjectSettings/ProjectSettings.asset
+++ b/ProjectSettings/ProjectSettings.asset
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:88f3289dbf0b17be0eed0a0b23214dab461bb159e595a7c371f21cabc6b9e212
-size 29407
+oid sha256:98070dc3faf2c78cc7ecd30a9ae94234da040e23f97124f83b0ce8ee09f0d877
+size 29405
diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset
index 855fadaa..e9ce2120 100644
--- a/ProjectSettings/QualitySettings.asset
+++ b/ProjectSettings/QualitySettings.asset
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a72b9b04f72459e5b60754118ed56117ffdb001d1463e2ca45609ddf18cad589
-size 5013
+oid sha256:a9428d998bf3faed4e6ff8c0a3cf48c834fde3a63b6cba3fbbe867e277f646ec
+size 5335
diff --git a/UserSettings/EditorUserSettings.asset b/UserSettings/EditorUserSettings.asset
index 8dee6eb7..655c0400 100644
--- a/UserSettings/EditorUserSettings.asset
+++ b/UserSettings/EditorUserSettings.asset
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d6319da4b275dda32a828bf103a7b9a6d09c70850a3451959cb07e332fa508cd
-size 3687
+oid sha256:296b22a6c799033f87b30c1238780144180be02efcca61ef93d6e8a43d4a34de
+size 3683
diff --git a/UserSettings/Layouts/CurrentMaximizeLayout.dwlt b/UserSettings/Layouts/CurrentMaximizeLayout.dwlt
index 8fa3df13..7025d13f 100644
--- a/UserSettings/Layouts/CurrentMaximizeLayout.dwlt
+++ b/UserSettings/Layouts/CurrentMaximizeLayout.dwlt
@@ -23,7 +23,7 @@ MonoBehaviour:
m_MinSize: {x: 300, y: 112}
m_MaxSize: {x: 24288, y: 16192}
vertical: 1
- controlID: 56
+ controlID: 57
draggingID: 0
--- !u!114 &2
MonoBehaviour:
@@ -50,7 +50,7 @@ MonoBehaviour:
x: 277.33334
y: 78.66667
width: 823.33325
- height: 536
+ height: 536.6667
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -109,9 +109,9 @@ MonoBehaviour:
x: 0
y: 21
width: 823.33325
- height: 515
+ height: 515.6667
m_Scale: {x: 0.5128737, y: 0.5128737}
- m_Translation: {x: 411.66663, y: 257.5}
+ m_Translation: {x: 411.66663, y: 257.83334}
m_MarginLeft: 0
m_MarginRight: 0
m_MarginTop: 0
@@ -119,12 +119,12 @@ MonoBehaviour:
m_LastShownAreaInsideMargins:
serializedVersion: 2
x: -802.6667
- y: -502.0729
+ y: -502.72287
width: 1605.3334
- height: 1004.1458
+ height: 1005.44574
m_MinimalGUI: 1
m_defaultScale: 0.5128737
- m_LastWindowPixelSize: {x: 1234.9999, y: 804}
+ m_LastWindowPixelSize: {x: 1234.9999, y: 805}
m_ClearInEditMode: 1
m_NoCameraWarning: 1
m_LowResolutionForAspectRatios: 00000000000000000000
@@ -155,7 +155,7 @@ MonoBehaviour:
m_MinSize: {x: 300, y: 112}
m_MaxSize: {x: 24288, y: 16192}
vertical: 0
- controlID: 57
+ controlID: 58
draggingID: 0
--- !u!114 &4
MonoBehaviour:
@@ -181,7 +181,7 @@ MonoBehaviour:
m_MinSize: {x: 200, y: 112}
m_MaxSize: {x: 16192, y: 16192}
vertical: 1
- controlID: 58
+ controlID: 59
draggingID: 0
--- !u!114 &5
MonoBehaviour:
@@ -203,11 +203,11 @@ MonoBehaviour:
x: 0
y: 0
width: 1102.6666
- height: 562
+ height: 562.6667
m_MinSize: {x: 200, y: 56}
m_MaxSize: {x: 16192, y: 8096}
vertical: 0
- controlID: 59
+ controlID: 60
draggingID: 0
--- !u!114 &6
MonoBehaviour:
@@ -227,7 +227,7 @@ MonoBehaviour:
x: 0
y: 0
width: 277.33334
- height: 562
+ height: 562.6667
m_MinSize: {x: 201, y: 226}
m_MaxSize: {x: 4001, y: 4026}
m_ActualView: {fileID: 7}
@@ -260,7 +260,7 @@ MonoBehaviour:
x: 0
y: 78.66667
width: 276.33334
- height: 536
+ height: 536.6667
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -277,71 +277,16 @@ MonoBehaviour:
m_SceneHierarchy:
m_TreeViewState:
scrollPos: {x: 0, y: 0}
- m_SelectedIDs: []
+ m_SelectedIDs:
+ - m_Data: 48546
m_LastClickedID:
m_Data: 0
m_ExpandedIDs:
- - m_Data: -556090
- - m_Data: -555978
- - m_Data: -555930
- - m_Data: -550546
- - m_Data: -550450
- - m_Data: -507324
- - m_Data: -507314
- - m_Data: -507152
- - m_Data: -502158
- - m_Data: -502154
- - m_Data: -502148
- - m_Data: -502140
- - m_Data: -501998
- - m_Data: -498888
- - m_Data: -498860
- - m_Data: -486952
- - m_Data: -467746
- - m_Data: -467742
- - m_Data: -467736
- - m_Data: -467724
- - m_Data: -465254
- - m_Data: -419102
- - m_Data: -329464
- - m_Data: -320538
- - m_Data: -320244
- - m_Data: -320144
- - m_Data: -319180
- - m_Data: -277038
- - m_Data: -277034
- - m_Data: -277028
- - m_Data: -277016
- - m_Data: -276942
- - m_Data: -273014
- - m_Data: -272910
- - m_Data: -270100
- - m_Data: -270090
- - m_Data: -269928
- - m_Data: -267438
- - m_Data: -267432
- - m_Data: -267424
- - m_Data: -264774
- - m_Data: -261664
- - m_Data: -261636
- - m_Data: -230536
- - m_Data: -230422
- - m_Data: -224822
- - m_Data: -181978
- - m_Data: -181974
- - m_Data: -181968
- - m_Data: -181956
- - m_Data: -181868
- - m_Data: -176282
- - m_Data: -137658
- - m_Data: -66432
- - m_Data: -53968
- - m_Data: -5984
- m_Data: -1334
m_RenameOverlay:
m_UserAcceptedRename: 0
- m_Name: glow01
- m_OriginalName: glow01
+ m_Name:
+ m_OriginalName:
m_EditFieldRect:
serializedVersion: 2
x: 0
@@ -349,10 +294,10 @@ MonoBehaviour:
width: 0
height: 0
m_UserData:
- m_Data: -556106
+ m_Data: 0
m_IsWaitingForDelay: 0
m_IsRenaming: 0
- m_OriginalEventType: 0
+ m_OriginalEventType: 11
m_IsRenamingFilename: 0
m_TrimLeadingAndTrailingWhitespace: 0
m_ClientGUIView: {fileID: 6}
@@ -381,7 +326,7 @@ MonoBehaviour:
x: 277.33334
y: 0
width: 825.33325
- height: 562
+ height: 562.6667
m_MinSize: {x: 202, y: 226}
m_MaxSize: {x: 4002, y: 4026}
m_ActualView: {fileID: 2}
@@ -416,7 +361,7 @@ MonoBehaviour:
x: 277.33334
y: 78.66667
width: 823.33325
- height: 536
+ height: 536.6667
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -1085,9 +1030,9 @@ MonoBehaviour:
m_AudioPlay: 0
m_DebugDrawModesUseInteractiveLightBakingData: 0
m_Position:
- m_Target: {x: -0.25931573, y: -0.3108496, z: -2047.501}
+ m_Target: {x: -48.184883, y: -13.375069, z: 118.46275}
speed: 2
- m_Value: {x: -0.25931573, y: -0.3108496, z: -2047.501}
+ m_Value: {x: -48.184883, y: -13.375069, z: 118.46275}
m_RenderMode: 0
m_CameraMode:
drawMode: 0
@@ -1133,13 +1078,13 @@ MonoBehaviour:
m_GridAxis: 1
m_gridOpacity: 0.5
m_Rotation:
- m_Target: {x: -0.006547824, y: -0.98551124, z: 0.16612227, w: -0.03781982}
+ m_Target: {x: -0.16503842, y: -0.0526896, z: 0.008652036, w: -0.9849945}
speed: 2
- m_Value: {x: -0.0065468354, y: -0.9853624, z: 0.16609718, w: -0.03781411}
+ m_Value: {x: -0.16501343, y: -0.052681625, z: 0.008650727, w: -0.98484534}
m_Size:
- m_Target: 5.9218383
+ m_Target: 74.715576
speed: 2
- m_Value: 5.9218383
+ m_Value: 74.715576
m_Ortho:
m_Target: 0
speed: 2
@@ -1157,7 +1102,8 @@ MonoBehaviour:
m_FarClip: 1000
m_DynamicClip: 1
m_OcclusionCulling: 0
- m_LastSceneViewRotation: {x: -0.0018017952, y: 0.09097248, z: -0.00016610812, w: -0.9958704}
+ m_LastSceneViewRotation: {x: -0.009809269, y: 0.0050967373, z: -0.000051532945,
+ w: -0.99995786}
m_LastSceneViewOrtho: 0
m_Viewpoint:
m_SceneView: {fileID: 9}
@@ -1296,9 +1242,9 @@ MonoBehaviour:
m_Position:
serializedVersion: 2
x: 0
- y: 562
+ y: 562.6667
width: 1102.6666
- height: 251.33331
+ height: 250.66663
m_MinSize: {x: 100, y: 100}
m_MaxSize: {x: 4000, y: 4000}
m_ActualView: {fileID: 13}
@@ -1333,9 +1279,9 @@ MonoBehaviour:
m_Pos:
serializedVersion: 2
x: 0
- y: 640.6667
+ y: 641.3334
width: 1101.6666
- height: 225.33331
+ height: 224.66663
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -1360,7 +1306,7 @@ MonoBehaviour:
m_SkipHidden: 0
m_SearchArea: 1
m_Folders:
- - Assets/AmplifyShaderEditor/Plugins/Editor/Templates
+ - Assets/Prefabs/Menu/UI Elements
m_Globs: []
m_ProductIds:
m_AnyWithAssetOrigin: 0
@@ -1370,166 +1316,20 @@ MonoBehaviour:
m_ViewMode: 1
m_StartGridSize: 16
m_LastFolders:
- - Assets/AmplifyShaderEditor/Plugins/Editor/Templates
+ - Assets/Prefabs/Menu/UI Elements
m_LastFoldersGridSize: 16
m_LastProjectPath: D:\Projects\ichni Official
m_LockTracker:
m_IsLocked: 0
m_LastLocalAssetsSearchArea: 1
m_FolderTreeState:
- scrollPos: {x: 0, y: 527}
+ scrollPos: {x: 0, y: 959}
m_SelectedIDs:
- - m_Data: 84586
+ - m_Data: 84910
m_LastClickedID:
- m_Data: 84586
+ m_Data: 84910
m_ExpandedIDs:
- m_Data: 0
- - m_Data: 83714
- - m_Data: 83716
- - m_Data: 83718
- - m_Data: 83720
- - m_Data: 83722
- - m_Data: 83724
- - m_Data: 83726
- - m_Data: 83728
- - m_Data: 83730
- - m_Data: 83732
- - m_Data: 83734
- - m_Data: 83736
- - m_Data: 83738
- - m_Data: 83740
- - m_Data: 83742
- - m_Data: 83744
- - m_Data: 83746
- - m_Data: 83748
- - m_Data: 83750
- - m_Data: 83752
- - m_Data: 83754
- - m_Data: 83756
- - m_Data: 83758
- - m_Data: 83762
- - m_Data: 83764
- - m_Data: 83766
- - m_Data: 83768
- - m_Data: 83770
- - m_Data: 83772
- - m_Data: 83774
- - m_Data: 83776
- - m_Data: 83778
- - m_Data: 83780
- - m_Data: 83782
- - m_Data: 83784
- - m_Data: 83786
- - m_Data: 83788
- - m_Data: 83790
- - m_Data: 83792
- - m_Data: 83794
- - m_Data: 83796
- - m_Data: 83798
- - m_Data: 83800
- - m_Data: 83802
- - m_Data: 83804
- - m_Data: 83806
- - m_Data: 83808
- - m_Data: 83810
- - m_Data: 83812
- - m_Data: 83814
- - m_Data: 83816
- - m_Data: 83818
- - m_Data: 83820
- - m_Data: 83822
- - m_Data: 83824
- - m_Data: 83826
- - m_Data: 83828
- - m_Data: 83830
- - m_Data: 83832
- - m_Data: 83834
- - m_Data: 83836
- - m_Data: 83838
- - m_Data: 83840
- - m_Data: 83842
- - m_Data: 83844
- - m_Data: 83846
- - m_Data: 83848
- - m_Data: 83850
- - m_Data: 83852
- - m_Data: 83854
- - m_Data: 83856
- - m_Data: 83858
- - m_Data: 83860
- - m_Data: 83862
- - m_Data: 83864
- - m_Data: 83866
- - m_Data: 83868
- - m_Data: 83870
- - m_Data: 83872
- - m_Data: 83874
- - m_Data: 83876
- - m_Data: 83878
- - m_Data: 83880
- - m_Data: 83882
- - m_Data: 83884
- - m_Data: 83886
- - m_Data: 83888
- - m_Data: 83890
- - m_Data: 83892
- - m_Data: 83894
- - m_Data: 83896
- - m_Data: 83898
- - m_Data: 83900
- - m_Data: 83902
- - m_Data: 83904
- - m_Data: 83906
- - m_Data: 83908
- - m_Data: 83910
- - m_Data: 84334
- - m_Data: 84394
- - m_Data: 84400
- - m_Data: 84588
- - m_Data: 113860
- - m_Data: 113886
- - m_Data: 1000000000
- m_RenameOverlay:
- m_UserAcceptedRename: 0
- m_Name:
- m_OriginalName:
- m_EditFieldRect:
- serializedVersion: 2
- x: 0
- y: 0
- width: 0
- height: 0
- m_UserData:
- m_Data: 0
- m_IsWaitingForDelay: 0
- m_IsRenaming: 0
- m_OriginalEventType: 11
- m_IsRenamingFilename: 1
- m_TrimLeadingAndTrailingWhitespace: 0
- m_ClientGUIView: {fileID: 11}
- m_SearchString:
- m_CreateAssetUtility:
- m_EndAction: {fileID: 0}
- m_InstanceID: 0
- m_Path:
- m_Icon: {fileID: 0}
- m_ResourceFile:
- m_AssetTreeState:
- scrollPos: {x: 0, y: 0}
- m_SelectedIDs: []
- m_LastClickedID:
- m_Data: 0
- m_ExpandedIDs:
- - m_Data: 0
- - m_Data: 83714
- - m_Data: 83716
- - m_Data: 83718
- - m_Data: 83720
- - m_Data: 83722
- - m_Data: 83724
- - m_Data: 83726
- - m_Data: 83728
- - m_Data: 83730
- m_Data: 83732
- m_Data: 83734
- m_Data: 83736
@@ -1620,6 +1420,157 @@ MonoBehaviour:
- m_Data: 83906
- m_Data: 83908
- m_Data: 83910
+ - m_Data: 83912
+ - m_Data: 83914
+ - m_Data: 83916
+ - m_Data: 83918
+ - m_Data: 83920
+ - m_Data: 83922
+ - m_Data: 83924
+ - m_Data: 83926
+ - m_Data: 83928
+ - m_Data: 83930
+ - m_Data: 83932
+ - m_Data: 84470
+ - m_Data: 84508
+ - m_Data: 86178
+ - m_Data: 86180
+ - m_Data: 86182
+ - m_Data: 86184
+ - m_Data: 1000000000
+ m_RenameOverlay:
+ m_UserAcceptedRename: 0
+ m_Name:
+ m_OriginalName:
+ m_EditFieldRect:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 0
+ height: 0
+ m_UserData:
+ m_Data: 0
+ m_IsWaitingForDelay: 0
+ m_IsRenaming: 0
+ m_OriginalEventType: 11
+ m_IsRenamingFilename: 1
+ m_TrimLeadingAndTrailingWhitespace: 0
+ m_ClientGUIView: {fileID: 11}
+ m_SearchString:
+ m_CreateAssetUtility:
+ m_EndAction: {fileID: 0}
+ m_InstanceID: 0
+ m_Path:
+ m_Icon: {fileID: 0}
+ m_ResourceFile:
+ m_AssetTreeState:
+ scrollPos: {x: 0, y: 0}
+ m_SelectedIDs: []
+ m_LastClickedID:
+ m_Data: 0
+ m_ExpandedIDs:
+ - m_Data: 0
+ - m_Data: 83732
+ - m_Data: 83734
+ - m_Data: 83736
+ - m_Data: 83738
+ - m_Data: 83740
+ - m_Data: 83742
+ - m_Data: 83744
+ - m_Data: 83746
+ - m_Data: 83748
+ - m_Data: 83750
+ - m_Data: 83752
+ - m_Data: 83754
+ - m_Data: 83756
+ - m_Data: 83758
+ - m_Data: 83760
+ - m_Data: 83762
+ - m_Data: 83764
+ - m_Data: 83766
+ - m_Data: 83768
+ - m_Data: 83770
+ - m_Data: 83772
+ - m_Data: 83774
+ - m_Data: 83776
+ - m_Data: 83778
+ - m_Data: 83780
+ - m_Data: 83782
+ - m_Data: 83784
+ - m_Data: 83786
+ - m_Data: 83788
+ - m_Data: 83790
+ - m_Data: 83792
+ - m_Data: 83794
+ - m_Data: 83796
+ - m_Data: 83798
+ - m_Data: 83800
+ - m_Data: 83802
+ - m_Data: 83804
+ - m_Data: 83806
+ - m_Data: 83808
+ - m_Data: 83810
+ - m_Data: 83812
+ - m_Data: 83814
+ - m_Data: 83816
+ - m_Data: 83818
+ - m_Data: 83820
+ - m_Data: 83822
+ - m_Data: 83824
+ - m_Data: 83826
+ - m_Data: 83828
+ - m_Data: 83830
+ - m_Data: 83832
+ - m_Data: 83834
+ - m_Data: 83836
+ - m_Data: 83838
+ - m_Data: 83840
+ - m_Data: 83842
+ - m_Data: 83844
+ - m_Data: 83846
+ - m_Data: 83848
+ - m_Data: 83850
+ - m_Data: 83852
+ - m_Data: 83854
+ - m_Data: 83856
+ - m_Data: 83858
+ - m_Data: 83860
+ - m_Data: 83862
+ - m_Data: 83864
+ - m_Data: 83866
+ - m_Data: 83868
+ - m_Data: 83870
+ - m_Data: 83872
+ - m_Data: 83874
+ - m_Data: 83876
+ - m_Data: 83878
+ - m_Data: 83880
+ - m_Data: 83882
+ - m_Data: 83884
+ - m_Data: 83886
+ - m_Data: 83888
+ - m_Data: 83890
+ - m_Data: 83892
+ - m_Data: 83894
+ - m_Data: 83896
+ - m_Data: 83898
+ - m_Data: 83900
+ - m_Data: 83902
+ - m_Data: 83904
+ - m_Data: 83906
+ - m_Data: 83908
+ - m_Data: 83910
+ - m_Data: 83912
+ - m_Data: 83914
+ - m_Data: 83916
+ - m_Data: 83918
+ - m_Data: 83920
+ - m_Data: 83922
+ - m_Data: 83924
+ - m_Data: 83926
+ - m_Data: 83928
+ - m_Data: 83930
+ - m_Data: 83932
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@@ -1658,8 +1609,8 @@ MonoBehaviour:
- m_Data: 74112
m_RenameOverlay:
m_UserAcceptedRename: 0
- m_Name:
- m_OriginalName:
+ m_Name: SelectionBoxButton
+ m_OriginalName: SelectionBoxButton
m_EditFieldRect:
serializedVersion: 2
x: 0
@@ -1667,10 +1618,10 @@ MonoBehaviour:
width: 0
height: 0
m_UserData:
- m_Data: 0
+ m_Data: 94216
m_IsWaitingForDelay: 0
m_IsRenaming: 0
- m_OriginalEventType: 11
+ m_OriginalEventType: 0
m_IsRenamingFilename: 1
m_TrimLeadingAndTrailingWhitespace: 0
m_ClientGUIView: {fileID: 11}
@@ -1681,7 +1632,7 @@ MonoBehaviour:
m_Icon: {fileID: 0}
m_ResourceFile:
m_NewAssetIndexInList: -1
- m_ScrollPosition: {x: 0, y: 214.83334}
+ m_ScrollPosition: {x: 0, y: 0}
m_GridSize: 16
m_SkipHiddenPackages: 0
m_DirectoriesAreaWidth: 209
@@ -1708,9 +1659,9 @@ MonoBehaviour:
m_Pos:
serializedVersion: 2
x: 0
- y: 640.6667
+ y: 641.3334
width: 1101.6666
- height: 225.33331
+ height: 224.66663
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -2064,38 +2015,8 @@ MonoBehaviour:
m_OverlaysVisible: 1
m_DynamicPanelBehavior: 0
m_WidgetStates:
- m_Keys:
- - Display Stats -> Frame Stats
- - Display Stats -> Bottlenecks
- - Display Stats -> Detailed Stats
- - Frequently Used -> Rendering Debug
- - Frequently Used -> Material Filters
- - Frequently Used -> Lighting Debug Modes
- - Rendering -> Pixel Validation
- - Rendering -> HDR Output
- - Rendering -> GPU Resident Drawer Settings
- - Rendering -> Occlusion Context Stats
- - Rendering -> Instance Culler Stats
- - Rendering -> Render Graph
- - Material -> Material Validation
- - Volume -> Camera
- - Volume -> Component
- m_Values:
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
- - {fileID: 0}
+ m_Keys: []
+ m_Values: []
m_Settings: {fileID: 0}
--- !u!114 &19
MonoBehaviour:
@@ -2194,7 +2115,7 @@ MonoBehaviour:
m_CachedPref: 184.33334
m_ControlHash: 1412526313
m_PrefName: Preview_InspectorPreview
- m_LastInspectedObjectInstanceID: -1
+ m_LastInspectedObjectInstanceID: 48546
m_LastVerticalScrollValue: 0
m_GlobalObjectId:
m_InspectorMode: 0
@@ -2246,7 +2167,7 @@ MonoBehaviour:
m_CachedPref: 165.66669
m_ControlHash: 1412526313
m_PrefName: Preview_InspectorPreview
- m_LastInspectedObjectInstanceID: -1
+ m_LastInspectedObjectInstanceID: 48546
m_LastVerticalScrollValue: 0
m_GlobalObjectId:
m_InspectorMode: 0
diff --git a/UserSettings/Layouts/default-6000.dwlt b/UserSettings/Layouts/default-6000.dwlt
index ddd4d725..e818c48c 100644
--- a/UserSettings/Layouts/default-6000.dwlt
+++ b/UserSettings/Layouts/default-6000.dwlt
@@ -14,12 +14,12 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_PixelRect:
serializedVersion: 2
- x: 63
- y: 43
- width: 1377
- height: 857
+ x: 0
+ y: 42.666668
+ width: 1706.6667
+ height: 869.3334
m_ShowMode: 4
- m_Title: "\u6E38\u620F"
+ m_Title: Hierarchy
m_RootView: {fileID: 2}
m_MinSize: {x: 875, y: 300}
m_MaxSize: {x: 10000, y: 10000}
@@ -44,8 +44,8 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
- width: 1377
- height: 857
+ width: 1706.6666
+ height: 869.3333
m_MinSize: {x: 875, y: 300}
m_MaxSize: {x: 10000, y: 10000}
m_UseTopView: 1
@@ -69,7 +69,7 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
- width: 1377
+ width: 1706.6666
height: 36
m_MinSize: {x: 50, y: 50}
m_MaxSize: {x: 4000, y: 4000}
@@ -90,8 +90,8 @@ MonoBehaviour:
m_Position:
serializedVersion: 2
x: 0
- y: 837
- width: 1377
+ y: 849.3333
+ width: 1706.6666
height: 20
m_MinSize: {x: 0, y: 0}
m_MaxSize: {x: 0, y: 0}
@@ -113,12 +113,12 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 36
- width: 1377
- height: 801
+ width: 1706.6666
+ height: 813.3333
m_MinSize: {x: 300, y: 112}
m_MaxSize: {x: 24288, y: 16192}
vertical: 1
- controlID: 47654
+ controlID: 57
draggingID: 0
--- !u!114 &6
MonoBehaviour:
@@ -139,12 +139,12 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
- width: 1377
- height: 801
+ width: 1706.6666
+ height: 813.3333
m_MinSize: {x: 300, y: 112}
m_MaxSize: {x: 24288, y: 16192}
vertical: 0
- controlID: 47655
+ controlID: 58
draggingID: 0
--- !u!114 &7
MonoBehaviour:
@@ -165,12 +165,12 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
- width: 1007
- height: 801
+ width: 1102.6666
+ height: 813.3333
m_MinSize: {x: 200, y: 112}
m_MaxSize: {x: 16192, y: 16192}
vertical: 1
- controlID: 47656
+ controlID: 59
draggingID: 0
--- !u!114 &8
MonoBehaviour:
@@ -191,12 +191,12 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
- width: 1007
- height: 526
+ width: 1102.6666
+ height: 564
m_MinSize: {x: 200, y: 56}
m_MaxSize: {x: 16192, y: 8096}
vertical: 0
- controlID: 47657
+ controlID: 60
draggingID: 0
--- !u!114 &9
MonoBehaviour:
@@ -215,8 +215,8 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 0
- width: 247
- height: 526
+ width: 277.33334
+ height: 564
m_MinSize: {x: 201, y: 226}
m_MaxSize: {x: 4001, y: 4026}
m_ActualView: {fileID: 15}
@@ -239,10 +239,10 @@ MonoBehaviour:
m_Children: []
m_Position:
serializedVersion: 2
- x: 247
+ x: 277.33334
y: 0
- width: 760
- height: 526
+ width: 825.33325
+ height: 564
m_MinSize: {x: 202, y: 226}
m_MaxSize: {x: 4002, y: 4026}
m_ActualView: {fileID: 16}
@@ -268,9 +268,9 @@ MonoBehaviour:
m_Position:
serializedVersion: 2
x: 0
- y: 526
- width: 1007
- height: 275
+ y: 564
+ width: 1102.6666
+ height: 249.33331
m_MinSize: {x: 231, y: 276}
m_MaxSize: {x: 10001, y: 10026}
m_ActualView: {fileID: 18}
@@ -297,21 +297,21 @@ MonoBehaviour:
m_Children: []
m_Position:
serializedVersion: 2
- x: 1007
+ x: 1102.6666
y: 0
- width: 370
- height: 801
- m_MinSize: {x: 276, y: 126}
- m_MaxSize: {x: 4001, y: 4026}
- m_ActualView: {fileID: 25}
+ width: 604
+ height: 813.3333
+ m_MinSize: {x: 275, y: 50}
+ m_MaxSize: {x: 4000, y: 4000}
+ m_ActualView: {fileID: 24}
m_Panes:
- {fileID: 23}
- {fileID: 24}
- {fileID: 25}
- {fileID: 26}
- {fileID: 27}
- m_Selected: 2
- m_LastSelected: 0
+ m_Selected: 1
+ m_LastSelected: 2
--- !u!114 &13
MonoBehaviour:
m_ObjectHideFlags: 52
@@ -334,8 +334,8 @@ MonoBehaviour:
m_Pos:
serializedVersion: 2
x: 0
- y: 0
- width: 1377
+ y: 42.666668
+ width: 1706.6666
height: 36
m_SerializedDataModeController:
m_DataMode: 0
@@ -393,10 +393,10 @@ MonoBehaviour:
displayed: 1
id: Package Management/Package Manager
index: 3
- contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
+ contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":250.66665649414063,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
- snapOffset: {x: 0, y: 0}
+ snapOffset: {x: 250.66666, y: 0}
snapOffsetDelta: {x: 0, y: 0}
snapCorner: 0
layout: 4
@@ -418,7 +418,7 @@ MonoBehaviour:
sizeOverridden: 0
- dockPosition: 0
containerId: overlay-toolbar__top
- displayed: 0
+ displayed: 1
id: Services/AI
index: 5
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
@@ -460,8 +460,8 @@ MonoBehaviour:
sizeOverridden: 0
- dockPosition: 1
containerId: overlay-toolbar__top
- displayed: 1
- id: Editor Controls/Layout
+ displayed: 0
+ id: Editor Utility/Quality
index: 1
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
@@ -474,8 +474,8 @@ MonoBehaviour:
sizeOverridden: 0
- dockPosition: 1
containerId: overlay-toolbar__top
- displayed: 0
- id: Editor Utility/Quality
+ displayed: 1
+ id: Editor Controls/Layout
index: 2
contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
@@ -561,15 +561,57 @@ MonoBehaviour:
displayed: 1
id: Play Mode Controls
index: 0
- contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":-644.0,"y":-36.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":3,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
+ contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":-781.3333129882813,"y":-36.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":3,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
- snapOffset: {x: -644, y: -36}
+ snapOffset: {x: -781.3333, y: -36}
snapOffsetDelta: {x: 0, y: 0}
snapCorner: 3
layout: 4
size: {x: 0, y: 0}
sizeOverridden: 0
+ - dockPosition: 0
+ containerId: overlay-toolbar__top
+ displayed: 0
+ id: Asset Inventory/Add To Scene
+ index: 7
+ contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
+ floating: 0
+ collapsed: 0
+ snapOffset: {x: 0, y: 0}
+ snapOffsetDelta: {x: 0, y: 0}
+ snapCorner: 0
+ layout: 4
+ size: {x: 0, y: 0}
+ sizeOverridden: 0
+ - dockPosition: 0
+ containerId: overlay-toolbar__top
+ displayed: 0
+ id: Asset Inventory/Open Asset Inventory
+ index: 8
+ contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
+ floating: 0
+ collapsed: 0
+ snapOffset: {x: 0, y: 0}
+ snapOffsetDelta: {x: 0, y: 0}
+ snapCorner: 0
+ layout: 4
+ size: {x: 0, y: 0}
+ sizeOverridden: 0
+ - dockPosition: 1
+ containerId: overlay-toolbar__top
+ displayed: 0
+ id: Services/Environment
+ index: 8
+ contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
+ floating: 0
+ collapsed: 0
+ snapOffset: {x: 0, y: 0}
+ snapOffsetDelta: {x: 0, y: 0}
+ snapCorner: 0
+ layout: 4
+ size: {x: 0, y: 0}
+ sizeOverridden: 0
m_ContainerData:
- containerId: overlay-toolbar__top
scrollOffset: 0
@@ -593,17 +635,17 @@ MonoBehaviour:
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
- m_Text: "\u6E38\u620F"
- m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000,
+ m_Text: Game
+ m_Image: {fileID: 4621777727084837110, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
- m_TextWithWhitespace: "\u6E38\u620F\u200B"
+ m_TextWithWhitespace: "Game\u200B"
m_Pos:
serializedVersion: 2
- x: 310
- y: 79
- width: 758
- height: 500
+ x: 277.33334
+ y: 78.66667
+ width: 823.33325
+ height: 538
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -640,10 +682,10 @@ MonoBehaviour:
m_VRangeLocked: 0
hZoomLockedByDefault: 0
vZoomLockedByDefault: 0
- m_HBaseRangeMin: -960
- m_HBaseRangeMax: 960
- m_VBaseRangeMin: -540
- m_VBaseRangeMax: 540
+ m_HBaseRangeMin: -640
+ m_HBaseRangeMax: 640
+ m_VBaseRangeMin: -360
+ m_VBaseRangeMax: 360
m_HAllowExceedBaseRangeMin: 1
m_HAllowExceedBaseRangeMax: 1
m_VAllowExceedBaseRangeMin: 1
@@ -661,26 +703,26 @@ MonoBehaviour:
serializedVersion: 2
x: 0
y: 21
- width: 758
- height: 479
- m_Scale: {x: 0.39479166, y: 0.39479166}
- m_Translation: {x: 379, y: 239.49998}
+ width: 823.33325
+ height: 517
+ m_Scale: {x: 0.6432291, y: 0.6432291}
+ m_Translation: {x: 411.66663, y: 258.5}
m_MarginLeft: 0
m_MarginRight: 0
m_MarginTop: 0
m_MarginBottom: 0
m_LastShownAreaInsideMargins:
serializedVersion: 2
- x: -960
- y: -606.6491
- width: 1920
- height: 1213.2982
+ x: -640
+ y: -401.87857
+ width: 1280
+ height: 803.75714
m_MinimalGUI: 1
- m_defaultScale: 0.39479166
- m_LastWindowPixelSize: {x: 758, y: 500}
+ m_defaultScale: 0.6432291
+ m_LastWindowPixelSize: {x: 1234.9999, y: 807}
m_ClearInEditMode: 1
m_NoCameraWarning: 1
- m_LowResolutionForAspectRatios: 00000001000000000000
+ m_LowResolutionForAspectRatios: 00000000000000000000
m_XRRenderMode: 0
m_RenderTexture: {fileID: 0}
m_showToolbar: 1
@@ -699,17 +741,17 @@ MonoBehaviour:
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
- m_Text: "\u5C42\u7EA7"
- m_Image: {fileID: 7966133145522015247, guid: 0000000000000000d000000000000000,
+ m_Text: Hierarchy
+ m_Image: {fileID: -3734745235275155857, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
- m_TextWithWhitespace: "\u5C42\u7EA7\u200B"
+ m_TextWithWhitespace: "Hierarchy\u200B"
m_Pos:
serializedVersion: 2
x: 0
- y: 24
- width: 246
- height: 500
+ y: 78.66667
+ width: 276.33334
+ height: 538
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -730,85 +772,11 @@ MonoBehaviour:
m_LastClickedID:
m_Data: 0
m_ExpandedIDs:
- - m_Data: -2266810
- - m_Data: -2266372
- - m_Data: -2264066
- - m_Data: -2261456
- - m_Data: -2245634
- - m_Data: -2245196
- - m_Data: -2242890
- - m_Data: -2240280
- - m_Data: -2050510
- - m_Data: -2050174
- - m_Data: -2047884
- - m_Data: -2045290
- - m_Data: -2037226
- - m_Data: -2036904
- - m_Data: -2034598
- - m_Data: -2031988
- - m_Data: -1901384
- - m_Data: -1901062
- - m_Data: -1898756
- - m_Data: -1896146
- - m_Data: -1199280
- - m_Data: -1098744
- - m_Data: -1098662
- - m_Data: -1098442
- - m_Data: -1087556
- - m_Data: -1085012
- - m_Data: -1078918
- - m_Data: -967208
- - m_Data: -964668
- - m_Data: -846458
- - m_Data: -843914
- - m_Data: -836534
- - m_Data: -724824
- - m_Data: -722280
- - m_Data: -603336
- - m_Data: -603300
- - m_Data: -603262
- - m_Data: -601088
- - m_Data: -386232
- - m_Data: -386226
- - m_Data: -385554
- - m_Data: -385398
- - m_Data: -385392
- - m_Data: -385108
- - m_Data: -384994
- - m_Data: -344416
- - m_Data: -341844
- - m_Data: -341738
- - m_Data: -341732
- - m_Data: -341726
- - m_Data: -341448
- - m_Data: -341442
- - m_Data: -338886
- - m_Data: -319590
- - m_Data: -319562
- - m_Data: -319532
- - m_Data: -319148
- - m_Data: -306072
- - m_Data: -294202
- - m_Data: -294196
- - m_Data: -293968
- - m_Data: -293912
- - m_Data: -293894
- - m_Data: -293888
- - m_Data: -293800
- - m_Data: -37716
- - m_Data: -37380
- - m_Data: -35298
- - m_Data: -32708
- - m_Data: -27252
- - m_Data: -26916
- - m_Data: -24614
- - m_Data: -22008
- - m_Data: -15996
- - m_Data: -15660
- - m_Data: -13358
- - m_Data: -10752
- - m_Data: -1366
- - m_Data: -12
+ - m_Data: -18848
+ - m_Data: -18418
+ - m_Data: -16106
+ - m_Data: -12656
+ - m_Data: -1342
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@@ -849,17 +817,17 @@ MonoBehaviour:
m_MinSize: {x: 200, y: 200}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
- m_Text: "\u573A\u666F"
- m_Image: {fileID: 2593428753322112591, guid: 0000000000000000d000000000000000,
+ m_Text: Scene
+ m_Image: {fileID: 8634526014445323508, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
- m_TextWithWhitespace: "\u573A\u666F\u200B"
+ m_TextWithWhitespace: "Scene\u200B"
m_Pos:
serializedVersion: 2
- x: 248
- y: 24
- width: 758
- height: 500
+ x: 277.33334
+ y: 78.66667
+ width: 823.33325
+ height: 538
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -902,10 +870,10 @@ MonoBehaviour:
displayed: 1
id: unity-scene-view-toolbar
index: 4
- contents: '{"m_Layout":1,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":-361.3333740234375,"y":25.333332061767579},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":1,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
+ contents: '{"m_Layout":1,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":-469.3333740234375,"y":25.333332061767579},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":1,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}'
floating: 0
collapsed: 0
- snapOffset: {x: -361.33337, y: 25.333332}
+ snapOffset: {x: -469.33337, y: 25.333332}
snapOffsetDelta: {x: 0, y: 0}
snapCorner: 1
layout: 1
@@ -1528,9 +1496,9 @@ MonoBehaviour:
m_AudioPlay: 0
m_DebugDrawModesUseInteractiveLightBakingData: 0
m_Position:
- m_Target: {x: -49.064266, y: -31.66663, z: 254.82935}
+ m_Target: {x: 13.030477, y: 24.657665, z: 5968.081}
speed: 2
- m_Value: {x: -49.064266, y: -31.66663, z: 254.82935}
+ m_Value: {x: 13.030477, y: 24.657665, z: 5968.081}
m_RenderMode: 0
m_CameraMode:
drawMode: 0
@@ -1576,13 +1544,13 @@ MonoBehaviour:
m_GridAxis: 1
m_gridOpacity: 0.5
m_Rotation:
- m_Target: {x: 0.08181971, y: -0.11683442, z: 0.009928506, w: 0.98987687}
+ m_Target: {x: -0.052754678, y: -0.88293386, z: 0.1019221, w: -0.45559394}
speed: 2
- m_Value: {x: -0.08181971, y: 0.11683442, z: -0.009928505, w: -0.98987687}
+ m_Value: {x: -0.052746523, y: -0.88279736, z: 0.101906344, w: -0.45552352}
m_Size:
- m_Target: 114.11437
+ m_Target: 38.306866
speed: 2
- m_Value: 114.11437
+ m_Value: 38.306866
m_Ortho:
m_Target: 0
speed: 2
@@ -1600,7 +1568,7 @@ MonoBehaviour:
m_FarClip: 1000
m_DynamicClip: 1
m_OcclusionCulling: 0
- m_LastSceneViewRotation: {x: -0.0018017952, y: 0.09097248, z: -0.00016610812, w: -0.9958704}
+ m_LastSceneViewRotation: {x: -0.1571805, y: 0.35059515, z: -0.059945893, w: -0.9214606}
m_LastSceneViewOrtho: 0
m_Viewpoint:
m_SceneView: {fileID: 16}
@@ -1631,17 +1599,17 @@ MonoBehaviour:
m_MinSize: {x: 100, y: 100}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
- m_Text: "\u52A8\u753B\u5668"
- m_Image: {fileID: -1673928668082335149, guid: 0000000000000000d000000000000000,
+ m_Text: Animator
+ m_Image: {fileID: 1711060831702674872, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
- m_TextWithWhitespace: "\u52A8\u753B\u5668\u200B"
+ m_TextWithWhitespace: "Animator\u200B"
m_Pos:
serializedVersion: 2
- x: 260.6667
+ x: 277.33334
y: 78.66667
- width: 890.66675
- height: 554
+ width: 823.33325
+ height: 538
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -1738,17 +1706,17 @@ MonoBehaviour:
m_MinSize: {x: 230, y: 250}
m_MaxSize: {x: 10000, y: 10000}
m_TitleContent:
- m_Text: "\u9879\u76EE"
- m_Image: {fileID: -5467254957812901981, guid: 0000000000000000d000000000000000,
+ m_Text: Project
+ m_Image: {fileID: -5179483145760003458, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
- m_TextWithWhitespace: "\u9879\u76EE\u200B"
+ m_TextWithWhitespace: "Project\u200B"
m_Pos:
serializedVersion: 2
x: 0
- y: 550
- width: 1006
- height: 249
+ y: 642.6667
+ width: 1101.6666
+ height: 223.33331
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -1763,7 +1731,7 @@ MonoBehaviour:
m_OverlaysVisible: 1
m_DynamicPanelBehavior: 0
m_SearchFilter:
- m_NameFilter: TAP
+ m_NameFilter:
m_ClassNames: []
m_AssetLabels: []
m_AssetBundleNames: []
@@ -1773,34 +1741,137 @@ MonoBehaviour:
m_SkipHidden: 0
m_SearchArea: 1
m_Folders:
- - Assets
+ - Packages/com.unity.render-pipelines.core/Runtime/GPUDriven/Components
m_Globs: []
m_ProductIds:
m_AnyWithAssetOrigin: 0
- m_OriginalText: TAP
+ m_OriginalText:
m_ImportLogFlags: 0
m_FilterByTypeIntersection: 0
m_ViewMode: 1
m_StartGridSize: 16
m_LastFolders:
- - Assets
+ - Packages/com.unity.render-pipelines.core/Runtime/GPUDriven/Components
m_LastFoldersGridSize: 16
- m_LastProjectPath: C:\ichniOfficial\ichni_Official
+ m_LastProjectPath: D:\Projects\ichni Official
m_LockTracker:
m_IsLocked: 0
m_LastLocalAssetsSearchArea: 1
m_FolderTreeState:
- scrollPos: {x: 0, y: 79}
+ scrollPos: {x: 0, y: 2148.6667}
m_SelectedIDs:
- - m_Data: 82468
+ - m_Data: 84810
m_LastClickedID:
- m_Data: 82468
+ m_Data: 84810
m_ExpandedIDs:
- m_Data: 0
- - m_Data: 83640
- - m_Data: 83642
- - m_Data: 83644
- - m_Data: 83646
+ - m_Data: 84078
+ - m_Data: 84080
+ - m_Data: 84082
+ - m_Data: 84084
+ - m_Data: 84086
+ - m_Data: 84088
+ - m_Data: 84090
+ - m_Data: 84092
+ - m_Data: 84094
+ - m_Data: 84096
+ - m_Data: 84098
+ - m_Data: 84100
+ - m_Data: 84102
+ - m_Data: 84104
+ - m_Data: 84106
+ - m_Data: 84108
+ - m_Data: 84110
+ - m_Data: 84112
+ - m_Data: 84114
+ - m_Data: 84116
+ - m_Data: 84118
+ - m_Data: 84120
+ - m_Data: 84122
+ - m_Data: 84124
+ - m_Data: 84126
+ - m_Data: 84128
+ - m_Data: 84130
+ - m_Data: 84132
+ - m_Data: 84134
+ - m_Data: 84136
+ - m_Data: 84138
+ - m_Data: 84140
+ - m_Data: 84142
+ - m_Data: 84144
+ - m_Data: 84146
+ - m_Data: 84148
+ - m_Data: 84150
+ - m_Data: 84152
+ - m_Data: 84154
+ - m_Data: 84156
+ - m_Data: 84158
+ - m_Data: 84160
+ - m_Data: 84162
+ - m_Data: 84164
+ - m_Data: 84166
+ - m_Data: 84168
+ - m_Data: 84170
+ - m_Data: 84172
+ - m_Data: 84174
+ - m_Data: 84176
+ - m_Data: 84178
+ - m_Data: 84180
+ - m_Data: 84182
+ - m_Data: 84184
+ - m_Data: 84186
+ - m_Data: 84188
+ - m_Data: 84190
+ - m_Data: 84192
+ - m_Data: 84194
+ - m_Data: 84196
+ - m_Data: 84198
+ - m_Data: 84200
+ - m_Data: 84202
+ - m_Data: 84204
+ - m_Data: 84206
+ - m_Data: 84208
+ - m_Data: 84210
+ - m_Data: 84212
+ - m_Data: 84214
+ - m_Data: 84216
+ - m_Data: 84218
+ - m_Data: 84220
+ - m_Data: 84222
+ - m_Data: 84224
+ - m_Data: 84226
+ - m_Data: 84228
+ - m_Data: 84230
+ - m_Data: 84232
+ - m_Data: 84234
+ - m_Data: 84236
+ - m_Data: 84238
+ - m_Data: 84240
+ - m_Data: 84242
+ - m_Data: 84244
+ - m_Data: 84246
+ - m_Data: 84248
+ - m_Data: 84250
+ - m_Data: 84252
+ - m_Data: 84254
+ - m_Data: 84256
+ - m_Data: 84258
+ - m_Data: 84260
+ - m_Data: 84262
+ - m_Data: 84264
+ - m_Data: 84266
+ - m_Data: 84268
+ - m_Data: 84270
+ - m_Data: 84272
+ - m_Data: 84274
+ - m_Data: 84276
+ - m_Data: 84278
+ - m_Data: 84280
+ - m_Data: 84282
+ - m_Data: 84770
+ - m_Data: 84812
+ - m_Data: 1000000000
+ - m_Data: 2147483647
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@@ -1833,10 +1904,109 @@ MonoBehaviour:
m_Data: 0
m_ExpandedIDs:
- m_Data: 0
- - m_Data: 83640
- - m_Data: 83642
- - m_Data: 83644
- - m_Data: 83646
+ - m_Data: 84078
+ - m_Data: 84080
+ - m_Data: 84082
+ - m_Data: 84084
+ - m_Data: 84086
+ - m_Data: 84088
+ - m_Data: 84090
+ - m_Data: 84092
+ - m_Data: 84094
+ - m_Data: 84096
+ - m_Data: 84098
+ - m_Data: 84100
+ - m_Data: 84102
+ - m_Data: 84104
+ - m_Data: 84106
+ - m_Data: 84108
+ - m_Data: 84110
+ - m_Data: 84112
+ - m_Data: 84114
+ - m_Data: 84116
+ - m_Data: 84118
+ - m_Data: 84120
+ - m_Data: 84122
+ - m_Data: 84124
+ - m_Data: 84126
+ - m_Data: 84128
+ - m_Data: 84130
+ - m_Data: 84132
+ - m_Data: 84134
+ - m_Data: 84136
+ - m_Data: 84138
+ - m_Data: 84140
+ - m_Data: 84142
+ - m_Data: 84144
+ - m_Data: 84146
+ - m_Data: 84148
+ - m_Data: 84150
+ - m_Data: 84152
+ - m_Data: 84154
+ - m_Data: 84156
+ - m_Data: 84158
+ - m_Data: 84160
+ - m_Data: 84162
+ - m_Data: 84164
+ - m_Data: 84166
+ - m_Data: 84168
+ - m_Data: 84170
+ - m_Data: 84172
+ - m_Data: 84174
+ - m_Data: 84176
+ - m_Data: 84178
+ - m_Data: 84180
+ - m_Data: 84182
+ - m_Data: 84184
+ - m_Data: 84186
+ - m_Data: 84188
+ - m_Data: 84190
+ - m_Data: 84192
+ - m_Data: 84194
+ - m_Data: 84196
+ - m_Data: 84198
+ - m_Data: 84200
+ - m_Data: 84202
+ - m_Data: 84204
+ - m_Data: 84206
+ - m_Data: 84208
+ - m_Data: 84210
+ - m_Data: 84212
+ - m_Data: 84214
+ - m_Data: 84216
+ - m_Data: 84218
+ - m_Data: 84220
+ - m_Data: 84222
+ - m_Data: 84224
+ - m_Data: 84226
+ - m_Data: 84228
+ - m_Data: 84230
+ - m_Data: 84232
+ - m_Data: 84234
+ - m_Data: 84236
+ - m_Data: 84238
+ - m_Data: 84240
+ - m_Data: 84242
+ - m_Data: 84244
+ - m_Data: 84246
+ - m_Data: 84248
+ - m_Data: 84250
+ - m_Data: 84252
+ - m_Data: 84254
+ - m_Data: 84256
+ - m_Data: 84258
+ - m_Data: 84260
+ - m_Data: 84262
+ - m_Data: 84264
+ - m_Data: 84266
+ - m_Data: 84268
+ - m_Data: 84270
+ - m_Data: 84272
+ - m_Data: 84274
+ - m_Data: 84276
+ - m_Data: 84278
+ - m_Data: 84280
+ - m_Data: 84282
m_RenameOverlay:
m_UserAcceptedRename: 0
m_Name:
@@ -1898,7 +2068,7 @@ MonoBehaviour:
m_Icon: {fileID: 0}
m_ResourceFile:
m_NewAssetIndexInList: -1
- m_ScrollPosition: {x: 0, y: 326}
+ m_ScrollPosition: {x: 0, y: 0}
m_GridSize: 16
m_SkipHiddenPackages: 0
m_DirectoriesAreaWidth: 209
@@ -1917,17 +2087,17 @@ MonoBehaviour:
m_MinSize: {x: 100, y: 100}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
- m_Text: "\u63A7\u5236\u53F0"
- m_Image: {fileID: -4327648978806127646, guid: 0000000000000000d000000000000000,
+ m_Text: Console
+ m_Image: {fileID: -4950941429401207979, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
- m_TextWithWhitespace: "\u63A7\u5236\u53F0\u200B"
+ m_TextWithWhitespace: "Console\u200B"
m_Pos:
serializedVersion: 2
- x: 63
- y: 605
- width: 1006
- height: 249
+ x: 0
+ y: 642.6667
+ width: 1101.6666
+ height: 223.33331
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -1956,17 +2126,17 @@ MonoBehaviour:
m_MinSize: {x: 100, y: 100}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
- m_Text: "\u52A8\u753B"
- m_Image: {fileID: -8166618308981325432, guid: 0000000000000000d000000000000000,
+ m_Text: Animation
+ m_Image: {fileID: -3237396543322336831, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
- m_TextWithWhitespace: "\u52A8\u753B\u200B"
+ m_TextWithWhitespace: "Animation\u200B"
m_Pos:
serializedVersion: 2
- x: 63
- y: 605
- width: 1006
- height: 249
+ x: -2560
+ y: 898.6667
+ width: 1791.6666
+ height: 360.6667
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -2004,10 +2174,10 @@ MonoBehaviour:
m_TextWithWhitespace: "AkWwisePicker\u200B"
m_Pos:
serializedVersion: 2
- x: 63
- y: 605
- width: 1006
- height: 249
+ x: -2560
+ y: 898.6667
+ width: 1791.6666
+ height: 360.6667
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -2036,17 +2206,17 @@ MonoBehaviour:
m_MinSize: {x: 50, y: 50}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
- m_Text: "\u97F3\u9891\u6DF7\u5408\u5668"
- m_Image: {fileID: 2344599766593239149, guid: 0000000000000000d000000000000000,
+ m_Text: Audio Mixer
+ m_Image: {fileID: -3283902137440876849, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
- m_TextWithWhitespace: "\u97F3\u9891\u6DF7\u5408\u5668\u200B"
+ m_TextWithWhitespace: "Audio Mixer\u200B"
m_Pos:
serializedVersion: 2
- x: 63
- y: 605
- width: 1006
- height: 249
+ x: 0
+ y: 658.6667
+ width: 1194.3334
+ height: 207.33331
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -2183,12 +2353,12 @@ MonoBehaviour:
oldMaxSizes:
oldSplitSize: 0
m_HorizontalSplitter:
- ID: 38933
+ ID: 97
splitterInitialOffset: 0
currentActiveSplitter: -1
realSizes:
- - 302
- - 704
+ - 358.66666
+ - 836
relativeSizes:
- 0.3
- 0.7
@@ -2198,7 +2368,7 @@ MonoBehaviour:
maxSizes:
- 0
- 0
- lastTotalSize: 1006
+ lastTotalSize: 1194.6666
splitSize: 6
xOffset: 0
m_Version: 1
@@ -2233,10 +2403,10 @@ MonoBehaviour:
m_TextWithWhitespace: "Rendering Debugger\u200B"
m_Pos:
serializedVersion: 2
- x: 913
- y: 79
- width: 526
- height: 775
+ x: 1102.6667
+ y: 78.66667
+ width: 603
+ height: 787.3333
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -2269,17 +2439,17 @@ MonoBehaviour:
m_MinSize: {x: 275, y: 50}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
- m_Text: "\u68C0\u67E5\u5668"
- m_Image: {fileID: -2667387946076563598, guid: 0000000000000000d000000000000000,
+ m_Text: Inspector
+ m_Image: {fileID: -440750813802333266, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
- m_TextWithWhitespace: "\u68C0\u67E5\u5668\u200B"
+ m_TextWithWhitespace: "Inspector\u200B"
m_Pos:
serializedVersion: 2
- x: 913
- y: 79
- width: 526
- height: 775
+ x: 1102.6667
+ y: 78.66667
+ width: 603
+ height: 787.3333
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -2293,19 +2463,18 @@ MonoBehaviour:
m_DynamicPanelContainerData: []
m_OverlaysVisible: 1
m_DynamicPanelBehavior: 0
- m_ObjectsLockedBeforeSerialization:
- - {fileID: 11400000, guid: f36a8d771b3945a4c9968628b65ac876, type: 2}
+ m_ObjectsLockedBeforeSerialization: []
m_InstanceIDsLockedBeforeSerialization:
m_PreviewResizer:
m_CachedPref: 312.99988
m_ControlHash: -371814159
m_PrefName: Preview_InspectorPreview
- m_LastInspectedObjectInstanceID: 74056
+ m_LastInspectedObjectInstanceID: -1
m_LastVerticalScrollValue: 0
m_GlobalObjectId:
m_InspectorMode: 0
m_LockTracker:
- m_IsLocked: 1
+ m_IsLocked: 0
m_PreviewWindow: {fileID: 0}
--- !u!114 &25
MonoBehaviour:
@@ -2322,17 +2491,17 @@ MonoBehaviour:
m_MinSize: {x: 275, y: 100}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
- m_Text: "\u68C0\u67E5\u5668"
- m_Image: {fileID: -2667387946076563598, guid: 0000000000000000d000000000000000,
+ m_Text: Inspector
+ m_Image: {fileID: -440750813802333266, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
- m_TextWithWhitespace: "\u68C0\u67E5\u5668\u200B"
+ m_TextWithWhitespace: "Inspector\u200B"
m_Pos:
serializedVersion: 2
- x: 1008
- y: 24
- width: 369
- height: 775
+ x: 1102.6667
+ y: 78.66667
+ width: 603
+ height: 787.3333
m_SerializedDataModeController:
m_DataMode: 0
m_PreferredDataMode: 0
@@ -2374,16 +2543,16 @@ MonoBehaviour:
m_MinSize: {x: 275, y: 100}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
- m_Text: "\u68C0\u67E5\u5668"
- m_Image: {fileID: -2667387946076563598, guid: 0000000000000000d000000000000000,
+ m_Text: Inspector
+ m_Image: {fileID: -440750813802333266, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
- m_TextWithWhitespace: "\u68C0\u67E5\u5668\u200B"
+ m_TextWithWhitespace: "Inspector\u200B"
m_Pos:
serializedVersion: 2
- x: 1195.3334
+ x: 1102.6667
y: 78.66667
- width: 510.33325
+ width: 603
height: 787.3333
m_SerializedDataModeController:
m_DataMode: 0
@@ -2426,16 +2595,16 @@ MonoBehaviour:
m_MinSize: {x: 390, y: 390}
m_MaxSize: {x: 4000, y: 4000}
m_TitleContent:
- m_Text: "\u5149\u7167"
- m_Image: {fileID: -1347227620855488341, guid: 0000000000000000d000000000000000,
+ m_Text: Lighting
+ m_Image: {fileID: -1477008817101679558, guid: 0000000000000000d000000000000000,
type: 0}
m_Tooltip:
- m_TextWithWhitespace: "\u5149\u7167\u200B"
+ m_TextWithWhitespace: "Lighting\u200B"
m_Pos:
serializedVersion: 2
- x: 1195.3334
+ x: 1102.6667
y: 78.66667
- width: 510.33325
+ width: 603
height: 787.3333
m_SerializedDataModeController:
m_DataMode: 0
diff --git a/docs/release-readiness-roadmap.md b/docs/release-readiness-roadmap.md
index e810ec32..7b43dea5 100644
--- a/docs/release-readiness-roadmap.md
+++ b/docs/release-readiness-roadmap.md
@@ -60,7 +60,7 @@
| UI/UX | 35–50% | Yellow | 已有完整视觉方向和主要页面;响应式、Safe Area、可访问性、占位文本与统一规范未完成 |
| Settings / Input | 35–50% | Red | 音量、帧率、Render Scale、Offset、语言、Rebind 已有;存在逻辑缺口与移动端风险 |
| 剧情系统与文本 | 20–35% | Red | Yarn/Presenter/Portrait/Save 框架存在;目前只有少量原型文本和不完整 StoryData |
-| Localization | 10–25% | Red | 同时使用 I2 与 Unity Localization;源语言配置冲突,多数 Locale 空缺 |
+| Localization | 10–25% | Red | 已决策以 Unity Localization 作为唯一正式管线;需迁移既有本地化资源、解除旧系统依赖,并补齐多数 Locale |
| Creator 内容管线 | 不纳入本轮 | Gray | 仅在 Official 出现共享数据或导入/导出关联证据时重新纳入 |
| QA / Automation | 0–10% | Red | 未发现项目自有自动化测试、Test asmdef、CI 或正式回归证据体系 |
| Build / Release Engineering | 5–15% | Red | 缺少可复现 Build Profile、CI、版本/渠道矩阵、发布候选流程和回滚方案 |
@@ -89,13 +89,13 @@
### P1:阻止 Feature Complete / Beta
1. Offline 内容解锁已统一为独立 `UnlockSaveModule`;仍需补齐新档、授予 Key、重启读取与所有入口拦截的 Unity 端到端证据。
-2. Settings 加载未应用语言;I2 与 Unity Localization 依赖相同 Index 顺序,容易错配。
+2. Settings 的语言存档仍为 Index;迁移到 Unity Localization 后应改为稳定 Locale ID,避免 Locale 列表排序造成错配。
3. Rebind 使用 `Rebinds` 保存,但 Reset 查询/删除 `Rebind`,无法正确恢复默认值。
4. `KeyRebindButton` 在找不到 Action 的异常路径中可能不恢复 Input 与 Waiting Cover。
5. Input Actions 缺少完整的 Submit/Back/Controller 导航与 Control Scheme;未发现 `EnhancedTouchSupport.Enable()`,移动端触控需实机验证。
6. UI Scene 内混用 `1920×1080`、`2560×1440` 和 Constant Pixel Size;未发现 `Screen.safeArea` 适配。
7. Scene 中仍存在大量测试值、硬编码中英文、`114514`、`Choice 0`、Test 文案等候选占位内容。
-8. Localization 资产不完整:I2 54 个 Term 中多个语言缺失,且有 5 个引用 Term 与资源命名不一致;Unity UI Table 只有 7 个 Key,除 `en`/`zh-CN` 外其余表为空;Message Table 为空。
+8. Localization 资产不完整:Unity UI Table 只有 7 个 Key,除 `en`/`zh-CN` 外其余表为空;Message Table 为空。迁移期间还需完成旧本地化资产清点、替换与删除验证。
9. `StreamingAssets` 同时包含 Android、iOS、Windows64 ThemeBundle,可能让各平台 Build 携带无关资源。
10. Runtime `Assets` 中保存了大量 PSD、整屏 Mockup 和 120 帧 Loading PNG;需在不破坏引用的前提下分离 Source Art 与 Runtime Export。
@@ -212,13 +212,13 @@ Exit Criteria:首发观察窗口结束,严重问题关闭或已部署修复
| STORY-002 | P0 | Official | 决定 Yarn 真正 Source Language 并修正 Yarn Project/Table | M | DEC-003 | TODO | Locale Contract |
| STORY-003 | P0 | Official | 完成首发剧情、角色表、Portrait、Command 与分支条件 | L | REL-002, STORY-002 | TODO | Story Content Audit |
| STORY-004 | P1 | Official | 移除 `Test Title` 等原型命令,补充缺失内容验证器 | M | STORY-003 | TODO | Zero-placeholder Report |
-| LOC-001 | P0 | Official | 选择 I2/Unity Localization 的职责边界或迁移方案,禁止同 Index 隐式绑定 | L | STORY-002 | TODO | Localization ADR |
+| LOC-001 | P0 | Official | 执行 Unity Localization 单一管线迁移:建立 Locale ID 契约、替换旧运行时依赖并验证移除 | L | STORY-002 | TODO | Localization Migration ADR + Runtime Proof |
| LOC-002 | P0 | Official | 建立单一 Key Manifest、术语表、Source/Target Locale 规则 | M | LOC-001 | TODO | Key Manifest |
-| LOC-003 | P0 | Official | 修复 5 个缺失 I2 Term 引用和现有空翻译 | S | LOC-002 | TODO | Automated Coverage Report |
+| LOC-003 | P0 | Official | 完成旧本地化资源迁移/移除,并修复 Unity String Table 中的空翻译与缺失引用 | S | LOC-002 | TODO | Automated Coverage Report |
| LOC-004 | P0 | Official | 完成首发语言 100% Key 覆盖并锁定文本 | L | DEC-003, LOC-002 | TODO | Locale Coverage = 100% |
| LOC-005 | P1 | Official | 配置 TMP Font/Fallback 并完成溢出、断行、RTL(如适用)和 LQA | L | LOC-004 | TODO | Screenshot Matrix |
| SET-001 | P0 | Official | 修复 `Rebinds` / `Rebind` Reset Key 错配 | S | — | TODO | Automated Save Test |
-| SET-002 | P0 | Official | Settings Load 时应用语言,并验证 Locale 顺序不再隐式耦合 | M | LOC-001 | TODO | Restart Test |
+| SET-002 | P0 | Official | Settings Load 时以 Unity Localization Locale ID 应用语言,并验证 Locale 顺序不再隐式耦合 | M | LOC-001 | TODO | Restart Test |
| SET-003 | P1 | Official | 修复 Rebind 异常退出,补 Submit/Back/Controller/Control Scheme | M | — | TODO | Input Matrix |
| SET-004 | P1 | Official | 移动端启用/验证 Enhanced Touch、触控取消与多点触控 | M | DEC-001 | TODO | Device Test |
| SET-005 | P1 | Official | 增加 Settings Version、Validation、Migration、Atomic Save 与 Reset All | L | — | TODO | Migration Tests |
@@ -301,7 +301,7 @@ Exit Criteria:首发观察窗口结束,严重问题关闭或已部署修复
| Song/Tutorial Story 节点为占位 | `Assets/Scripts/NewStorySystem/Tree/SongBlockView.cs`、`TutorialBlockView.cs` |
| Chapter 0 引用未定义 `B-2` | `Assets/Story/Chapter0/StoryData_Chapter0.asset` |
| Yarn 与 Story Localization 配置冲突 | `Assets/Story/Chapter0/Chapter0.yarnproject`、`Assets/Localization/Story/` |
-| I2 Term 覆盖与命名缺口 | `Assets/Resources/I2Languages.asset` |
+| 旧本地化资源覆盖与命名缺口 | `Assets/Localization/`、既有本地化资源目录 |
| Rebind Reset Key 错配 | `Assets/Scripts/UI/Settings/RebindingWindow.cs` |
| Login 被绕过、Localhost API 与 SDK 禁用 | `Assets/Scripts/UI/StartPage/StartUIPage.cs`、`Assets/Scripts/Online/` |
| UI 缩放策略混合 | `Assets/Scenes/MenuScene.unity`、`Assets/Scenes/GameScene.unity` |
diff --git a/docs/tutorial-block-system.md b/docs/tutorial-block-system.md
index aa1c5436..3b126f8b 100644
--- a/docs/tutorial-block-system.md
+++ b/docs/tutorial-block-system.md
@@ -6,10 +6,10 @@ TutorialBlock 点击后通过通用 `SelectionBox` 动态生成“游玩教程 /
1. 将 TutorialBlock 的 `tutorialProgressVariable` 写为 `true`。
2. 保存全局剧情变量。
-3. 将该 TutorialBlock 标记为 Completed,用于故事树的节点外观和防止重复点击。
+3. 将该 TutorialBlock 标记为 Completed,用于故事树的节点外观;Completed 状态仍允许玩家再次点击回顾教程。
4. 重新计算所有 StoryBlock 的 `UnlockCondition`。
-后续 Block 必须通过 `VariableCondition` 读取教程变量解锁,不要依赖 TutorialBlock 的完成记录。选择“游玩教程”后会进入 GameScene;选择“跳过教程”则留在故事树。教程游玩中退出、失败或关闭游戏不会回退已经确认的解锁状态。
+后续 Block 必须通过 `VariableCondition` 读取教程变量解锁,不要依赖 TutorialBlock 的完成记录。选择“游玩教程”后会进入 GameScene;选择“跳过教程”则留在故事树。教程游玩中退出、失败或关闭游戏不会回退已经确认的解锁状态。教程节点完成后仍可再次点击;重复游玩只会重写相同的已处理状态,不会影响已解锁的后续剧情。
## 运行时职责
@@ -17,7 +17,7 @@ TutorialBlock 点击后通过通用 `SelectionBox` 动态生成“游玩教程 /
|---|---|
| `StoryProgress` | 统一执行“写变量、保存、刷新故事树”;`ResolveTutorial` 同时更新教程节点完成状态。 |
| `TutorialFlowController` | 验证 TutorialBlock 配置,并临时组装教程所需的两个 `SelectionBoxOption`。 |
-| `SelectionBoxUIPage` | 通用多选弹窗页面:动态生成一个 `SelectionBox`,阻断底层输入并在选择后销毁该实例。 |
+| `MessageUIPage` | MessageBox 与 SelectionBox 共用的弹窗页面:使用同一遮罩、容器和 FIFO 队列,动态生成并依次显示弹窗。 |
| `SelectionBox` / `SelectionBoxButton` | 动态生成任意数量的选项按钮并确保一次显示只执行一个回调。 |
| `TutorialCollection` | 用 `tutorialKey` 查询教程曲目的 `SongItemData`。 |
| `InformationTransistor` | 用 `MenuReturnDestination` 保存唯一的返回目标,替代旧的两个返回 bool。 |
@@ -78,12 +78,27 @@ TutorialBlock 不再需要专属弹窗。只需配置一套可供其它系统复
1. 创建一个 `SelectionBoxButton` Prefab:根节点具有 `Button` 与 `SelectionBoxButton`,子节点具有 `TMP_Text`。将 Button 和文本分别赋给 `button`、`labelText`。
2. 创建一个 `SelectionBox` Prefab:根节点具有 `CanvasGroup` 与 `SelectionBox`;配置标题 `TMP_Text`、可选内容 `TMP_Text`、选项容器 `RectTransform`,并把上一步 Prefab 赋给 `optionButtonPrefab`。
-3. 在 `Assets/Scenes/MenuScene.unity` 创建一个全屏覆盖页:根节点具有 `CanvasGroup` 和 `SelectionBoxUIPage`,初始建议 `alpha = 0`、`interactable = false`、`blocksRaycasts = false`。
-4. 在该覆盖页下创建 `selectionBoxContainer`,并将它赋给 `SelectionBoxUIPage.selectionBoxContainer`;将上一步的 `SelectionBox` Prefab 赋给 `selectionBoxPrefab`。
-5. 选中 `MenuManager`,把该 `SelectionBoxUIPage` 组件拖入新的 `selectionBoxUIPage` 字段。
+3. 打开 `Assets/Scenes/MenuScene.unity` 中现有的 `MessagePage`。该节点已有 `CanvasGroup` 与 `MessageUIPage`,无需创建新的全屏覆盖页或在 `MenuManager` 新增引用。
+4. 将上一步的 `SelectionBox` Prefab 赋给 `MessageUIPage.defaultSelectionBoxPrefab`。它会与现有 `MessageBox` 共用 `messageContainer`。
教程点击时会运行时生成一个 SelectionBox,并生成两个按钮:`游玩教程` 与 `跳过教程`。未来其它非 Yarn 的交互(例如奖励二选一、离开确认、章节分支)可以传入自己的标题、内容和 `SelectionBoxOption` 列表复用这套 UI。按钮正式本地化留待剧情文本与本地化阶段处理。
+### 4. 推荐按钮排版(SelectionBox 宽度 1200)
+
+建议所有 2~3 个选项统一使用纵向等宽排列,而不是根据数量切换横向布局。这样在英文、日文、韩文和越南文的按钮文字长度不同时,仍有稳定的触控面积和视觉节奏。
+
+| 配置项 | 推荐值 |
+|---|---|
+| `optionContainer` | `VerticalLayoutGroup` |
+| 左右 Padding | 72 |
+| 上下 Padding | 48 |
+| 按钮间距 | 24 |
+| 按钮高度 | 112(通过 Button Prefab 的 `LayoutElement.preferredHeight`) |
+| 按钮宽度 | 填满可用宽度,约 1056 |
+| 对齐方式 | `Middle Center` |
+
+两按钮时,选项区高度约为 248;三按钮时约为 384,均适合固定宽度 1200 的弹窗。若存在“取消 / 返回”一类非主要操作,应固定放在最后一项,并以较弱的颜色或描边区分,不要仅通过位置变化表达危险性。横向三等分在 1200 宽度下每项只有约 336 宽,对越南文和未来较长的本地化文本余量不足,因此不建议作为通用 SelectionBox 的默认布局。
+
## 验证清单
1. 使用新存档或 StoryTree 的 `DebugResetChapterProgress` 重置 Chapter 0;该调试重置现在也会清除本章节的教程变量。
@@ -92,9 +107,10 @@ TutorialBlock 不再需要专属弹窗。只需配置一套可供其它系统复
4. 重置后选择“游玩教程”:确认进入 Chapter 0 Tutorial 的指定难度,且 `A-0` 在确认按钮点击后已解锁。
5. 在教程暂停页或结算页返回菜单:应回到 Chapter 0 的 StoryPage,而不是 SongSelection 页面。
6. 通过普通选曲进入歌曲后返回菜单:应仍回到 SongSelection 页面,且歌曲/难度缓存不受影响。
+7. 在 TutorialBlock 已完成后再次点击它:应再次显示 SelectionBox,选择“游玩教程”后能够重新进入教程,且后续剧情解锁状态不变化。
## 配置错误的表现
-以下任一配置缺失时,TutorialBlock 会输出警告且不会解锁后续剧情:`tutorialKey`、`tutorialProgressVariable`、`tutorialDifficultySaveId`、TutorialCollection 中的曲目、可用的目标难度、`SelectionBoxUIPage` 引用、SelectionBox Prefab 或选项按钮 Prefab。
+以下任一配置缺失时,TutorialBlock 会输出警告且不会解锁后续剧情:`tutorialKey`、`tutorialProgressVariable`、`tutorialDifficultySaveId`、TutorialCollection 中的曲目、可用的目标难度、场景中的 `MessageUIPage`、`defaultSelectionBoxPrefab` 或选项按钮 Prefab。
这是一项运行时保护;本阶段不增加导入器或 Editor 阶段的额外防呆校验。