diff --git a/Assets/000_assets/material/M_SquareFrame 1.mat b/Assets/000_assets/material/M_SquareFrame 1.mat index 01ae4876..3d5cdd3f 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.99275833 + - _EdgeValue: 0.92061317 - _EnvironmentReflections: 1 - _FNLfanxiangkaiguan: 0 - _Face: 1 @@ -258,7 +258,7 @@ Material: - _Mask_scale: 1 - _Metallic: 0 - _OcclusionStrength: 1 - - _Opacity: 0.0072416663 + - _Opacity: 0.07938683 - _Parallax: 0.005 - _Pass: 0 - _QueueOffset: 0 diff --git a/Assets/AddressableAssetsData/link.xml b/Assets/AddressableAssetsData/link.xml deleted file mode 100644 index d011ce72..00000000 --- a/Assets/AddressableAssetsData/link.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Assets/FR2_Cache.asset b/Assets/FR2_Cache.asset index cd89ba72..64d29bb6 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:c1dfd5b63899b3b8b9fdc3fc7cee8973b9c02ee5ce5f209810d137f7e521c99b -size 8781063 +oid sha256:472940ffbedddbf2a552dcb0ced09e9d387065de82da99292e785f4e0612b931 +size 8790986 diff --git a/Assets/Fonts/SarasaGothicSC-Regular All.asset b/Assets/Fonts/SarasaGothicSC-Regular All.asset index e5ff5204..92015369 100644 --- a/Assets/Fonts/SarasaGothicSC-Regular All.asset +++ b/Assets/Fonts/SarasaGothicSC-Regular All.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0a5976d3652e5236909662c3e907488d3476c8a3d2e8878a1e2202206d7384e2 -size 33610900 +oid sha256:45a7ecfb1ab34eaeb50a1c655278c5c36a83cf4e47990e9c514bd3adb0e61552 +size 33611007 diff --git a/Assets/Prefabs/Story/Blocks.meta b/Assets/Prefabs/Story/Blocks.meta new file mode 100644 index 00000000..bc97f7a5 --- /dev/null +++ b/Assets/Prefabs/Story/Blocks.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9c0dc3412dc384e4da6a6f0a41f15c7a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Story/Blocks/ImportantTextBlock.meta b/Assets/Prefabs/Story/Blocks/ImportantTextBlock.meta new file mode 100644 index 00000000..5a2f4d49 --- /dev/null +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d0e226112dea15441a3b479e3d0a737c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CompletedImportantTextBlock.prefab b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CompletedImportantTextBlock.prefab new file mode 100644 index 00000000..9de632c3 --- /dev/null +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CompletedImportantTextBlock.prefab @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2947357181438598616 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 808855937929311006} + - component: {fileID: 3938143345111524688} + - component: {fileID: 1269722336407503250} + - component: {fileID: 3931523710101296998} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &808855937929311006 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3938143345111524688 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_CullTransparentMesh: 1 +--- !u!114 &1269722336407503250 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: ba2e784cfa5cc0549bf66051f872367c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &3931523710101296998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1269722336407503250} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &8279096577214194803 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5350638854831129010} + - component: {fileID: 6895756204793606274} + m_Layer: 5 + m_Name: CompletedImportantTextBlock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5350638854831129010 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8279096577214194803} + 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: 808855937929311006} + 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: 600, y: 375} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6895756204793606274 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8279096577214194803} + m_CullTransparentMesh: 1 diff --git a/Assets/AddressableAssetsData/link.xml.meta b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CompletedImportantTextBlock.prefab.meta similarity index 62% rename from Assets/AddressableAssetsData/link.xml.meta rename to Assets/Prefabs/Story/Blocks/ImportantTextBlock/CompletedImportantTextBlock.prefab.meta index 4309a15e..ca9b119c 100644 --- a/Assets/AddressableAssetsData/link.xml.meta +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CompletedImportantTextBlock.prefab.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 5f22cc995c7cc9348ba8e089a0f4193c -TextScriptImporter: +guid: 459f6ab9057a91e459fd98124043585f +PrefabImporter: externalObjects: {} userData: assetBundleName: diff --git a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CurrentImportantTextBlock.prefab b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CurrentImportantTextBlock.prefab new file mode 100644 index 00000000..41cceaf2 --- /dev/null +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CurrentImportantTextBlock.prefab @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2947357181438598616 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 808855937929311006} + - component: {fileID: 3938143345111524688} + - component: {fileID: 1269722336407503250} + - component: {fileID: 3931523710101296998} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &808855937929311006 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3938143345111524688 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_CullTransparentMesh: 1 +--- !u!114 &1269722336407503250 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 341d7da45cdc11c4086e163894e609a7, 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!114 &3931523710101296998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1269722336407503250} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &8279096577214194803 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5350638854831129010} + - component: {fileID: 6895756204793606274} + m_Layer: 5 + m_Name: CurrentImportantTextBlock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5350638854831129010 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8279096577214194803} + 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: 808855937929311006} + 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: 600, y: 375} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6895756204793606274 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8279096577214194803} + m_CullTransparentMesh: 1 diff --git a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CurrentImportantTextBlock.prefab.meta b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CurrentImportantTextBlock.prefab.meta new file mode 100644 index 00000000..8faf3450 --- /dev/null +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/CurrentImportantTextBlock.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 185b83d325c22df45b4fe542e9f80a0f +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ForbiddenImportantTextBlock.prefab b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ForbiddenImportantTextBlock.prefab new file mode 100644 index 00000000..1779aa85 --- /dev/null +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ForbiddenImportantTextBlock.prefab @@ -0,0 +1,288 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2947357181438598616 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 808855937929311006} + - component: {fileID: 3938143345111524688} + - component: {fileID: 1269722336407503250} + - component: {fileID: 3931523710101296998} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &808855937929311006 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3938143345111524688 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_CullTransparentMesh: 1 +--- !u!114 &1269722336407503250 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6f6ca0bdea7a0b7409b47ceee0440d89, 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!114 &3931523710101296998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1269722336407503250} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &5683015993056175146 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8381244663269841962} + - component: {fileID: 3328388444848420159} + - component: {fileID: 350636825008250344} + - component: {fileID: 1129333964551729670} + m_Layer: 5 + m_Name: Image (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8381244663269841962 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5683015993056175146} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 128, y: 128} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3328388444848420159 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5683015993056175146} + m_CullTransparentMesh: 1 +--- !u!114 &350636825008250344 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5683015993056175146} + 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: 21300002, guid: 88dca061d041a2a4596563e6a38f66c8, 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 &1129333964551729670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5683015993056175146} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 350636825008250344} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &8279096577214194803 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5350638854831129010} + - component: {fileID: 6895756204793606274} + m_Layer: 5 + m_Name: ForbiddenImportantTextBlock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5350638854831129010 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8279096577214194803} + 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: 808855937929311006} + - {fileID: 8381244663269841962} + 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: 600, y: 375} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6895756204793606274 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8279096577214194803} + m_CullTransparentMesh: 1 diff --git a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ForbiddenImportantTextBlock.prefab.meta b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ForbiddenImportantTextBlock.prefab.meta new file mode 100644 index 00000000..d01eb442 --- /dev/null +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ForbiddenImportantTextBlock.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b4256722f7d6a00469fadd272560caa4 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Story/SongBlockUI.prefab b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ImportantTextBlockUI.prefab similarity index 63% rename from Assets/Prefabs/Story/SongBlockUI.prefab rename to Assets/Prefabs/Story/Blocks/ImportantTextBlock/ImportantTextBlockUI.prefab index 2bb6c0a5..11db0e98 100644 --- a/Assets/Prefabs/Story/SongBlockUI.prefab +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ImportantTextBlockUI.prefab @@ -1,6 +1,6 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &1139654734443167197 +--- !u!1 &1266875872687906005 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8,22 +8,23 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 5732796955640118753} - - component: {fileID: 1686831770413399787} + - component: {fileID: 7895181244729415272} + - component: {fileID: 5622993008979475129} + - component: {fileID: 7873337981602853883} m_Layer: 5 - m_Name: InPort + m_Name: Text (TMP) (1) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &5732796955640118753 +--- !u!224 &7895181244729415272 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1139654734443167197} + m_GameObject: {fileID: 1266875872687906005} 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} @@ -31,18 +32,155 @@ RectTransform: m_Children: [] m_Father: {fileID: 5350638854831129010} 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: 71, y: -82.5} - m_SizeDelta: {x: 25, y: 25} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 190, y: 125} + m_SizeDelta: {x: 120, y: 25} m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1686831770413399787 +--- !u!222 &5622993008979475129 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1139654734443167197} + m_GameObject: {fileID: 1266875872687906005} + m_CullTransparentMesh: 1 +--- !u!114 &7873337981602853883 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1266875872687906005} + 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: Tutorial + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 73f9a9bb620a2b040ab7347b390452fe, type: 2} + m_sharedMaterial: {fileID: 1291443754377433884, guid: 73f9a9bb620a2b040ab7347b390452fe, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 26 + m_fontSizeBase: 26 + 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: 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 &2549272938280010857 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4937946904652960982} + - component: {fileID: 459525017163665976} + m_Layer: 5 + m_Name: OutPort + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4937946904652960982 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2549272938280010857} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -30, y: -9.5} + m_SizeDelta: {x: 25, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &459525017163665976 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2549272938280010857} m_CullTransparentMesh: 1 --- !u!1 &2947357181438598616 GameObject: @@ -62,7 +200,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &808855937929311006 RectTransform: m_ObjectHideFlags: 0 @@ -103,14 +241,14 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 0.6603774, g: 0.6603774, b: 0.6603774, a: 1} + 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: 4e9019f9aabcb3c409ea419fdba522f5, type: 3} + m_Sprite: {fileID: 21300000, guid: ba2e784cfa5cc0549bf66051f872367c, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -164,7 +302,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: [] ---- !u!1 &6180957620423729728 +--- !u!1 &5694744930588099522 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -172,22 +310,22 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 4908100188787544557} - - component: {fileID: 9115198829922096935} + - component: {fileID: 5784757909052703056} + - component: {fileID: 3000483006876940928} m_Layer: 5 - m_Name: OutPort + m_Name: InPort m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &4908100188787544557 +--- !u!224 &5784757909052703056 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6180957620423729728} + m_GameObject: {fileID: 5694744930588099522} 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} @@ -195,81 +333,19 @@ RectTransform: m_Children: [] m_Father: {fileID: 5350638854831129010} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: 0, y: -82.5} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 72, y: -9.5} m_SizeDelta: {x: 25, y: 25} m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &9115198829922096935 +--- !u!222 &3000483006876940928 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6180957620423729728} + m_GameObject: {fileID: 5694744930588099522} m_CullTransparentMesh: 1 ---- !u!1 &7352787072520773963 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 572536196246750759} - - component: {fileID: 8357542584952053847} - m_Layer: 0 - m_Name: StatusMarkContainer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &572536196246750759 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7352787072520773963} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0.75416523} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 5350638854831129010} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 72.5, y: 115} - m_SizeDelta: {x: 300, y: 40} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &8357542584952053847 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7352787072520773963} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 0 - m_Spacing: 3 - m_ChildForceExpandWidth: 0 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 0 - m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 --- !u!1 &7991069327751894070 GameObject: m_ObjectHideFlags: 0 @@ -281,9 +357,8 @@ GameObject: - component: {fileID: 9095470796084918386} - component: {fileID: 606259940963463531} - component: {fileID: 8391808794720387191} - - component: {fileID: 4504653164803251096} m_Layer: 5 - m_Name: MusicNameText + m_Name: Text (TMP) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -305,8 +380,8 @@ RectTransform: 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: 72.5, y: -15} - m_SizeDelta: {x: 300, y: 300} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 300, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &606259940963463531 CanvasRenderer: @@ -336,10 +411,11 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: Music Name + m_text: Tutorial m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} - m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontAsset: {fileID: 11400000, guid: 73f9a9bb620a2b040ab7347b390452fe, type: 2} + m_sharedMaterial: {fileID: 1291443754377433884, guid: 73f9a9bb620a2b040ab7347b390452fe, + type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] @@ -363,8 +439,8 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 24 - m_fontSizeBase: 24 + m_fontSize: 48 + m_fontSizeBase: 48 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 @@ -374,20 +450,23 @@ MonoBehaviour: m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 + m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 m_lineSpacingMax: 0 m_paragraphSpacing: 0 m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 + m_TextWrappingMode: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 m_linkedTextComponent: {fileID: 0} parentLinkedComponent: {fileID: 0} m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b m_enableExtraPadding: 0 checkPaddingRequired: 0 m_isRichText: 1 + m_EmojiFallbackSupport: 1 m_parseCtrlCharacters: 1 m_isOrthographic: 1 m_isCullingEnabled: 0 @@ -405,18 +484,6 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!225 &4504653164803251096 -CanvasGroup: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7991069327751894070} - m_Enabled: 1 - m_Alpha: 1 - m_Interactable: 0 - m_BlocksRaycasts: 0 - m_IgnoreParentGroups: 0 --- !u!1 &8279096577214194803 GameObject: m_ObjectHideFlags: 0 @@ -427,9 +494,9 @@ GameObject: m_Component: - component: {fileID: 5350638854831129010} - component: {fileID: 6895756204793606274} - - component: {fileID: 7009939959127692803} + - component: {fileID: 3583939829802436332} m_Layer: 5 - m_Name: SongBlockUI + m_Name: ImportantTextBlockUI m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -449,15 +516,15 @@ RectTransform: m_Children: - {fileID: 808855937929311006} - {fileID: 9095470796084918386} - - {fileID: 5732796955640118753} - - {fileID: 4908100188787544557} - - {fileID: 572536196246750759} + - {fileID: 7895181244729415272} + - {fileID: 5784757909052703056} + - {fileID: 4937946904652960982} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} + 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: 470, y: 350} + m_SizeDelta: {x: 600, y: 375} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &6895756204793606274 CanvasRenderer: @@ -467,7 +534,7 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8279096577214194803} m_CullTransparentMesh: 1 ---- !u!114 &7009939959127692803 +--- !u!114 &3583939829802436332 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -476,18 +543,101 @@ MonoBehaviour: m_GameObject: {fileID: 8279096577214194803} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5efe0a39fe908354e9ab6d1edfdb8843, type: 3} + m_Script: {fileID: 11500000, guid: 28d84946aa995484dbcbe24b7aab1652, type: 3} m_Name: - m_EditorClassIdentifier: - blockName: - blockPosition: {x: 0, y: 0} + m_EditorClassIdentifier: Assembly-CSharp::Ichni.Story.UI.TextBlockView + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: + - {fileID: 8279096577214194803, guid: 3f9eef6e3ee44a34586a0f09b2d2d6bd, type: 3} + - {fileID: 8279096577214194803, guid: 185b83d325c22df45b4fe542e9f80a0f, type: 3} + - {fileID: 8279096577214194803, guid: 459f6ab9057a91e459fd98124043585f, type: 3} + - {fileID: 8279096577214194803, guid: b4256722f7d6a00469fadd272560caa4, type: 3} + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: + - Name: blockVisuals + Entry: 7 + Data: 0|System.Collections.Generic.Dictionary`2[[Ichni.Story.StoryBlockState, + Assembly-CSharp],[UnityEngine.GameObject, UnityEngine.CoreModule]], mscorlib + - Name: comparer + Entry: 7 + Data: 1|System.Collections.Generic.EnumEqualityComparer`1[[Ichni.Story.StoryBlockState, + Assembly-CSharp]], mscorlib + - Name: + Entry: 12 + Data: 0 + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: + - Name: + Entry: 12 + Data: 4 + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 3 + Data: 0 + - Name: $v + Entry: 10 + Data: 0 + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 3 + Data: 1 + - Name: $v + Entry: 10 + Data: 1 + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 3 + Data: 2 + - Name: $v + Entry: 10 + Data: 2 + - Name: + Entry: 8 + Data: + - Name: + Entry: 7 + Data: + - Name: $k + Entry: 3 + Data: 3 + - Name: $v + Entry: 10 + Data: 3 + - Name: + Entry: 8 + Data: + - Name: + Entry: 13 + Data: + - Name: + Entry: 8 + Data: + blockId: state: 0 blockRect: {fileID: 5350638854831129010} - inPort: {fileID: 5732796955640118753} - outPort: {fileID: 4908100188787544557} - songName: + inPort: {fileID: 5784757909052703056} + outPort: {fileID: 4937946904652960982} button: {fileID: 3931523710101296998} - songNameText: {fileID: 8391808794720387191} - beatmapStatusMarkContainer: {fileID: 572536196246750759} - beatmapStatusMarkPrefab: {fileID: 7574088478242334147, guid: 1fc633b6a9d4908488b25fdb228da86b, - type: 3} + storyIdText: {fileID: 8391808794720387191} + titleText: {fileID: 8391808794720387191} diff --git a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ImportantTextBlockUI.prefab.meta b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ImportantTextBlockUI.prefab.meta new file mode 100644 index 00000000..e5303c89 --- /dev/null +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/ImportantTextBlockUI.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 34e3e020a77c87742a561595212f8b80 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/LockedImportantTextBlock.prefab b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/LockedImportantTextBlock.prefab new file mode 100644 index 00000000..f8b7d167 --- /dev/null +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/LockedImportantTextBlock.prefab @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2947357181438598616 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 808855937929311006} + - component: {fileID: 3938143345111524688} + - component: {fileID: 1269722336407503250} + - component: {fileID: 3931523710101296998} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &808855937929311006 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3938143345111524688 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_CullTransparentMesh: 1 +--- !u!114 &1269722336407503250 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 6f6ca0bdea7a0b7409b47ceee0440d89, 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!114 &3931523710101296998 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1269722336407503250} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &8279096577214194803 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5350638854831129010} + - component: {fileID: 6895756204793606274} + m_Layer: 5 + m_Name: LockedImportantTextBlock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5350638854831129010 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8279096577214194803} + 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: 808855937929311006} + 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: 600, y: 375} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6895756204793606274 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8279096577214194803} + m_CullTransparentMesh: 1 diff --git a/Assets/Prefabs/Story/Blocks/ImportantTextBlock/LockedImportantTextBlock.prefab.meta b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/LockedImportantTextBlock.prefab.meta new file mode 100644 index 00000000..09634448 --- /dev/null +++ b/Assets/Prefabs/Story/Blocks/ImportantTextBlock/LockedImportantTextBlock.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3f9eef6e3ee44a34586a0f09b2d2d6bd +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Story/Blocks/SecondaryTextBlock.meta b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock.meta new file mode 100644 index 00000000..f63f190a --- /dev/null +++ b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c8bd332c451bf944ea2cd8af67d5e653 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Story/FinishedTextBlock.prefab b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/CurrentSecondaryTextBlock.prefab similarity index 97% rename from Assets/Prefabs/Story/FinishedTextBlock.prefab rename to Assets/Prefabs/Story/Blocks/SecondaryTextBlock/CurrentSecondaryTextBlock.prefab index ff5453dc..d0d7a415 100644 --- a/Assets/Prefabs/Story/FinishedTextBlock.prefab +++ b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/CurrentSecondaryTextBlock.prefab @@ -66,7 +66,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: a53caee9af6d16b44a78a926722a32f5, type: 3} + m_Sprite: {fileID: 21300000, guid: 5f23d23ecf498eb4c8f1c811cbbf371e, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -131,7 +131,7 @@ GameObject: - component: {fileID: 5350638854831129010} - component: {fileID: 6895756204793606274} m_Layer: 5 - m_Name: FinishedTextBlock + m_Name: CurrentSecondaryTextBlock m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 diff --git a/Assets/Prefabs/Story/CurrentTextBlock.prefab.meta b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/CurrentSecondaryTextBlock.prefab.meta similarity index 100% rename from Assets/Prefabs/Story/CurrentTextBlock.prefab.meta rename to Assets/Prefabs/Story/Blocks/SecondaryTextBlock/CurrentSecondaryTextBlock.prefab.meta diff --git a/Assets/Prefabs/Story/CurrentTextBlock.prefab b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/FinishedSecondaryTextBlock.prefab similarity index 99% rename from Assets/Prefabs/Story/CurrentTextBlock.prefab rename to Assets/Prefabs/Story/Blocks/SecondaryTextBlock/FinishedSecondaryTextBlock.prefab index d9985f6a..b0bd47ed 100644 --- a/Assets/Prefabs/Story/CurrentTextBlock.prefab +++ b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/FinishedSecondaryTextBlock.prefab @@ -131,7 +131,7 @@ GameObject: - component: {fileID: 5350638854831129010} - component: {fileID: 6895756204793606274} m_Layer: 5 - m_Name: CurrentTextBlock + m_Name: FinishedSecondaryTextBlock m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 diff --git a/Assets/Prefabs/Story/FinishedTextBlock.prefab.meta b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/FinishedSecondaryTextBlock.prefab.meta similarity index 100% rename from Assets/Prefabs/Story/FinishedTextBlock.prefab.meta rename to Assets/Prefabs/Story/Blocks/SecondaryTextBlock/FinishedSecondaryTextBlock.prefab.meta diff --git a/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/ForbiddenSecondaryTextBlock.prefab b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/ForbiddenSecondaryTextBlock.prefab new file mode 100644 index 00000000..bb75ea17 --- /dev/null +++ b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/ForbiddenSecondaryTextBlock.prefab @@ -0,0 +1,288 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1715031838801752067 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5353312178155790710} + - component: {fileID: 7039048199777881685} + - component: {fileID: 901642552897496040} + - component: {fileID: 8299985647150055278} + m_Layer: 5 + m_Name: Image (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5353312178155790710 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1715031838801752067} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: -1} + m_SizeDelta: {x: 128, y: 128} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7039048199777881685 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1715031838801752067} + m_CullTransparentMesh: 1 +--- !u!114 &901642552897496040 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1715031838801752067} + 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: 21300002, guid: 88dca061d041a2a4596563e6a38f66c8, 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 &8299985647150055278 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1715031838801752067} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 901642552897496040} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &4395100195316225510 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2559973671531178526} + - component: {fileID: 7314817520828819316} + - component: {fileID: 40060167445544855} + - component: {fileID: 7807195957997196324} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2559973671531178526 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4395100195316225510} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7314817520828819316 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4395100195316225510} + m_CullTransparentMesh: 1 +--- !u!114 &40060167445544855 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4395100195316225510} + 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: 7ddd15eec542d5f43a4e8a2e01322627, 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 &7807195957997196324 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4395100195316225510} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 40060167445544855} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &8279096577214194803 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5350638854831129010} + - component: {fileID: 6895756204793606274} + m_Layer: 5 + m_Name: ForbiddenSecondaryTextBlock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5350638854831129010 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8279096577214194803} + 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: 2559973671531178526} + - {fileID: 5353312178155790710} + m_Father: {fileID: 0} + 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: 0, y: 0} + m_SizeDelta: {x: 400, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6895756204793606274 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8279096577214194803} + m_CullTransparentMesh: 1 diff --git a/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/ForbiddenSecondaryTextBlock.prefab.meta b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/ForbiddenSecondaryTextBlock.prefab.meta new file mode 100644 index 00000000..52159bf7 --- /dev/null +++ b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/ForbiddenSecondaryTextBlock.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 976648da9d860b542927880b57248047 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Story/LockedTextBlock.prefab b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/LockedSecondaryTextBlock.prefab similarity index 87% rename from Assets/Prefabs/Story/LockedTextBlock.prefab rename to Assets/Prefabs/Story/Blocks/SecondaryTextBlock/LockedSecondaryTextBlock.prefab index 2dfcd80c..b547c3af 100644 --- a/Assets/Prefabs/Story/LockedTextBlock.prefab +++ b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/LockedSecondaryTextBlock.prefab @@ -130,9 +130,8 @@ GameObject: m_Component: - component: {fileID: 5350638854831129010} - component: {fileID: 6895756204793606274} - - component: {fileID: 8428017859984400476} m_Layer: 5 - m_Name: LockedTextBlock + m_Name: LockedSecondaryTextBlock m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -166,24 +165,3 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8279096577214194803} m_CullTransparentMesh: 1 ---- !u!114 &8428017859984400476 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8279096577214194803} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 28d84946aa995484dbcbe24b7aab1652, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::Ichni.Story.UI.TextBlockView - blockId: - blockPosition: {x: 0, y: 0} - state: 0 - blockRect: {fileID: 5350638854831129010} - inPort: {fileID: 0} - outPort: {fileID: 0} - button: {fileID: 0} - storyIdText: {fileID: 0} - titleText: {fileID: 0} diff --git a/Assets/Prefabs/Story/LockedTextBlock.prefab.meta b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/LockedSecondaryTextBlock.prefab.meta similarity index 100% rename from Assets/Prefabs/Story/LockedTextBlock.prefab.meta rename to Assets/Prefabs/Story/Blocks/SecondaryTextBlock/LockedSecondaryTextBlock.prefab.meta diff --git a/Assets/Prefabs/Story/TextBlockUI.prefab b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/SecondaryTextBlockUI.prefab similarity index 99% rename from Assets/Prefabs/Story/TextBlockUI.prefab rename to Assets/Prefabs/Story/Blocks/SecondaryTextBlock/SecondaryTextBlockUI.prefab index 86f52187..44602d7f 100644 --- a/Assets/Prefabs/Story/TextBlockUI.prefab +++ b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/SecondaryTextBlockUI.prefab @@ -558,7 +558,7 @@ GameObject: - component: {fileID: 6895756204793606274} - component: {fileID: 8428017859984400476} m_Layer: 5 - m_Name: TextBlockUI + m_Name: SecondaryTextBlockUI m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -583,8 +583,8 @@ RectTransform: - {fileID: 808855937929311006} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 0, y: 0.5} + 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: 400, y: 200} m_Pivot: {x: 0.5, y: 0.5} diff --git a/Assets/Prefabs/Story/TextBlockUI.prefab.meta b/Assets/Prefabs/Story/Blocks/SecondaryTextBlock/SecondaryTextBlockUI.prefab.meta similarity index 100% rename from Assets/Prefabs/Story/TextBlockUI.prefab.meta rename to Assets/Prefabs/Story/Blocks/SecondaryTextBlock/SecondaryTextBlockUI.prefab.meta diff --git a/Assets/Prefabs/Story/Blocks/SongBlockUI.prefab b/Assets/Prefabs/Story/Blocks/SongBlockUI.prefab new file mode 100644 index 00000000..1b551e86 --- /dev/null +++ b/Assets/Prefabs/Story/Blocks/SongBlockUI.prefab @@ -0,0 +1,1103 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &629758055316317495 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5620483555661743440} + - component: {fileID: 808211794615970900} + - component: {fileID: 1717850242396468755} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5620483555661743440 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 629758055316317495} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 2.75, y: -1} + m_SizeDelta: {x: -25.5, y: -22} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &808211794615970900 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 629758055316317495} + m_CullTransparentMesh: 1 +--- !u!114 &1717850242396468755 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 629758055316317495} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 0 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &847642077185086423 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 530893922272850372} + m_Layer: 5 + m_Name: Decos + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &530893922272850372 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 847642077185086423} + 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: 59994981154226011} + - {fileID: 8642059165570314965} + m_Father: {fileID: 5350638854831129010} + 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: -2, y: 18.75} + m_SizeDelta: {x: 366, y: 62.5} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1139654734443167197 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5732796955640118753} + - component: {fileID: 1686831770413399787} + m_Layer: 5 + m_Name: InPort + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5732796955640118753 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1139654734443167197} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.5} + m_AnchorMax: {x: 0, y: 0.5} + m_AnchoredPosition: {x: 3, y: 0} + m_SizeDelta: {x: 25, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1686831770413399787 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1139654734443167197} + m_CullTransparentMesh: 1 +--- !u!1 &1754117286094924292 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8642059165570314965} + - component: {fileID: 2650797338874451957} + - component: {fileID: 1900098366954550369} + m_Layer: 5 + m_Name: Image (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8642059165570314965 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1754117286094924292} + 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: 530893922272850372} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -1, y: -18.75} + m_SizeDelta: {x: 2, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2650797338874451957 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1754117286094924292} + m_CullTransparentMesh: 1 +--- !u!114 &1900098366954550369 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1754117286094924292} + 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.28240559, g: 0.41372898, b: 0.8238993, 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 &2685032725291833036 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1174848760678974849} + - component: {fileID: 1824825661128247125} + - component: {fileID: 6839066121088903434} + - component: {fileID: 4619121194727073750} + m_Layer: 5 + m_Name: Mask + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1174848760678974849 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2685032725291833036} + 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: 4492029902276622460} + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 2.5, y: -1} + m_SizeDelta: {x: -25, y: -22} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1824825661128247125 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2685032725291833036} + m_CullTransparentMesh: 1 +--- !u!114 &6839066121088903434 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2685032725291833036} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 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!114 &4619121194727073750 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2685032725291833036} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Mask + m_ShowMaskGraphic: 0 +--- !u!1 &2947357181438598616 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 808855937929311006} + - component: {fileID: 3938143345111524688} + - component: {fileID: 1269722336407503250} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &808855937929311006 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3938143345111524688 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_CullTransparentMesh: 1 +--- !u!114 &1269722336407503250 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2947357181438598616} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 70b392108eb5c984f9f30838687ff0fc, 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 &4589718192714944833 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 368956214045377667} + - component: {fileID: 8897981933909347163} + - component: {fileID: 8472246775155746043} + m_Layer: 0 + m_Name: Translucent Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &368956214045377667 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4589718192714944833} + 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: 4495230478848820706} + 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 &8897981933909347163 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4589718192714944833} + m_CullTransparentMesh: 1 +--- !u!114 &8472246775155746043 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4589718192714944833} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.7529412} + 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 &4722794952639071142 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4495230478848820706} + m_Layer: 0 + m_Name: Lock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4495230478848820706 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4722794952639071142} + 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: 368956214045377667} + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 2.5, y: -1} + m_SizeDelta: {x: -25, y: -22} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &6180957620423729728 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4908100188787544557} + - component: {fileID: 9115198829922096935} + m_Layer: 5 + m_Name: OutPort + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4908100188787544557 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6180957620423729728} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0.5} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: -3, y: 0} + m_SizeDelta: {x: 25, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9115198829922096935 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6180957620423729728} + m_CullTransparentMesh: 1 +--- !u!1 &6299803184239427286 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7483526515363132831} + - component: {fileID: 7174914224780310867} + - component: {fileID: 3214257532050267507} + - component: {fileID: 9136606718298060300} + m_Layer: 5 + m_Name: ComposerText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7483526515363132831 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6299803184239427286} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -80, y: -32.5} + m_SizeDelta: {x: 200, y: 15} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7174914224780310867 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6299803184239427286} + m_CullTransparentMesh: 1 +--- !u!114 &3214257532050267507 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6299803184239427286} + 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: Composer Name + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 12 + m_fontSizeBase: 12 + 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: 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!225 &9136606718298060300 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6299803184239427286} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!1 &6558029025795230854 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4492029902276622460} + - component: {fileID: 4038573946289083360} + - component: {fileID: 5963302735353550978} + m_Layer: 5 + m_Name: Illustration + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4492029902276622460 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6558029025795230854} + 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: 1174848760678974849} + 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: 400, y: 225} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4038573946289083360 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6558029025795230854} + m_CullTransparentMesh: 1 +--- !u!114 &5963302735353550978 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6558029025795230854} + 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: 35af6ea6f4073e34894f630d7daebb8c, 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 &7991069327751894070 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9095470796084918386} + - component: {fileID: 606259940963463531} + - component: {fileID: 8391808794720387191} + - component: {fileID: 4504653164803251096} + m_Layer: 5 + m_Name: MusicNameText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9095470796084918386 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7991069327751894070} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 120, y: 35} + m_SizeDelta: {x: 200, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &606259940963463531 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7991069327751894070} + m_CullTransparentMesh: 1 +--- !u!114 &8391808794720387191 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7991069327751894070} + 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: Music Name + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 18 + m_fontSizeBase: 18 + 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: 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!225 &4504653164803251096 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7991069327751894070} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 0 + m_BlocksRaycasts: 0 + m_IgnoreParentGroups: 0 +--- !u!1 &8140192946307702755 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 59994981154226011} + - component: {fileID: 6524350945254480555} + - component: {fileID: 2933165368675236406} + m_Layer: 5 + m_Name: Image (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &59994981154226011 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8140192946307702755} + 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: 530893922272850372} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 37.5, y: -15} + m_SizeDelta: {x: 75, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6524350945254480555 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8140192946307702755} + m_CullTransparentMesh: 1 +--- !u!114 &2933165368675236406 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8140192946307702755} + 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.6603774, g: 0.6603774, b: 0.6603774, 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: 4e9019f9aabcb3c409ea419fdba522f5, 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 &8279096577214194803 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5350638854831129010} + - component: {fileID: 6895756204793606274} + - component: {fileID: 3017934264067836584} + m_Layer: 5 + m_Name: SongBlockUI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5350638854831129010 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8279096577214194803} + 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: 808855937929311006} + - {fileID: 1174848760678974849} + - {fileID: 9095470796084918386} + - {fileID: 7483526515363132831} + - {fileID: 4495230478848820706} + - {fileID: 530893922272850372} + - {fileID: 5732796955640118753} + - {fileID: 4908100188787544557} + - {fileID: 5620483555661743440} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 400, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6895756204793606274 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8279096577214194803} + m_CullTransparentMesh: 1 +--- !u!114 &3017934264067836584 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8279096577214194803} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad764389c6c056c4d84cdf0155d7e7aa, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Ichni.Story.UI.SongBlockView + serializationData: + SerializedFormat: 2 + SerializedBytes: + ReferencedUnityObjects: [] + SerializedBytesString: + Prefab: {fileID: 0} + PrefabModificationsReferencedUnityObjects: [] + PrefabModifications: [] + SerializationNodes: [] + blockId: + state: 0 + blockRect: {fileID: 5350638854831129010} + inPort: {fileID: 5732796955640118753} + outPort: {fileID: 4908100188787544557} + button: {fileID: 1717850242396468755} + illustrationImage: {fileID: 5963302735353550978} + illustrationRect: {fileID: 4492029902276622460} + songNameText: {fileID: 8391808794720387191} + composerText: {fileID: 3214257532050267507} + lockOverlay: {fileID: 4722794952639071142} diff --git a/Assets/Prefabs/Story/SongBlockUI.prefab.meta b/Assets/Prefabs/Story/Blocks/SongBlockUI.prefab.meta similarity index 100% rename from Assets/Prefabs/Story/SongBlockUI.prefab.meta rename to Assets/Prefabs/Story/Blocks/SongBlockUI.prefab.meta diff --git a/Assets/Prefabs/Story/TutorialBlockUI.prefab b/Assets/Prefabs/Story/Blocks/TutorialBlockUI.prefab similarity index 86% rename from Assets/Prefabs/Story/TutorialBlockUI.prefab rename to Assets/Prefabs/Story/Blocks/TutorialBlockUI.prefab index 9b0f1c64..6e48164a 100644 --- a/Assets/Prefabs/Story/TutorialBlockUI.prefab +++ b/Assets/Prefabs/Story/Blocks/TutorialBlockUI.prefab @@ -33,7 +33,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: -30, y: -9.5} + m_AnchoredPosition: {x: -4, y: -7.5} m_SizeDelta: {x: 25, y: 25} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &459525017163665976 @@ -55,7 +55,6 @@ GameObject: - component: {fileID: 808855937929311006} - component: {fileID: 3938143345111524688} - component: {fileID: 1269722336407503250} - - component: {fileID: 3931523710101296998} m_Layer: 5 m_Name: Image m_TagString: Untagged @@ -110,7 +109,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: ba2e784cfa5cc0549bf66051f872367c, type: 3} + m_Sprite: {fileID: 21300000, guid: 5acf94ccc8d31784e8892295cbac85d1, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -120,13 +119,58 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!114 &3931523710101296998 +--- !u!1 &2971854550119419744 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6723909345398867291} + - component: {fileID: 1883720140888459607} + - component: {fileID: 1506827284251123157} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6723909345398867291 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2971854550119419744} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5350638854831129010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0.5, y: -7.5} + m_SizeDelta: {x: -31, y: -29} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1883720140888459607 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2971854550119419744} + m_CullTransparentMesh: 1 +--- !u!114 &1506827284251123157 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2947357181438598616} + m_GameObject: {fileID: 2971854550119419744} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} @@ -139,7 +183,7 @@ MonoBehaviour: m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} m_SelectOnRight: {fileID: 0} - m_Transition: 1 + 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} @@ -160,7 +204,7 @@ MonoBehaviour: m_SelectedTrigger: Selected m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 1269722336407503250} + m_TargetGraphic: {fileID: 0} m_OnClick: m_PersistentCalls: m_Calls: [] @@ -197,7 +241,7 @@ RectTransform: 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: 72, y: -9.5} + m_AnchoredPosition: {x: 4.5, y: -7.5} m_SizeDelta: {x: 25, y: 25} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &3000483006876940928 @@ -240,10 +284,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 5350638854831129010} 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: 300, y: 50} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -10} + m_SizeDelta: {x: -100, y: -50} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &606259940963463531 CanvasRenderer: @@ -380,12 +424,13 @@ RectTransform: - {fileID: 9095470796084918386} - {fileID: 5784757909052703056} - {fileID: 4937946904652960982} + - {fileID: 6723909345398867291} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 0, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 600, y: 375} + m_SizeDelta: {x: 400, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &6895756204793606274 CanvasRenderer: @@ -421,5 +466,5 @@ MonoBehaviour: blockRect: {fileID: 5350638854831129010} inPort: {fileID: 5784757909052703056} outPort: {fileID: 4937946904652960982} - button: {fileID: 3931523710101296998} + button: {fileID: 1506827284251123157} tutorialNameText: {fileID: 8391808794720387191} diff --git a/Assets/Prefabs/Story/TutorialBlockUI.prefab.meta b/Assets/Prefabs/Story/Blocks/TutorialBlockUI.prefab.meta similarity index 100% rename from Assets/Prefabs/Story/TutorialBlockUI.prefab.meta rename to Assets/Prefabs/Story/Blocks/TutorialBlockUI.prefab.meta diff --git a/Assets/Prefabs/Story/StoryTimelineMarker.prefab b/Assets/Prefabs/Story/StoryTimelineMarker.prefab new file mode 100644 index 00000000..7cc0009a --- /dev/null +++ b/Assets/Prefabs/Story/StoryTimelineMarker.prefab @@ -0,0 +1,267 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1574009245387883632 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4290474858249249208} + - component: {fileID: 483471027588563956} + m_Layer: 5 + m_Name: StoryTimelineMarker + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4290474858249249208 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1574009245387883632} + 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: 1747394617236970869} + - {fileID: 1533264747195055701} + 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: 200, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &483471027588563956 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1574009245387883632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fa49b969e984456985eec86f0275d7d, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Ichni.Story.UI.StoryTimelineMarkerView + markerRect: {fileID: 4290474858249249208} + labelText: {fileID: 3350283590570236064} +--- !u!1 &4209846266689669036 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1533264747195055701} + - component: {fileID: 2486923179085776687} + - component: {fileID: 3350283590570236064} + m_Layer: 5 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1533264747195055701 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4209846266689669036} + 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: 4290474858249249208} + 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: 12.5} + m_SizeDelta: {x: 200, y: 25} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2486923179085776687 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4209846266689669036} + m_CullTransparentMesh: 1 +--- !u!114 &3350283590570236064 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4209846266689669036} + 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: 3000/1/8 + 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: 4290822336 + m_fontColor: {r: 0.7529412, g: 0.7529412, b: 0.7529412, 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: 20.65 + m_fontSizeBase: 42 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 12 + m_fontSizeMax: 36 + 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 &7483537159697423623 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1747394617236970869} + - component: {fileID: 4888120556444230055} + - component: {fileID: 940605879243566513} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1747394617236970869 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7483537159697423623} + 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: 4290474858249249208} + 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: 133, y: 133} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4888120556444230055 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7483537159697423623} + m_CullTransparentMesh: 1 +--- !u!114 &940605879243566513 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7483537159697423623} + 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: 9d59ed9c99b5acd46b7309a9088fa84f, 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 diff --git a/Assets/Prefabs/Story/StoryTimelineMarker.prefab.meta b/Assets/Prefabs/Story/StoryTimelineMarker.prefab.meta new file mode 100644 index 00000000..cfcd01bb --- /dev/null +++ b/Assets/Prefabs/Story/StoryTimelineMarker.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 194aa7f028f08dd4da24d8d677ea2210 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Chapter0.asset b/Assets/Resources/Chapter0.asset index 1c974ff0..690fa298 100644 --- a/Assets/Resources/Chapter0.asset +++ b/Assets/Resources/Chapter0.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c7ec334ce8848f2e927287f8186bcbbac7e0dcd9e582f5824bf9fa4503b6a2dd +oid sha256:1bbef430c93b962bbab68c9c998cd7619e4631675a1f63ce567c8af08671e875 size 17506 diff --git a/Assets/Scenes/MenuScene.unity b/Assets/Scenes/MenuScene.unity index 1a07d510..60997155 100644 --- a/Assets/Scenes/MenuScene.unity +++ b/Assets/Scenes/MenuScene.unity @@ -744,7 +744,7 @@ RectTransform: 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.000038146973, y: -30.000004} + m_AnchoredPosition: {x: -0.000038146973, y: -69.999985} m_SizeDelta: {x: 400, y: 60} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &34921395 @@ -767,7 +767,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: CHAPTER NAME + m_text: Farewell and Departure m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 19a92ec938f7b364dad1975875f9fe3a, type: 2} m_sharedMaterial: {fileID: -5812992765432063453, guid: 19a92ec938f7b364dad1975875f9fe3a, @@ -795,15 +795,15 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 48 + m_fontSize: 36 m_fontSizeBase: 48 m_fontWeight: 400 - m_enableAutoSizing: 0 + m_enableAutoSizing: 1 m_fontSizeMin: 18 - m_fontSizeMax: 72 + m_fontSizeMax: 36 m_fontStyle: 0 m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 + m_VerticalAlignment: 256 m_textAlignment: 65535 m_characterSpacing: 0 m_characterHorizontalScale: 1 @@ -818,7 +818,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 @@ -873,17 +873,16 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 39339085} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 179146693} + m_Children: [] m_Father: {fileID: 1119493264} 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_AnchoredPosition: {x: 0, y: 0.000061035156} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &39339087 @@ -1382,6 +1381,81 @@ MonoBehaviour: mAlignment_LTR: 514 mAlignmentWasRTL: 0 mInitializeAlignment: 0 +--- !u!1 &61177033 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 61177034} + - component: {fileID: 61177036} + - component: {fileID: 61177035} + m_Layer: 5 + m_Name: Upper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &61177034 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 61177033} + 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: 1694091505} + 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: 20} + m_SizeDelta: {x: 0, y: 2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &61177035 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 61177033} + 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!222 &61177036 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 61177033} + m_CullTransparentMesh: 1 --- !u!1 &61907790 GameObject: m_ObjectHideFlags: 0 @@ -1921,7 +1995,11 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: Assembly-CSharp::Ichni.Story.StoryTreeController content: {fileID: 8360186} - textBlockPrefab: {fileID: 8279096577214194803, guid: f6a037648752e004ba8846f352a8f421, + storyScrollRect: {fileID: 1091682063} + storyTimeline: {fileID: 1457573153} + importantTextBlockPrefab: {fileID: 8279096577214194803, guid: 34e3e020a77c87742a561595212f8b80, + type: 3} + secondaryTextBlockPrefab: {fileID: 8279096577214194803, guid: f6a037648752e004ba8846f352a8f421, type: 3} songBlockPrefab: {fileID: 8279096577214194803, guid: f0a5abea137f9b446b0408c9dc2d66a8, type: 3} @@ -1929,9 +2007,10 @@ MonoBehaviour: type: 3} connectorPrefab: {fileID: 2558107630079687234, guid: 1767c8901d2d45a49817babbcbf3cdf1, type: 3} - cellSize: {x: 400, y: 200} - cellSpacing: {x: 120, y: 150} + columnStep: 720 + rowStep: 525 marginLeft: 50 + helperReservedLeftSpace: 400 marginRight: 50 marginTop: 50 marginBottom: 50 @@ -3035,7 +3114,7 @@ GameObject: - component: {fileID: 179146695} - component: {fileID: 179146694} m_Layer: 5 - m_Name: Image (1) + m_Name: HelperTalk m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -3053,13 +3132,14 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 822876208} - {fileID: 1047641975} - m_Father: {fileID: 39339086} + m_Father: {fileID: 1119493264} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 800, y: 300} + m_AnchoredPosition: {x: 0, y: 149.99997} + m_SizeDelta: {x: 700, y: 270} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &179146694 MonoBehaviour: @@ -3074,14 +3154,14 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0.35686275} + 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_Sprite: {fileID: 21300000, guid: 8746c977baa2dfb42a2e1acd589d3c5b, type: 3} m_Type: 0 m_PreserveAspect: 1 m_FillCenter: 1 @@ -4048,7 +4128,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 @@ -4273,6 +4353,41 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f7db12c4a04bb4249a4916541b6d0e5d, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &285287334 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 285287335} + m_Layer: 5 + m_Name: MarkerContainer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &285287335 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 285287334} + 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: 2146211969} + 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!1 &290007303 GameObject: m_ObjectHideFlags: 0 @@ -5508,6 +5623,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 361532780} m_CullTransparentMesh: 1 +--- !u!1 &368565900 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 368565901} + - component: {fileID: 368565903} + - component: {fileID: 368565902} + m_Layer: 5 + m_Name: Image (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &368565901 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 368565900} + 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: 904504451} + 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: -99.99998, y: -8} + m_SizeDelta: {x: 8, y: 8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &368565902 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 368565900} + 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: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &368565903 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 368565900} + m_CullTransparentMesh: 1 --- !u!1 &371791735 GameObject: m_ObjectHideFlags: 0 @@ -7058,6 +7248,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 445894608} m_CullTransparentMesh: 1 +--- !u!1 &449098447 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 449098448} + - component: {fileID: 449098450} + - component: {fileID: 449098449} + m_Layer: 5 + m_Name: Image (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &449098448 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449098447} + 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: 904504451} + 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: -95, y: 40} + m_SizeDelta: {x: 8, y: 8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &449098449 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449098447} + 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: edea8b886fa35fb4e91a546d749ef5a6, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &449098450 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449098447} + m_CullTransparentMesh: 1 --- !u!1 &449802386 GameObject: m_ObjectHideFlags: 0 @@ -9198,7 +9463,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 @@ -9439,6 +9704,144 @@ MonoBehaviour: m_ColorSpace: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 3 +--- !u!1 &613871087 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 613871088} + - component: {fileID: 613871090} + - component: {fileID: 613871089} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &613871088 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 613871087} + 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: 904504451} + 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: 110, y: 40} + m_SizeDelta: {x: 100, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &613871089 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 613871087} + 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: CHAPTER + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 19a92ec938f7b364dad1975875f9fe3a, type: 2} + m_sharedMaterial: {fileID: -5812992765432063453, guid: 19a92ec938f7b364dad1975875f9fe3a, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 0 + 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: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 4 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &613871090 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 613871087} + m_CullTransparentMesh: 1 --- !u!1001 &614194743 PrefabInstance: m_ObjectHideFlags: 0 @@ -10144,6 +10547,144 @@ MonoBehaviour: mGUI_ShowCallback: 0 mLocalizeTarget: {fileID: 864604141} mLocalizeTargetName: I2.Loc.LocalizeTarget_TextMeshPro_UGUI +--- !u!1 &642677988 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 642677989} + - component: {fileID: 642677991} + - component: {fileID: 642677990} + m_Layer: 5 + m_Name: Progress + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &642677989 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642677988} + 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: 1457573152} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -100, y: -50} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &642677990 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642677988} + 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: 0% + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 87c1b020037c81841b3d98dd497cbdeb, type: 2} + m_sharedMaterial: {fileID: -5812992765432063453, guid: 87c1b020037c81841b3d98dd497cbdeb, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 42 + m_fontSizeBase: 42 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 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!222 &642677991 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 642677988} + m_CullTransparentMesh: 1 --- !u!114 &657203971 MonoBehaviour: m_ObjectHideFlags: 0 @@ -10452,6 +10993,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 669159255} m_CullTransparentMesh: 1 +--- !u!1 &670033268 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 670033269} + - component: {fileID: 670033271} + - component: {fileID: 670033270} + m_Layer: 5 + m_Name: Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &670033269 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 670033268} + 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: 1371572583} + 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.000061035156} + m_SizeDelta: {x: 400, y: 306} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &670033270 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 670033268} + 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.7529412} + 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: bcb0f0d9eaf2ad045aa1dd9ebf6b489f, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &670033271 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 670033268} + m_CullTransparentMesh: 1 --- !u!1 &673579560 GameObject: m_ObjectHideFlags: 0 @@ -12355,6 +12971,96 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 63ac87ec6c134804c9cd877b8820d283, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &803450606 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 803450607} + - component: {fileID: 803450610} + - component: {fileID: 803450609} + - component: {fileID: 803450608} + m_Layer: 5 + m_Name: Mask + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &803450607 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 803450606} + 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: 1225558874} + m_Father: {fileID: 1371572583} + 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: 70, y: 4.5} + m_SizeDelta: {x: 180, y: 36} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &803450608 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 803450606} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Mask + m_ShowMaskGraphic: 0 +--- !u!114 &803450609 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 803450606} + 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!222 &803450610 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 803450606} + m_CullTransparentMesh: 1 --- !u!1001 &805060254 PrefabInstance: m_ObjectHideFlags: 0 @@ -12881,6 +13587,81 @@ Transform: - {fileID: 932541949} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &813631330 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 813631331} + - component: {fileID: 813631333} + - component: {fileID: 813631332} + m_Layer: 5 + m_Name: Tick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &813631331 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 813631330} + 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: 2146211969} + 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: -27.5} + m_SizeDelta: {x: 0, y: 15} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &813631332 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 813631330} + 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: ebad920ae35dfdd44af54333d6644361, type: 3} + m_Type: 2 + 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 &813631333 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 813631330} + m_CullTransparentMesh: 1 --- !u!1 &815100949 GameObject: m_ObjectHideFlags: 0 @@ -13088,6 +13869,144 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 820445455} m_CullTransparentMesh: 1 +--- !u!1 &822876207 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 822876208} + - component: {fileID: 822876210} + - component: {fileID: 822876209} + m_Layer: 5 + m_Name: HelperName + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &822876208 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 822876207} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 179146693} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 200, y: -55} + m_SizeDelta: {x: 300, y: 45} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &822876209 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 822876207} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u95F9\u9EBB\u4E86" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 73f9a9bb620a2b040ab7347b390452fe, type: 2} + m_sharedMaterial: {fileID: 1291443754377433884, guid: 73f9a9bb620a2b040ab7347b390452fe, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 37.2 + m_fontSizeBase: 32 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 18 + m_fontSizeMax: 42 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &822876210 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 822876207} + m_CullTransparentMesh: 1 --- !u!114 &834685805 MonoBehaviour: m_ObjectHideFlags: 0 @@ -13353,7 +14272,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &859038602 RectTransform: m_ObjectHideFlags: 0 @@ -13445,9 +14364,9 @@ CanvasGroup: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 859038601} m_Enabled: 1 - m_Alpha: 0 - m_Interactable: 0 - m_BlocksRaycasts: 0 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 m_IgnoreParentGroups: 0 --- !u!1 &860827493 GameObject: @@ -13813,6 +14732,7 @@ RectTransform: m_Children: - {fileID: 909563967} - {fileID: 1091682062} + - {fileID: 1457573152} - {fileID: 1129805216} - {fileID: 621188557} - {fileID: 1519945292} @@ -14317,6 +15237,50 @@ RectTransform: m_AnchoredPosition: {x: 32.5, y: -27.5} m_SizeDelta: {x: 25, y: 45} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &904504450 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 904504451} + m_Layer: 5 + m_Name: Decos + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &904504451 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 904504450} + 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: 368565901} + - {fileID: 613871088} + - {fileID: 1885366163} + - {fileID: 1334699623} + - {fileID: 1399605127} + - {fileID: 1960058584} + - {fileID: 449098448} + - {fileID: 1678708316} + - {fileID: 1495257092} + m_Father: {fileID: 1371572583} + 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: 400, y: 306} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &909563966 GameObject: m_ObjectHideFlags: 0 @@ -15433,7 +16397,7 @@ GameObject: - component: {fileID: 1047641977} - component: {fileID: 1047641976} m_Layer: 5 - m_Name: Text (TMP) + m_Name: HelperText m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -15453,10 +16417,10 @@ RectTransform: m_Children: [] m_Father: {fileID: 179146693} 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: 600, y: 200} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 17.5, y: -7.5} + m_SizeDelta: {x: -85, y: -165} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1047641976 MonoBehaviour: @@ -15478,7 +16442,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: "\u8FD9\u662F\u201C\u5C0F\u52A9\u624B\u201D\u7ACB\u7ED8\n\n\u6709\u94B1\u4E86\u505ALive2D" + m_text: "\u95F9\u9EBB\u4E86" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 73f9a9bb620a2b040ab7347b390452fe, type: 2} m_sharedMaterial: {fileID: 1291443754377433884, guid: 73f9a9bb620a2b040ab7347b390452fe, @@ -15488,8 +16452,8 @@ MonoBehaviour: m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} m_enableVertexGradient: 0 m_colorMode: 3 m_fontColorGradient: @@ -15506,15 +16470,15 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 64 - m_fontSizeBase: 64 + m_fontSize: 32 + m_fontSizeBase: 32 m_fontWeight: 400 - m_enableAutoSizing: 0 + m_enableAutoSizing: 1 m_fontSizeMin: 18 - m_fontSizeMax: 72 + m_fontSizeMax: 32 m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 m_textAlignment: 65535 m_characterSpacing: 0 m_characterHorizontalScale: 1 @@ -15529,7 +16493,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 @@ -16727,7 +17691,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &1119493264 RectTransform: m_ObjectHideFlags: 0 @@ -16741,11 +17705,13 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 39339086} + - {fileID: 1294456583} + - {fileID: 179146693} m_Father: {fileID: 869340149} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 400, y: 150} + m_AnchoredPosition: {x: 400, y: 250} m_SizeDelta: {x: 800, y: 1200} m_Pivot: {x: 0.5, y: 0.5} --- !u!1001 &1127235732 @@ -16907,7 +17873,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &1129805216 RectTransform: m_ObjectHideFlags: 0 @@ -17915,12 +18881,12 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1371572583} + m_Father: {fileID: 803450607} 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: 109.99996, y: 20} - m_SizeDelta: {x: 180, y: 160} + m_AnchoredPosition: {x: 0.00006866455, y: -0.000017642975} + m_SizeDelta: {x: 180, y: 40} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1225558875 MonoBehaviour: @@ -17954,13 +18920,13 @@ MonoBehaviour: serializedVersion: 2 rgba: 4294967295 m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 1 - m_colorMode: 2 + m_enableVertexGradient: 0 + m_colorMode: 0 m_fontColorGradient: topLeft: {r: 1, g: 1, b: 1, a: 1} topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 0, g: 0, b: 0, a: 0.2509804} - bottomRight: {r: 0, g: 0, b: 0, a: 0.2509804} + 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 @@ -17970,17 +18936,17 @@ MonoBehaviour: m_faceColor: serializedVersion: 2 rgba: 4294967295 - m_fontSize: 128 - m_fontSizeBase: 128 + m_fontSize: 64 + m_fontSizeBase: 64 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 1 - m_HorizontalAlignment: 1 + m_HorizontalAlignment: 4 m_VerticalAlignment: 512 m_textAlignment: 65535 - m_characterSpacing: 0 + m_characterSpacing: -10 m_characterHorizontalScale: 1 m_wordSpacing: 0 m_lineSpacing: 0 @@ -17993,7 +18959,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 @@ -19048,6 +20014,82 @@ MonoBehaviour: m_ColorSpace: 0 m_NumColorKeys: 2 m_NumAlphaKeys: 3 +--- !u!1 &1294456582 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1294456583} + - component: {fileID: 1294456585} + - component: {fileID: 1294456584} + m_Layer: 5 + m_Name: Image (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1294456583 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1294456582} + 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: 1692494579} + m_Father: {fileID: 1119493264} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -175, y: 475} + m_SizeDelta: {x: 250, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1294456584 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1294456582} + 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: b9ce28235ee41294dba7fd1abe6fd159, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1294456585 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1294456582} + m_CullTransparentMesh: 1 --- !u!1 &1296688832 GameObject: m_ObjectHideFlags: 0 @@ -19503,6 +20545,81 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 5151cbfb4a7c39c4599fb711d3332cbd, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &1334699622 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1334699623} + - component: {fileID: 1334699625} + - component: {fileID: 1334699624} + 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 &1334699623 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1334699622} + 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: 904504451} + 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: 170, y: 39} + m_SizeDelta: {x: 8, y: 8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1334699624 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1334699622} + 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: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1334699625 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1334699622} + m_CullTransparentMesh: 1 --- !u!1 &1340448061 GameObject: m_ObjectHideFlags: 0 @@ -19778,14 +20895,16 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 670033269} - {fileID: 34921394} - - {fileID: 1225558874} + - {fileID: 803450607} + - {fileID: 904504451} m_Father: {fileID: 869340149} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -325, y: -200} - m_SizeDelta: {x: 400, y: 200} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -325, y: 225} + m_SizeDelta: {x: 400, y: 306} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1384690050 GameObject: @@ -19930,6 +21049,81 @@ MonoBehaviour: backButton: {fileID: 463854110} settingsWindowController: {fileID: 1094166300} offsetEditor: {fileID: 1733771706} +--- !u!1 &1399605126 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1399605127} + - component: {fileID: 1399605129} + - component: {fileID: 1399605128} + m_Layer: 5 + m_Name: Image (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1399605127 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1399605126} + 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: 904504451} + 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: 50, y: 40} + m_SizeDelta: {x: 8, y: 8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1399605128 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1399605126} + 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: edea8b886fa35fb4e91a546d749ef5a6, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1399605129 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1399605126} + m_CullTransparentMesh: 1 --- !u!1 &1413017892 GameObject: m_ObjectHideFlags: 0 @@ -20782,6 +21976,66 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1442275325} m_CullTransparentMesh: 0 +--- !u!1 &1457573151 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1457573152} + - component: {fileID: 1457573153} + m_Layer: 5 + m_Name: StoryTimeline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1457573152 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1457573151} + 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: 1694091505} + - {fileID: 2146211969} + - {fileID: 642677989} + m_Father: {fileID: 869340149} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -150} + m_SizeDelta: {x: 0, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1457573153 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1457573151} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 84d93bde6e074965b7ca259465f2a713, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Ichni.Story.UI.StoryTimelineController + markerContainer: {fileID: 285287335} + markerPrefab: {fileID: 483471027588563956, guid: 194aa7f028f08dd4da24d8d677ea2210, + type: 3} + progressText: {fileID: 642677990} + tickRepeatRect: {fileID: 813631331} + tickRepeatPeriodOverride: 0 + expandTickRepeatRect: 1 + localizationTable: + m_TableCollectionName: --- !u!1 &1459385232 GameObject: m_ObjectHideFlags: 0 @@ -21556,6 +22810,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1492554504} m_CullTransparentMesh: 1 +--- !u!1 &1495257091 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1495257092} + - component: {fileID: 1495257094} + - component: {fileID: 1495257093} + m_Layer: 5 + m_Name: Image (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1495257092 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1495257091} + 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: 904504451} + 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: 170, y: -24} + m_SizeDelta: {x: 8, y: 8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1495257093 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1495257091} + 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: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1495257094 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1495257091} + m_CullTransparentMesh: 1 --- !u!1 &1506872040 GameObject: m_ObjectHideFlags: 0 @@ -23783,6 +25112,81 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1678708315 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1678708316} + - component: {fileID: 1678708318} + - component: {fileID: 1678708317} + m_Layer: 5 + m_Name: Image (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1678708316 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1678708315} + 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: 904504451} + 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: 170, y: 23} + m_SizeDelta: {x: 8, y: 8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1678708317 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1678708315} + 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: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1678708318 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1678708315} + m_CullTransparentMesh: 1 --- !u!1 &1680420590 GameObject: m_ObjectHideFlags: 0 @@ -24243,6 +25647,221 @@ CanvasGroup: m_Interactable: 1 m_BlocksRaycasts: 1 m_IgnoreParentGroups: 0 +--- !u!1 &1692494578 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1692494579} + - component: {fileID: 1692494581} + - component: {fileID: 1692494580} + 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 &1692494579 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1692494578} + 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: 1294456583} + 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: -85.000015} + m_SizeDelta: {x: 250, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1692494580 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1692494578} + 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: "-\u66F4\u6362\u52A9\u624B-" + 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: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 18 + m_fontSizeMax: 24 + 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!222 &1692494581 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1692494578} + m_CullTransparentMesh: 1 +--- !u!1 &1694091504 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1694091505} + - component: {fileID: 1694091507} + - component: {fileID: 1694091506} + m_Layer: 5 + m_Name: Track + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1694091505 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1694091504} + 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: 61177034} + - {fileID: 1869385635} + m_Father: {fileID: 1457573152} + 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: 10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1694091506 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1694091504} + 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!222 &1694091507 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1694091504} + m_CullTransparentMesh: 1 --- !u!1 &1718083120 GameObject: m_ObjectHideFlags: 0 @@ -25494,6 +27113,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1834603786} m_CullTransparentMesh: 1 +--- !u!1 &1869385634 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1869385635} + - component: {fileID: 1869385637} + - component: {fileID: 1869385636} + m_Layer: 5 + m_Name: Lower + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1869385635 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1869385634} + 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: 1694091505} + 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: -20} + m_SizeDelta: {x: 0, y: 2} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1869385636 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1869385634} + 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!222 &1869385637 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1869385634} + m_CullTransparentMesh: 1 --- !u!1 &1870072470 GameObject: m_ObjectHideFlags: 0 @@ -25779,6 +27473,81 @@ MonoBehaviour: mAlignment_LTR: 513 mAlignmentWasRTL: 0 mInitializeAlignment: 0 +--- !u!1 &1885366162 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1885366163} + - component: {fileID: 1885366165} + - component: {fileID: 1885366164} + m_Layer: 5 + m_Name: Image (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1885366163 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1885366162} + 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: 904504451} + 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: -99.99998, y: -24} + m_SizeDelta: {x: 8, y: 8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1885366164 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1885366162} + 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: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1885366165 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1885366162} + m_CullTransparentMesh: 1 --- !u!1 &1892873558 GameObject: m_ObjectHideFlags: 0 @@ -26396,6 +28165,81 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: e4d6bf33a04cb664da50cab6630146a2, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &1960058583 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1960058584} + - component: {fileID: 1960058586} + - component: {fileID: 1960058585} + m_Layer: 5 + m_Name: Image (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1960058584 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960058583} + 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: 904504451} + 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: 40, y: 40} + m_SizeDelta: {x: 8, y: 8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1960058585 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960058583} + 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: edea8b886fa35fb4e91a546d749ef5a6, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1960058586 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1960058583} + m_CullTransparentMesh: 1 --- !u!1 &1960203221 GameObject: m_ObjectHideFlags: 0 @@ -26775,7 +28619,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &1998834542 Transform: m_ObjectHideFlags: 0 @@ -33985,6 +35829,67 @@ SpriteRenderer: m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 m_SpriteSortPoint: 0 +--- !u!1 &2146211968 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2146211969} + - component: {fileID: 2146211971} + - component: {fileID: 2146211970} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2146211969 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2146211968} + 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: 285287335} + - {fileID: 813631331} + m_Father: {fileID: 1457573152} + 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: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2146211970 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2146211968} + 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: 0, y: 0, z: 0, w: 0} + m_Softness: {x: 0, y: 0} +--- !u!222 &2146211971 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2146211968} + m_CullTransparentMesh: 1 --- !u!1001 &1790733586872878389 PrefabInstance: m_ObjectHideFlags: 0 @@ -34681,6 +36586,7 @@ MonoBehaviour: treeController: {fileID: 78737090} storyUIPage: {fileID: 78737089} characterRegistry: {fileID: 11400000, guid: cb28799b724eb714aa0cc820b36a8b5f, type: 2} + helperData: {fileID: 0} --- !u!4 &5788293620442285278 Transform: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/NewStorySystem/Data/StoryBlockDefinition.cs b/Assets/Scripts/NewStorySystem/Data/StoryBlockDefinition.cs index 581b08a6..d4a620e1 100644 --- a/Assets/Scripts/NewStorySystem/Data/StoryBlockDefinition.cs +++ b/Assets/Scripts/NewStorySystem/Data/StoryBlockDefinition.cs @@ -12,7 +12,8 @@ namespace Ichni.Story { Locked, Current, - Completed + Completed, + Forbidden } /// @@ -25,6 +26,16 @@ namespace Ichni.Story Tutorial } + /// + /// TextBlock 的叙事层级。层级只决定剧情树中的视觉样式和 checkpoint 候选资格, + /// 不会自行改变 Block 的解锁条件或 Yarn 执行逻辑。 + /// + public enum TextBlockImportance + { + Important, + Secondary + } + /// /// 变量条件的比较方式。 /// @@ -69,7 +80,18 @@ namespace Ichni.Story [FoldoutGroup("$blockId")] [LabelText("Unlock Condition")] - public UnlockCondition unlockCondition = new UnlockCondition(); + [InfoBox("留空表示无条件解锁(章节起始即可用)。")] + public StoryCondition unlockCondition = new StoryCondition(); + + /// + /// 用于禁用当前 Block 的可选条件。它与解锁条件共用同一种通用条件树, + /// 因而可直接使用剧情变量、Block 完成状态及 AND / OR / NOT 组合。 + /// 条件满足时,该 Block 的状态固定为 Forbidden,且优先于 Completed / Current / Locked。 + /// + [FoldoutGroup("$blockId")] + [LabelText("Forbidden Condition")] + [InfoBox("可选。留空表示此 Block 不会被条件禁用;满足时显示为 Forbidden 且不可点击。")] + public StoryCondition forbiddenCondition = new StoryCondition(); // ── Text Block ────────────────────────────────────────────────────────── @@ -83,13 +105,35 @@ namespace Ichni.Story [LabelText("Title Key (Localization)")] public string titleKey; + /// + /// TextBlock 的视觉和叙事层级。Important 用于主线转折与后续 checkpoint; + /// Secondary 用于支线或补充剧情。默认 Important,以保持现有 TextBlock 的呈现语义。 + /// + [FoldoutGroup("$blockId")] + [ShowIf("blockType", StoryBlockType.Text)] + [LabelText("Text Importance")] + public TextBlockImportance textImportance = TextBlockImportance.Important; + // ── Song Block ────────────────────────────────────────────────────────── [FoldoutGroup("$blockId")] [ShowIf("blockType", StoryBlockType.Song)] - [LabelText("Song Name")] + [LabelText("Song Name (Stable ID)")] + [InfoBox("对应 ChapterSelectionUnit 中 SongItemData.songName 的稳定歌曲标识。它用于查找歌曲资料与进入选曲,不能填写 displaySongName、翻译文本或作曲者名称。")] public string songName; + /// + /// 插画在 SongBlock 的 Mask 中使用的实际本地 Y 坐标。SongBlock 的 Illustration 固定为 400 x 225, + /// Mask 可视区域固定为当前 Prefab 的尺寸;在不露出上下空白的前提下,安全范围为 -74.25 到 74.25。 + /// 该值是最终坐标而非偏移量:0 表示居中,负值向下移动,正值向上移动。 + /// + [FoldoutGroup("$blockId")] + [ShowIf("blockType", StoryBlockType.Song)] + [LabelText("Illustration Local Y")] + [Range(-74.25f, 74.25f)] + [InfoBox("用于微调 16:9 插画在 SongBlock Mask 中的纵向裁切。请保持 SongBlockUI 的 Illustration 尺寸为 400 x 225。")] + public float illustrationLocalY; + // ── Tutorial Block ────────────────────────────────────────────────────── [FoldoutGroup("$blockId")] @@ -145,26 +189,35 @@ namespace Ichni.Story } /// - /// Block 的解锁条件。以一棵可组合的条件树()表达, - /// 支持"与 / 或 / 非 + 叶子条件"的任意嵌套。根节点为空时视为无条件解锁(始终满足)。 + /// 通用剧情条件容器。以一棵可组合的条件树()表达, + /// 支持“与 / 或 / 非 + 叶子条件”的任意嵌套。 + /// 该类型不限定用途,可用于 Block 的解锁、禁用、Helper 对话筛选等所有剧情判断。 + /// 根节点为空表示“未配置条件”,其是否视为通过由调用方根据业务语义决定; + /// 例如 unlockCondition 留空即允许,而 forbiddenCondition 留空即不禁用。 /// [InlineProperty] [Serializable] - public class UnlockCondition + public class StoryCondition { [HideLabel] [SerializeReference] - [InfoBox("留空表示无条件解锁(章节起始即可用)。可选择 All Of(AND) / Any Of(OR) / Not 复合节点进行任意嵌套。")] + [InfoBox("留空表示未配置条件。可选择 All Of(AND) / Any Of(OR) / Not 复合节点进行任意嵌套。")] public StoryConditionNode root; /// - /// 检查解锁条件是否满足。根节点为空视为满足。 + /// 当前容器是否已配置实际条件。 + /// + public bool IsConfigured => root != null; + + /// + /// 检查已配置条件是否满足。根节点为空时返回 false;调用方应结合 + /// 决定“未配置条件”的业务含义。 /// /// 按变量名返回其整型值的委托。 /// 按 blockId 判断该 block 是否已完成的委托。 public bool IsSatisfied(Func getVariable, Func isBlockCompleted) { - return root == null || root.Evaluate(getVariable, isBlockCompleted); + return root != null && root.Evaluate(getVariable, isBlockCompleted); } } } diff --git a/Assets/Scripts/NewStorySystem/Data/StoryConditionNode.cs b/Assets/Scripts/NewStorySystem/Data/StoryConditionNode.cs index 52476e8b..77617084 100644 --- a/Assets/Scripts/NewStorySystem/Data/StoryConditionNode.cs +++ b/Assets/Scripts/NewStorySystem/Data/StoryConditionNode.cs @@ -6,8 +6,8 @@ using UnityEngine; namespace Ichni.Story { /// - /// 解锁条件树的节点基类。通过多态组合出"与 / 或 / 非 + 叶子条件"的复合表达式。 - /// 由 借助 [SerializeReference] 序列化持有, + /// 通用剧情条件树的节点基类。通过多态组合出“与 / 或 / 非 + 叶子条件”的复合表达式。 + /// 由 借助 [SerializeReference] 序列化持有, /// Odin 会以类型下拉框展示可选的节点类型。 /// [Serializable] @@ -17,7 +17,7 @@ namespace Ichni.Story /// 对该节点求值。 /// /// 按变量名返回其整型值的委托。 - /// 按 blockId 判断该 block 是否已完成的委托。 + /// 按 blockId 判断该 Block 是否已完成的委托。 public abstract bool Evaluate(Func getVariable, Func isBlockCompleted); } @@ -73,7 +73,7 @@ namespace Ichni.Story } /// - /// 复合节点(逻辑非 NOT):对子条件取反。子条件为空视为满足(等价于"非 假")。 + /// 复合节点(逻辑非 NOT):对子条件取反。子条件为空视为满足(等价于“非 假”)。 /// [Serializable] [LabelText("Not")] @@ -90,7 +90,7 @@ namespace Ichni.Story } /// - /// 叶子节点:指定 block 已完成时满足。 + /// 叶子节点:指定 Block 已完成时满足。 /// [Serializable] [LabelText("Block Completed")] @@ -107,6 +107,7 @@ namespace Ichni.Story /// /// 叶子节点:将指定变量的当前值与目标值按比较方式求值。 + /// 既可用于解锁条件,也可用于 Forbidden Condition;例如当路线变量等于另一条路线的值时禁用 Block。 /// [Serializable] [LabelText("Variable Compare")] diff --git a/Assets/Scripts/NewStorySystem/Data/StoryData.cs b/Assets/Scripts/NewStorySystem/Data/StoryData.cs index 64fb64ce..7e947394 100644 --- a/Assets/Scripts/NewStorySystem/Data/StoryData.cs +++ b/Assets/Scripts/NewStorySystem/Data/StoryData.cs @@ -27,6 +27,16 @@ namespace Ichni.Story [ListDrawerSettings(ShowFoldout = true, DefaultExpandedState = false, DraggableItems = true, ShowItemCount = true)] public List blocks = new List(); + /// + /// 章节顶部 Timeline 的静态标记定义。 + /// 标记的横向位置始终由 指向的 + /// Block 的 gridColumn 推导,不在这里重复保存坐标,避免剧情树与 Timeline 脱节。 + /// + [LabelText("Timeline Markers")] + [ListDrawerSettings(ShowFoldout = true, DefaultExpandedState = false, DraggableItems = true, ShowItemCount = true)] + [InfoBox("每个标记锚定到一个 TextBlock;运行时使用该 Block 的 Grid Column 对齐 Timeline。TextBlock 为 Current / Completed 时显示,Locked / Forbidden 时隐藏。未配置标记时,现有章节行为不变。")] + public List timelineMarkers = new List(); + // ── Queries ───────────────────────────────────────────────────────────── /// @@ -70,24 +80,30 @@ namespace Ichni.Story private const float PreviewViewportHeight = 380f; private const float PreviewPaddingLeft = 24f; - private const float PreviewTangent = 44f; - // 详细版:较大方块,标注 id / 类型 / 标题 - private const float DetailCellWidth = 150f; - private const float DetailCellHeight = 72f; - private const float DetailStepX = 210f; - private const float DetailStepY = 120f; + // 预览与运行时共用同一套“列 / 行代表 Block 中心点”的布局语义。 + // 这里的尺寸直接对应当前四种 Block Prefab 的设计尺寸;若未来修改 Prefab 尺寸,必须同步更新本组常量。 + private const float ImportantBlockWidth = 600f; + private const float ImportantBlockHeight = 375f; + private const float SecondaryBlockWidth = 400f; + private const float SecondaryBlockHeight = 200f; + private const float SongBlockWidth = 400f; + private const float SongBlockHeight = 100f; + private const float TutorialBlockWidth = 400f; + private const float TutorialBlockHeight = 100f; - // 简略版:很小的方块,仅标注 Block ID - private const float SimpleCellWidth = 62f; - private const float SimpleCellHeight = 26f; - private const float SimpleStepX = 92f; - private const float SimpleStepY = 42f; + // 与 StoryTreeController 默认 columnStep / rowStep 保持比例一致, + // 因而预览中的相邻列、行间距也能反映运行时的实际布局关系。 + private const float RuntimeColumnStep = 720f; + private const float RuntimeRowStep = 525f; + private const float DetailedPreviewScale = 0.25f; + private const float SimplePreviewScale = 0.10f; /// /// 在 Inspector 顶部绘制只读的故事树结构预览(流程图样式,连线左右相连)。 - /// 提供"详细 / 简略"两种可拖拽平移的视图;按 (gridColumn, gridRow) 摆放 block, - /// 支持负数与小数坐标,(0,0) 对应左侧中部。 + /// 提供"详细 / 简略"两种可拖拽平移的视图;按 (gridColumn, gridRow) 摆放 block。 + /// 每个 Block 使用其运行时 Prefab 尺寸按统一比例缩放后的矩形,且列坐标始终代表 Block 的中心点, + /// 从而让 Important / Secondary / Song / Tutorial 的体积与连线端点关系尽量接近游戏内画面。 /// [PropertyOrder(-10)] [OnInspectorGUI] @@ -110,10 +126,9 @@ namespace Ichni.Story EditorGUILayout.EndHorizontal(); bool simple = _previewMode == StoryPreviewMode.Simple; - float cellW = simple ? SimpleCellWidth : DetailCellWidth; - float cellH = simple ? SimpleCellHeight : DetailCellHeight; - float stepX = simple ? SimpleStepX : DetailStepX; - float stepY = simple ? SimpleStepY : DetailStepY; + float previewScale = simple ? SimplePreviewScale : DetailedPreviewScale; + float stepX = RuntimeColumnStep * previewScale; + float stepY = RuntimeRowStep * previewScale; Rect area = GUILayoutUtility.GetRect(0f, PreviewViewportHeight, GUILayout.ExpandWidth(true)); EditorGUI.DrawRect(area, new Color(0.12f, 0.12f, 0.14f, 1f)); @@ -123,26 +138,34 @@ namespace Ichni.Story // 裁剪到预览区,超出部分(平移后)不外溢到其它 Inspector 元素 GUI.BeginClip(area); { - // (0,0) 网格点 = 视口左侧中线(叠加平移量) - float originX = PreviewPaddingLeft + _previewPan.x; + // (0,0) 是 Block 的逻辑中心点。为避免第一列 Important Block 被左侧裁掉, + // 初始视图预留半个最大 Block 宽度;这不改变 StoryData 的坐标语义。 + float originX = PreviewPaddingLeft + ImportantBlockWidth * previewScale * 0.5f + _previewPan.x; float originY = area.height * 0.5f + _previewPan.y; - // 计算各 block 矩形(左中对齐网格点,与运行时 pivot(0,0.5) 一致),按 blockId 索引 + // 计算各 Block 的实际比例矩形。运行时同样以中心 Pivot 放置,因此 gridColumn / gridRow + // 在预览中也对应矩形中心,而不是左边缘。 Dictionary cellRects = new Dictionary(); foreach (StoryBlockDefinition block in blocks) { - if (block == null || string.IsNullOrEmpty(block.blockId)) continue; + if (!HasPreviewableBlockId(block)) continue; - float px = originX + block.gridColumn * stepX; // 列向右为正(可负、可小数) - float py = originY + block.gridRow * stepY; // 行向下为正、向上为负 - cellRects[block.blockId] = new Rect(px, py - cellH * 0.5f, cellW, cellH); + Vector2 blockSize = GetPreviewBlockSize(block, previewScale); + float px = originX + block.gridColumn * stepX; // 列向右为正(可负、可小数) + float py = originY + block.gridRow * stepY; // 行向下为正、向上为负 + cellRects[block.blockId] = new Rect( + px - blockSize.x * 0.5f, + py - blockSize.y * 0.5f, + blockSize.x, + blockSize.y); } - // 先画连线:左右相连的流程图(起点右中 → 终点左中,水平切线) + // 先画连线:与 BlockConnectorView 相同,起点右中 → 以两个 Block 中心的中点列折线 → 终点左中。 + // 不使用端口中点作为转折列,避免不同宽度 Block 在同一列时出现不一致的转折位置。 Handles.BeginGUI(); foreach (StoryBlockDefinition block in blocks) { - if (block == null || !cellRects.TryGetValue(block.blockId, out Rect fromRect)) continue; + if (!HasPreviewableBlockId(block) || !cellRects.TryGetValue(block.blockId, out Rect fromRect)) continue; foreach (string nextId in block.nextBlockIds) { @@ -150,11 +173,12 @@ namespace Ichni.Story Vector3 start = new Vector3(fromRect.xMax, fromRect.center.y, 0f); Vector3 end = new Vector3(toRect.xMin, toRect.center.y, 0f); - Vector3 startTan = start + Vector3.right * PreviewTangent; - Vector3 endTan = end + Vector3.left * PreviewTangent; + float midX = (fromRect.center.x + toRect.center.x) * 0.5f; + Vector3 mid1 = new Vector3(midX, start.y, 0f); + Vector3 mid2 = new Vector3(midX, end.y, 0f); - Handles.DrawBezier(start, end, startTan, endTan, - new Color(0.82f, 0.82f, 0.88f, 1f), null, simple ? 2f : 3f); + Handles.color = new Color(0.82f, 0.82f, 0.88f, 1f); + Handles.DrawAAPolyLine(simple ? 2f : 3f, start, mid1, mid2, end); } } Handles.EndGUI(); @@ -171,22 +195,58 @@ namespace Ichni.Story foreach (StoryBlockDefinition block in blocks) { - if (block == null || !cellRects.TryGetValue(block.blockId, out Rect rect)) continue; + if (!HasPreviewableBlockId(block) || !cellRects.TryGetValue(block.blockId, out Rect rect)) continue; EditorGUI.DrawRect(rect, GetTypeColor(block.blockType)); - string label = simple - ? block.blockId - : $"{block.blockId}\n[{block.blockType}]\n{block.GetDisplayTitle()}"; + string label = GetPreviewLabel(block, simple, rect.height); GUI.Label(rect, label, labelStyle); } } GUI.EndClip(); EditorGUILayout.HelpBox( - "在预览区内拖拽可平移视图。列 = 水平(右为正),行 = 垂直(下为正、上为负),(0,0) 位于左侧中部,支持负数与小数。", + "在预览区内拖拽可平移视图。列 = 水平(右为正),行 = 垂直(下为正、上为负);坐标代表 Block 中心点。预览按当前 Prefab 尺寸比例绘制:Important 600×375、Secondary 400×200、Song / Tutorial 400×100。", MessageType.None); } + /// + /// 返回一个 Block 在 Inspector 预览中的尺寸。所有类型使用同一缩放比例, + /// 因而宽高比及不同 Block 之间的体积关系与运行时 Prefab 保持一致。 + /// + private static Vector2 GetPreviewBlockSize(StoryBlockDefinition block, float previewScale) + { + Vector2 runtimeSize = block.blockType switch + { + StoryBlockType.Text when block.textImportance == TextBlockImportance.Important => + new Vector2(ImportantBlockWidth, ImportantBlockHeight), + StoryBlockType.Text => new Vector2(SecondaryBlockWidth, SecondaryBlockHeight), + StoryBlockType.Song => new Vector2(SongBlockWidth, SongBlockHeight), + StoryBlockType.Tutorial => new Vector2(TutorialBlockWidth, TutorialBlockHeight), + _ => Vector2.zero + }; + + return runtimeSize * previewScale; + } + + /// + /// 根据可用高度选择预览标签密度。Song / Tutorial 的真实比例高度较小, + /// 因此只显示 Block ID,避免文字撑破矩形而掩盖实际体积关系。 + /// + private static string GetPreviewLabel(StoryBlockDefinition block, bool simple, float blockHeight) + { + if (simple || blockHeight < 32f) + { + return block.blockId; + } + + if (blockHeight < 60f) + { + return $"{block.blockId}\n[{block.blockType}]"; + } + + return $"{block.blockId}\n[{block.blockType}]\n{block.GetDisplayTitle()}"; + } + /// /// 处理预览区内的鼠标拖拽平移。 /// @@ -220,6 +280,17 @@ namespace Ichni.Story } } + /// + /// 判断 Block 能否参与 Inspector 中的故事树预览。 + /// 新增 Block 时,Odin 会先创建一个尚未填写 blockId 的临时数据项;它还不能作为 + /// Dictionary 的 Key,也不应在预览中显示或连接。统一在三个预览阶段过滤,避免后续 + /// Draw / TryGetValue 阶段再次把空引用传入 Dictionary。 + /// + private static bool HasPreviewableBlockId(StoryBlockDefinition block) + { + return block != null && !string.IsNullOrWhiteSpace(block.blockId); + } + /// /// 预览中不同 block 类型的填充色。 /// diff --git a/Assets/Scripts/NewStorySystem/Data/StoryHelperData.cs b/Assets/Scripts/NewStorySystem/Data/StoryHelperData.cs new file mode 100644 index 00000000..f218a9a0 --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Data/StoryHelperData.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using Sirenix.OdinInspector; +using UnityEngine; + +namespace Ichni.Story +{ + /// + /// 全局 Helper 的独立数据资产。 + /// 该资产不隶属于任何 StoryData,由 统一引用, + /// 因而所有章节都共用同一个 Helper 角色、名称和候选对话池。 + /// 运行时会在满足条件的候选中按权重抽取,并在候选数量允许时避免与上次对话重复; + /// 具体抽取和 UI 展示逻辑将在 Helper 功能实现阶段接入。 + /// + [CreateAssetMenu(fileName = "StoryHelperData", menuName = "Ichni/Story/New/Story Helper Data")] + public class StoryHelperData : SerializedScriptableObject + { + /// + /// Helper 显示名称的 Unity Localization Entry Key。 + /// + [LabelText("Display Name Key (Localization)")] + public string displayNameKey; + + /// + /// 当所有候选对话均不满足条件时显示的兜底对话 Entry Key。 + /// + [LabelText("Fallback Dialogue Key (Localization)")] + public string fallbackDialogueKey; + + /// + /// 全章节共用的候选对话。条件留空表示始终可参与抽取。 + /// + [LabelText("Dialogue Pool")] + [ListDrawerSettings(ShowFoldout = true, DefaultExpandedState = false, DraggableItems = true, ShowItemCount = true)] + public List dialoguePool = new List(); + } + + /// + /// Helper 对话池中的一条候选记录。 + /// 条件复用故事树的 ,因此未来可直接根据章节剧情变量、 + /// 路线变量或指定 Block 的完成状态筛选,而不需要为 Helper 另写一套条件语法。 + /// + [Serializable] + [InlineProperty] + public class StoryHelperDialogueDefinition + { + /// + /// 候选对话的稳定 ID,仅用于调试、去重和未来数据追踪。 + /// 命名使用小写英文、数字和下划线,例如 general_greeting_01。 + /// + [LabelText("Dialogue ID")] + public string dialogueId; + + /// + /// 实际显示内容的 Unity Localization Entry Key。 + /// + [LabelText("Dialogue Key (Localization)")] + public string dialogueKey; + + /// + /// 此对话可被抽取的条件;留空表示始终可用。 + /// + [LabelText("Availability Condition")] + public StoryCondition availabilityCondition = new StoryCondition(); + + /// + /// 在所有满足条件的候选中的相对抽取权重。值越大,出现概率越高; + /// 小于 1 的值在运行时应按 1 处理,避免无效的零或负权重。 + /// + [LabelText("Weight")] + [MinValue(1)] + public int weight = 1; + } +} diff --git a/Assets/Scripts/NewStorySystem/Data/StoryHelperData.cs.meta b/Assets/Scripts/NewStorySystem/Data/StoryHelperData.cs.meta new file mode 100644 index 00000000..60e636fc --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Data/StoryHelperData.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 24bdc25737924012ab3c078aa043fcad diff --git a/Assets/Scripts/NewStorySystem/Data/StoryTimelineMarkerDefinition.cs b/Assets/Scripts/NewStorySystem/Data/StoryTimelineMarkerDefinition.cs new file mode 100644 index 00000000..883c1190 --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Data/StoryTimelineMarkerDefinition.cs @@ -0,0 +1,52 @@ +using System; +using Sirenix.OdinInspector; +using UnityEngine; + +namespace Ichni.Story +{ + /// + /// 一个章节 Timeline 标记的静态定义。 + /// 它不保存独立的横坐标:运行时始终跟随锚定 Block 的 gridColumn, + /// 使时间轴与剧情树在横向拖动时保持对齐。 + /// 显示文本和 ID 使用 Unity Localization 的 Entry Key;本阶段不绑定具体 String Table, + /// 以便后续统一迁移本地化系统时集中配置。 + /// + [Serializable] + [InlineProperty] + public class StoryTimelineMarkerDefinition + { + /// + /// 标记的稳定唯一 ID,仅用于配置、调试和未来持久化引用。 + /// 命名使用小写英文、数字和下划线,例如 chapter0_day_01。 + /// + [LabelText("Marker ID")] + public string markerId; + + /// + /// 被此标记锚定的 TextBlock ID。该 Block 的 gridColumn 是标记的唯一位置来源; + /// 当它处于 Current 或 Completed 时,标记显示;Locked 或 Forbidden 时,标记隐藏。 + /// + [LabelText("Anchor Block ID")] + public string anchorBlockId; + + /// + /// Timeline 上显示的本地化文本 Key。通常用于时间描述,也可用于特殊叙事文本。 + /// + [LabelText("Label Key (Localization)")] + public string labelKey; + + /// + /// 是否参与章节主线进度百分比计算。支线或纯装饰性时间标记应关闭此项。 + /// + [LabelText("Contributes To Main Progress")] + public bool contributesToMainProgress = true; + + /// + /// 锚定 Block 完成后可贡献的主线进度,范围为 0 到 1。 + /// 同一章节的不同结局都应配置为 1;运行时取所有有效完成标记中的最大值。 + /// + [LabelText("Progress Value")] + [Range(0f, 1f)] + public float progressValue; + } +} diff --git a/Assets/Scripts/NewStorySystem/Data/StoryTimelineMarkerDefinition.cs.meta b/Assets/Scripts/NewStorySystem/Data/StoryTimelineMarkerDefinition.cs.meta new file mode 100644 index 00000000..450e1099 --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Data/StoryTimelineMarkerDefinition.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 02587e83d8754ac5828e51066dce570f diff --git a/Assets/Scripts/NewStorySystem/Progress/StoryProgress.cs b/Assets/Scripts/NewStorySystem/Progress/StoryProgress.cs index a29734f0..bbbe3d5d 100644 --- a/Assets/Scripts/NewStorySystem/Progress/StoryProgress.cs +++ b/Assets/Scripts/NewStorySystem/Progress/StoryProgress.cs @@ -24,6 +24,20 @@ namespace Ichni.Story return true; } + /// + /// 写入整型剧情变量、保存到 StorySaveModule,并立即重新推导当前故事树。 + /// 路线选项可通过本方法写入 Forbidden Condition 所读取的变量,确保玩家确认选择后, + /// 同一帧内即可把其它路线的 Block 更新为 Forbidden。 + /// + public static bool SetIntAndRefresh(string variableName, int value) + { + if (!TrySetIntAndSave(variableName, value)) + return false; + + StoryManager.instance?.treeController?.RefreshAllStates(); + return true; + } + /// /// 处理一次 TutorialBlock 的选择结果。 /// 无论选择“游玩”还是“跳过”,都会将其进度变量设为 true,并将教程节点标记为完成。 @@ -112,5 +126,28 @@ namespace Ichni.Story GameSaveManager.instance.StorySaveModule.SaveVariables(); return true; } + + /// + /// 整型变量的保存实现。Yarn 底层会以 float 字典持久化数字,具体存储细节由 + /// StoryVariables.SetInt 统一处理,调用方不应直接操作 StorySaveModule.variables。 + /// + private static bool TrySetIntAndSave(string variableName, int value) + { + if (string.IsNullOrWhiteSpace(variableName)) + { + Debug.LogWarning("[StoryProgress] 剧情变量名为空,拒绝写入。"); + return false; + } + + if (GameSaveManager.instance == null || GameSaveManager.instance.StorySaveModule == null) + { + Debug.LogWarning("[StoryProgress] StorySaveModule 未就绪,拒绝写入剧情变量。"); + return false; + } + + StoryVariables.SetInt(variableName, value); + GameSaveManager.instance.StorySaveModule.SaveVariables(); + return true; + } } } diff --git a/Assets/Scripts/NewStorySystem/Save/StorySave.cs b/Assets/Scripts/NewStorySystem/Save/StorySave.cs index b40fd8e0..4840ad92 100644 --- a/Assets/Scripts/NewStorySystem/Save/StorySave.cs +++ b/Assets/Scripts/NewStorySystem/Save/StorySave.cs @@ -7,7 +7,7 @@ namespace Ichni.Story /// 单章节的存档容器。 /// 故事树的布局与连接完全由 静态定义,故存档不再保存 /// block 位置与连接线;进入章节时按"已完成集合 + 解锁条件"实时推导每个 block 的 - /// (Completed / Current / Locked)。 + /// (Completed / Current / Locked / Forbidden)。 /// 以单个 ES3 key 存储,按章节分文件,一次读写即可加载/保存整章进度。 /// [Serializable] diff --git a/Assets/Scripts/NewStorySystem/Timeline.meta b/Assets/Scripts/NewStorySystem/Timeline.meta new file mode 100644 index 00000000..0ed12643 --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Timeline.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 424a277e60b372a4082a7b4cd9a32202 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/NewStorySystem/Timeline/StoryTimelineController.cs b/Assets/Scripts/NewStorySystem/Timeline/StoryTimelineController.cs new file mode 100644 index 00000000..9870b3a6 --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Timeline/StoryTimelineController.cs @@ -0,0 +1,423 @@ +using System; +using System.Collections.Generic; +using TMPro; +using UnityEngine; +using UnityEngine.Localization; +using UnityEngine.Localization.Settings; +using UnityEngine.Localization.Tables; +using UnityEngine.UI; + +namespace Ichni.Story.UI +{ + /// + /// 剧情页顶部固定的 StoryTimeline 控制器。 + /// 它将 StoryData 中的时间 Marker 投影到固定 UI 层,并以锚定 TextBlock 的实际视觉中心同步横向位置; + /// 因而不会受 StoryTree 的 Helper 留白、Content 尺寸变化或不同 Block Prefab 尺寸影响。 + /// Timeline 本身不保存进度。Marker 可见性来自 StoryBlockState,主线百分比来自已完成 Marker 的最大 Progress Value。 + /// + public class StoryTimelineController : MonoBehaviour + { + [Header("UI References")] + [Tooltip("位于固定顶部 Timeline 中、用于实例化 Marker 的容器。建议由 RectMask2D 的 Viewport 裁切。")] + public RectTransform markerContainer; + + [Tooltip("运行时生成的单个 Timeline Marker Prefab。")] + public StoryTimelineMarkerView markerPrefab; + + [Tooltip("右上角章节主线进度文本;留空时仍会正常生成 Marker。")] + public TMP_Text progressText; + + [Header("Decorative Tick Strip")] + [Tooltip("Timeline 中使用 Image Type = Tiled 的重复刻度 RectTransform。它只承担装饰,不参与剧情进度或 Marker 判断。")] + public RectTransform tickRepeatRect; + + [Tooltip("一个完整刻度贴图周期在当前 Canvas 坐标中的宽度。设为 0 时,自动使用同物体 Image 的 Sprite 宽度;仅在未使用标准 Image 时手动填写。")] + [Min(0f)] public float tickRepeatPeriodOverride; + + [Tooltip("自动在左右各扩展一个刻度周期,保证刻度条循环平移时不会从 Timeline 边缘露出空白。")] + public bool expandTickRepeatRect = true; + + [Header("Localization")] + [Tooltip("StoryTimeline 的 Unity Localization String Table。Marker.labelKey 在该 Table 中查找。")] + public TableReference localizationTable; + + private sealed class RuntimeMarker + { + public StoryTimelineMarkerDefinition definition; + public StoryBlockDefinition anchorDefinition; + public StoryBlockView anchorView; + public StoryTimelineMarkerView view; + } + + private readonly List _markers = new List(); + private StoryTreeController _treeController; + private ScrollRect _subscribedScrollRect; + + // 重复刻度的初始视觉状态。它们只在当前章节 Timeline 存在期间有效, + // Clear 时会恢复,避免重复进入章节后不断累积额外宽度。 + private bool _hasTickRepeatBaseline; + private float _tickRepeatBaseAnchoredX; + private Vector2 _tickRepeatBaseSizeDelta; + private float _contentOriginBaseX; + private float _tickRepeatPeriod; + + private void OnEnable() + { + LocalizationSettings.SelectedLocaleChanged += OnSelectedLocaleChanged; + } + + private void OnDisable() + { + LocalizationSettings.SelectedLocaleChanged -= OnSelectedLocaleChanged; + SubscribeScrollRect(null); + } + + /// + /// 根据刚构建完成的 StoryTree 创建当前章节的全部 Marker。 + /// Marker 的 X 坐标不在 StoryData 中保存,而是始终由 anchorBlockId 对应 TextBlock 的实际屏幕中心推导。 + /// + public void Build(StoryTreeController treeController, StoryData storyData, ScrollRect storyScrollRect) + { + Clear(); + _treeController = treeController; + SubscribeScrollRect(storyScrollRect); + + if (markerContainer == null || markerPrefab == null || storyData == null) + { + Debug.LogWarning("[StoryTimeline] 缺少 Marker Container、Marker Prefab 或 StoryData,无法构建 Timeline。"); + return; + } + + HashSet markerIds = new HashSet(); + foreach (StoryTimelineMarkerDefinition marker in storyData.timelineMarkers) + { + if (!TryCreateMarker(marker, storyData, markerIds)) + { + continue; + } + } + + // 强制一次 Canvas 更新,确保由 StoryTree 在本帧刚设置的 Content / Block 位置已可用于坐标转换。 + Canvas.ForceUpdateCanvases(); + CacheTickRepeatBaseline(); + RefreshMarkerStates(); + RefreshMarkerPositions(); + } + + /// + /// 清理本章节运行时生成的全部 Marker。StoryData 与 Prefab 均不会被修改。 + /// + public void Clear() + { + RestoreTickRepeatBaseline(); + + foreach (RuntimeMarker marker in _markers) + { + if (marker.view != null) + { + Destroy(marker.view.gameObject); + } + } + + _markers.Clear(); + _treeController = null; + + if (progressText != null) + { + progressText.text = "0%"; + } + } + + /// + /// 根据锚定 TextBlock 的实时状态更新 Marker 可见性和章节主线进度。 + /// Current / Completed 显示 Marker;Locked / Forbidden 隐藏。 + /// 进度只统计 Completed 且 contributesToMainProgress 的 Marker,并取最大值以兼容互斥结局。 + /// + public void RefreshMarkerStates() + { + float mainProgress = 0f; + + foreach (RuntimeMarker marker in _markers) + { + StoryBlockState state = marker.anchorView.state; + bool visible = state == StoryBlockState.Current || state == StoryBlockState.Completed; + marker.view.SetVisible(visible); + + if (state == StoryBlockState.Completed && marker.definition.contributesToMainProgress) + { + mainProgress = Mathf.Max(mainProgress, marker.definition.progressValue); + } + } + + if (progressText != null) + { + progressText.text = $"{mainProgress * 100f:0.#}%"; + } + } + + /// + /// 将每个 Marker 的 X 坐标更新为锚定 TextBlock 的实际视觉中心。 + /// 该方法由 ScrollRect.onValueChanged 和 StoryTree 布局完成后的下一帧调用, + /// 从而使 Timeline 只同步横向拖动,同时始终固定在屏幕顶部。 + /// + public void RefreshMarkerPositions() + { + if (markerContainer == null || _treeController == null) + { + return; + } + + Camera uiCamera = ResolveUICamera(); + foreach (RuntimeMarker marker in _markers) + { + RectTransform anchorRect = marker.anchorView.blockRect; + Vector3 worldCenter = anchorRect.TransformPoint(anchorRect.rect.center); + Vector2 screenPoint = RectTransformUtility.WorldToScreenPoint(uiCamera, worldCenter); + + if (RectTransformUtility.ScreenPointToLocalPointInRectangle( + markerContainer, screenPoint, uiCamera, out Vector2 localPoint)) + { + marker.view.SetPositionX(localPoint.x); + } + } + + RefreshTickRepeatPosition(); + } + + /// + /// 记录重复刻度条的初始相位。 + /// 之后只把 StoryTree Content 原点的横向屏幕位移映射给刻度条,因此刻度与 Marker + /// 使用同一套坐标来源,而不需要创建大量单独的刻度 Image。 + /// + private void CacheTickRepeatBaseline() + { + if (tickRepeatRect == null || _treeController == null || _treeController.content == null) + { + return; + } + + RectTransform tickParent = tickRepeatRect.parent as RectTransform; + if (tickParent == null || !TryConvertWorldPointToLocalX( + tickParent, _treeController.content.TransformPoint(Vector3.zero), out float contentOriginX)) + { + return; + } + + _tickRepeatPeriod = ResolveTickRepeatPeriod(); + if (_tickRepeatPeriod <= Mathf.Epsilon) + { + Debug.LogWarning("[StoryTimeline] Repeat Tick Image 未能解析有效周期,请为 Tick Repeat Period Override 填写大于 0 的值。"); + return; + } + + _tickRepeatBaseAnchoredX = tickRepeatRect.anchoredPosition.x; + _tickRepeatBaseSizeDelta = tickRepeatRect.sizeDelta; + _contentOriginBaseX = contentOriginX; + _hasTickRepeatBaseline = true; + + if (expandTickRepeatRect) + { + // 保留左右各一个完整周期的冗余区域:循环移动到 -P/2 ~ P/2 时, + // Timeline 的可见范围两端仍会持续被 Tiled Image 覆盖。 + tickRepeatRect.sizeDelta = _tickRepeatBaseSizeDelta + Vector2.right * (_tickRepeatPeriod * 2f); + } + } + + /// + /// 刷新装饰刻度的平铺相位。使用模运算将位移限制在一个周期内, + /// 视觉上与完整剧情树位移完全等价,同时不会让 Image 的 RectTransform 无限偏离原位。 + /// + private void RefreshTickRepeatPosition() + { + if (!_hasTickRepeatBaseline || tickRepeatRect == null || _treeController == null || _treeController.content == null) + { + return; + } + + RectTransform tickParent = tickRepeatRect.parent as RectTransform; + if (tickParent == null || !TryConvertWorldPointToLocalX( + tickParent, _treeController.content.TransformPoint(Vector3.zero), out float contentOriginX)) + { + return; + } + + float contentDeltaX = contentOriginX - _contentOriginBaseX; + float loopedDeltaX = Mathf.Repeat(contentDeltaX + _tickRepeatPeriod * 0.5f, _tickRepeatPeriod) - _tickRepeatPeriod * 0.5f; + + Vector2 position = tickRepeatRect.anchoredPosition; + position.x = _tickRepeatBaseAnchoredX + loopedDeltaX; + tickRepeatRect.anchoredPosition = position; + } + + /// + /// 优先从同物体的标准 uGUI Image 推导 Tiled Sprite 的一个循环宽度。 + /// Image.pixelsPerUnit 已包含 Canvas 的单位换算,能与 UI 实际显示尺寸保持一致。 + /// + private float ResolveTickRepeatPeriod() + { + if (tickRepeatPeriodOverride > Mathf.Epsilon) + { + return tickRepeatPeriodOverride; + } + + Image tickImage = tickRepeatRect.GetComponent(); + if (tickImage == null || tickImage.sprite == null) + { + return 0f; + } + + if (tickImage.type != Image.Type.Tiled) + { + Debug.LogWarning("[StoryTimeline] Tick Repeat Image 建议使用 Image Type = Tiled;当前仍会按贴图宽度平移,但不会产生重复刻度。", tickImage); + } + + return tickImage.sprite.rect.width / tickImage.pixelsPerUnit; + } + + /// + /// 将 StoryTree 内的世界坐标转换到指定 Timeline UI 容器的本地 X 坐标。 + /// 与 Marker 的换算过程一致,兼容 Screen Space - Camera Canvas、缩放与不同 RectTransform 层级。 + /// + private bool TryConvertWorldPointToLocalX(RectTransform target, Vector3 worldPoint, out float localX) + { + Camera uiCamera = ResolveUICamera(); + Vector2 screenPoint = RectTransformUtility.WorldToScreenPoint(uiCamera, worldPoint); + if (RectTransformUtility.ScreenPointToLocalPointInRectangle(target, screenPoint, uiCamera, out Vector2 localPoint)) + { + localX = localPoint.x; + return true; + } + + localX = 0f; + return false; + } + + /// + /// 清理当前章节时恢复美术在 Inspector 中设定的刻度条尺寸与位置, + /// 确保下一次 Build 能以新的初始状态重新建立同步基准。 + /// + private void RestoreTickRepeatBaseline() + { + if (!_hasTickRepeatBaseline || tickRepeatRect == null) + { + _hasTickRepeatBaseline = false; + return; + } + + Vector2 position = tickRepeatRect.anchoredPosition; + position.x = _tickRepeatBaseAnchoredX; + tickRepeatRect.anchoredPosition = position; + tickRepeatRect.sizeDelta = _tickRepeatBaseSizeDelta; + _hasTickRepeatBaseline = false; + } + + private bool TryCreateMarker(StoryTimelineMarkerDefinition marker, StoryData storyData, + HashSet markerIds) + { + if (marker == null || string.IsNullOrWhiteSpace(marker.markerId)) + { + Debug.LogWarning("[StoryTimeline] 跳过缺少 Marker ID 的 Timeline 配置。"); + return false; + } + + if (!markerIds.Add(marker.markerId)) + { + Debug.LogWarning($"[StoryTimeline] 跳过重复 Marker ID '{marker.markerId}'。"); + return false; + } + + StoryBlockDefinition anchorDefinition = storyData.GetBlock(marker.anchorBlockId); + StoryBlockView anchorView = _treeController.GetBlockView(marker.anchorBlockId); + if (anchorDefinition == null || anchorView == null) + { + Debug.LogWarning($"[StoryTimeline] Marker '{marker.markerId}' 的 Anchor Block '{marker.anchorBlockId}' 不存在。"); + return false; + } + + if (anchorDefinition.blockType != StoryBlockType.Text) + { + Debug.LogWarning($"[StoryTimeline] Marker '{marker.markerId}' 只能锚定 TextBlock,'{marker.anchorBlockId}' 当前类型为 {anchorDefinition.blockType}。"); + return false; + } + + StoryTimelineMarkerView view = Instantiate(markerPrefab, markerContainer); + view.name = $"StoryTimelineMarker_{marker.markerId}"; + view.SetLabel(GetLocalizedLabel(marker.labelKey)); + + _markers.Add(new RuntimeMarker + { + definition = marker, + anchorDefinition = anchorDefinition, + anchorView = anchorView, + view = view + }); + return true; + } + + /// + /// 使用 StoryTimeline 指定的 Unity Localization String Table 解析 Label Key。 + /// String Table 或条目尚未配置时回退显示 Key,确保开发阶段仍能从 UI 上定位缺失翻译。 + /// + private string GetLocalizedLabel(string labelKey) + { + if (string.IsNullOrEmpty(labelKey)) + { + return string.Empty; + } + + try + { + string localizedText = LocalizationSettings.StringDatabase.GetLocalizedString(localizationTable, labelKey); + return string.IsNullOrEmpty(localizedText) ? labelKey : localizedText; + } + catch (Exception exception) + { + Debug.LogWarning($"[StoryTimeline] 无法本地化 Label Key '{labelKey}',将回退显示 Key。{exception.Message}"); + return labelKey; + } + } + + private void OnSelectedLocaleChanged(Locale _) + { + foreach (RuntimeMarker marker in _markers) + { + marker.view.SetLabel(GetLocalizedLabel(marker.definition.labelKey)); + } + } + + private void SubscribeScrollRect(ScrollRect scrollRect) + { + if (_subscribedScrollRect == scrollRect) + { + return; + } + + if (_subscribedScrollRect != null) + { + _subscribedScrollRect.onValueChanged.RemoveListener(OnStoryTreeScrolled); + } + + _subscribedScrollRect = scrollRect; + if (_subscribedScrollRect != null) + { + _subscribedScrollRect.onValueChanged.AddListener(OnStoryTreeScrolled); + } + } + + private void OnStoryTreeScrolled(Vector2 _) + { + RefreshMarkerPositions(); + } + + private Camera ResolveUICamera() + { + Canvas canvas = markerContainer.GetComponentInParent(); + if (canvas == null || canvas.renderMode == RenderMode.ScreenSpaceOverlay) + { + return null; + } + + return canvas.worldCamera; + } + } +} diff --git a/Assets/Scripts/NewStorySystem/Timeline/StoryTimelineController.cs.meta b/Assets/Scripts/NewStorySystem/Timeline/StoryTimelineController.cs.meta new file mode 100644 index 00000000..d99f35dc --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Timeline/StoryTimelineController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 84d93bde6e074965b7ca259465f2a713 diff --git a/Assets/Scripts/NewStorySystem/Timeline/StoryTimelineMarkerView.cs b/Assets/Scripts/NewStorySystem/Timeline/StoryTimelineMarkerView.cs new file mode 100644 index 00000000..61b61ade --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Timeline/StoryTimelineMarkerView.cs @@ -0,0 +1,46 @@ +using TMPro; +using UnityEngine; + +namespace Ichni.Story.UI +{ + /// + /// StoryTimeline 中单个时间标记的纯视图组件。 + /// 它不读取存档、不判断剧情状态,也不接收点击;可见性、位置与本地化文本均由 + /// 统一驱动,从而避免 Timeline 再维护一份剧情进度。 + /// + public class StoryTimelineMarkerView : MonoBehaviour + { + [Tooltip("Marker Prefab 的根 RectTransform。建议锚点为 Middle Center,以便 anchoredPosition.x 直接表示最终屏幕位置。")] + public RectTransform markerRect; + + [Tooltip("显示时间或特殊叙事文本的 TMP 文本。")] + public TMP_Text labelText; + + /// + /// 设置 Marker 的本地化完成文本。文本解析由控制器完成,View 只负责呈现。 + /// + public void SetLabel(string label) + { + labelText.text = label; + } + + /// + /// 只更新横向坐标,保留 Prefab 中由美术设定的纵向位置、缩放和旋转。 + /// + public void SetPositionX(float x) + { + Vector2 position = markerRect.anchoredPosition; + position.x = x; + markerRect.anchoredPosition = position; + } + + /// + /// 显示或隐藏 Marker。Timeline 不可交互,因此隐藏后不会留下射线或导航焦点。 + /// 后续若增加 DOTween 入场动画,可在此处保留当前的最终状态并由控制器显式调用播放函数。 + /// + public void SetVisible(bool visible) + { + gameObject.SetActive(visible); + } + } +} diff --git a/Assets/Scripts/NewStorySystem/Timeline/StoryTimelineMarkerView.cs.meta b/Assets/Scripts/NewStorySystem/Timeline/StoryTimelineMarkerView.cs.meta new file mode 100644 index 00000000..323e6ada --- /dev/null +++ b/Assets/Scripts/NewStorySystem/Timeline/StoryTimelineMarkerView.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5fa49b969e984456985eec86f0275d7d diff --git a/Assets/Scripts/NewStorySystem/Tree/BlockConnectorView.cs b/Assets/Scripts/NewStorySystem/Tree/BlockConnectorView.cs index 19505737..a4ca319e 100644 --- a/Assets/Scripts/NewStorySystem/Tree/BlockConnectorView.cs +++ b/Assets/Scripts/NewStorySystem/Tree/BlockConnectorView.cs @@ -38,6 +38,8 @@ namespace Ichni.Story.UI Vector2 startPosition = GetLocalPoint(startBlock.outPort, selfRect, uiCamera); Vector2 endPosition = GetLocalPoint(endBlock.inPort, selfRect, uiCamera); + Vector2 startBlockCenter = GetLocalRectCenter(startBlock.blockRect, selfRect, uiCamera); + Vector2 endBlockCenter = GetLocalRectCenter(endBlock.blockRect, selfRect, uiCamera); if (Vector2.Distance(startPosition, endPosition) < DegenerateDistanceThreshold) { @@ -47,7 +49,10 @@ namespace Ichni.Story.UI } // 两个控制点构成 S 形:先水平离开起点,再水平进入终点。 - float midX = (startPosition.x + endPosition.x) / 2f; + // 转折列取两个 Block 的逻辑中心中点,而不是两个端口的中点。 + // 这样当目标 Block 的宽度不同(例如 Important 与 Secondary)但位于同一列时, + // 连接线仍会在同一条竖线转折;尺寸差异只影响端口到转折列的水平线长度。 + float midX = (startBlockCenter.x + endBlockCenter.x) * 0.5f; Vector2 mid1 = new Vector2(midX, startPosition.y); Vector2 mid2 = new Vector2(midX, endPosition.y); @@ -66,6 +71,19 @@ namespace Ichni.Story.UI return localPoint; } + /// + /// 将任意 RectTransform 的视觉中心转换为连接线容器的局部坐标。 + /// 使用 rect.center 而非 transform.position,因此不依赖 Block Prefab 自身的 Pivot 配置; + /// StoryBlockView 运行时统一为中心 Pivot 后,仍可安全用于未来的任意尺寸 Block。 + /// + private static Vector2 GetLocalRectCenter(RectTransform rect, RectTransform space, Camera uiCamera) + { + Vector3 worldCenter = rect.TransformPoint(rect.rect.center); + Vector2 screenPoint = RectTransformUtility.WorldToScreenPoint(uiCamera, worldCenter); + RectTransformUtility.ScreenPointToLocalPointInRectangle(space, screenPoint, uiCamera, out Vector2 localPoint); + return localPoint; + } + /// /// 解析用于坐标转换的相机:Overlay 画布返回 null,其余(ScreenSpaceCamera / WorldSpace)返回画布相机。 /// diff --git a/Assets/Scripts/NewStorySystem/Tree/SongBlockView.cs b/Assets/Scripts/NewStorySystem/Tree/SongBlockView.cs index 4abe5b07..2bfb402d 100644 --- a/Assets/Scripts/NewStorySystem/Tree/SongBlockView.cs +++ b/Assets/Scripts/NewStorySystem/Tree/SongBlockView.cs @@ -1,26 +1,134 @@ +using Ichni; +using Ichni.Menu; using TMPro; using UnityEngine; +using UnityEngine.UI; namespace Ichni.Story.UI { /// - /// 音乐块视图(占位)。点击后将切换到曲目选择并自动选中对应歌曲,后续阶段接入。 + /// 剧情树中的歌曲 Block 视图。 + /// 它只保存 这一个稳定歌曲标识;歌曲名称、作曲者与插画 + /// 均从当前章节的 读取,避免 StoryData 与选曲资料出现两份可漂移的数据。 + /// 点击后切换到选曲并自动选中对应歌曲的流程将在后续阶段接入。 /// public class SongBlockView : StoryBlockView { [Header("Song Block")] + [Tooltip("Mask 下的 16:9 插画 Image。Sprite 由当前章节的 SongItemData.illustration 提供。")] + public Image illustrationImage; + + [Tooltip("illustrationImage 对应的 RectTransform。仅修改其 anchoredPosition.y 以完成纵向裁切。")] + public RectTransform illustrationRect; + public TMP_Text songNameText; + public TMP_Text composerText; + + [Tooltip("歌曲或剧情 Block 不可进入时显示的遮罩节点。")] + public GameObject lockOverlay; + + private ChapterSelectionUnit _chapter; + private SongItemData _song; + private bool _canEnterSong; public override void Initialize(StoryBlockDefinition def, Vector2 position, StoryBlockState blockState) { base.Initialize(def, position, blockState); - if (songNameText != null) + if (TryResolveSong(out _chapter, out _song)) + { + illustrationImage.sprite = _song.illustration; + songNameText.text = _song.displaySongName; + composerText.text = _song.composer; + } + else + { + // 配置错误时保留稳定 ID 以便定位问题,同时锁定 Block,避免从剧情页绕过内容授权。 + illustrationImage.sprite = null; songNameText.text = def.songName; + composerText.text = string.Empty; + } + + // 数据存储的是最终 local Y,而非叠加在 Prefab 默认位置上的偏移量。 + // Clamp 仍保留作为运行时防线:即使旧资产或外部工具写入越界值,也不会在 Mask 边缘露出空白。 + Vector2 illustrationPosition = illustrationRect.anchoredPosition; + illustrationPosition.y = Mathf.Clamp(def.illustrationLocalY, -74.25f, 74.25f); + illustrationRect.anchoredPosition = illustrationPosition; + + ApplyState(blockState); + } + + /// + /// StoryBlock 的剧情状态和歌曲的内容解锁状态必须同时满足,才能真正点击进入歌曲。 + /// 复用选曲页面的统一授权判断,防止 Story SongBlock 成为绕过入口。 + /// + public override void ApplyState(StoryBlockState newState) + { + base.ApplyState(newState); + + bool storyAllowsInteraction = state != StoryBlockState.Locked && state != StoryBlockState.Forbidden; + _canEnterSong = _chapter != null && _song != null && + GameSaveManager.instance != null && + GameSaveManager.instance.UnlockSaveModule != null && + GameSaveManager.instance.UnlockSaveModule.CanEnterSong(_chapter, _song); + + bool canInteract = storyAllowsInteraction && _canEnterSong; + button.interactable = canInteract; + lockOverlay.SetActive(!canInteract); + } + + /// + /// 根据正在构建的剧情章节索引定位歌曲,而不是盲目信任 currentChapter。 + /// 这样即使未来从其它页面直接打开 StoryData,也不会把同名歌曲解析到上一次残留的章节中。 + /// + private bool TryResolveSong(out ChapterSelectionUnit chapter, out SongItemData song) + { + chapter = null; + song = null; + + string chapterIndex = StoryManager.instance?.treeController?.ActiveChapterIndex; + ChapterSelectionManager chapterManager = ChapterSelectionManager.instance; + if (string.IsNullOrEmpty(chapterIndex) || chapterManager == null) + { + Debug.LogWarning($"[SongBlockView] 无法解析歌曲 Block '{blockId}':当前章节或 ChapterSelectionManager 不可用。"); + return false; + } + + foreach (ChapterSelectionUnit candidate in chapterManager.chapters) + { + if (candidate != null && candidate.chapterIndex == chapterIndex) + { + chapter = candidate; + break; + } + } + + if (chapter == null) + { + Debug.LogWarning($"[SongBlockView] 无法解析歌曲 Block '{blockId}':找不到章节 '{chapterIndex}' 的 ChapterSelectionUnit。"); + return false; + } + + foreach (SongItemData candidate in chapter.songs) + { + if (candidate != null && candidate.songName == definition.songName) + { + song = candidate; + return true; + } + } + + Debug.LogWarning($"[SongBlockView] 无法解析歌曲 Block '{blockId}':章节 '{chapterIndex}' 中不存在歌曲 ID '{definition.songName}'。"); + return false; } protected override void OnClicked() { + if (!_canEnterSong) + { + return; + } + // 占位:后续接入曲目选择流程 Debug.Log($"[SongBlockView] 点击音乐块 '{blockId}' (song='{definition.songName}')。占位实现,曲目选择将在后续阶段接入。"); } diff --git a/Assets/Scripts/NewStorySystem/Tree/StoryBlockView.cs b/Assets/Scripts/NewStorySystem/Tree/StoryBlockView.cs index c870438c..57120780 100644 --- a/Assets/Scripts/NewStorySystem/Tree/StoryBlockView.cs +++ b/Assets/Scripts/NewStorySystem/Tree/StoryBlockView.cs @@ -27,7 +27,7 @@ namespace Ichni.Story.UI /// 初始化 block 视图。逻辑坐标已由控制器按网格换算为 /// (以 BlockContainer 左侧中线为原点、x 向右为正、y 向下为正的 anchoredPosition)。 /// - /// block 定义(提供尺寸与类型专属数据)。 + /// Block 定义(提供类型专属数据与剧情配置)。 /// 已换算好的 anchoredPosition。 /// 推导得到的 block 状态。 public virtual void Initialize(StoryBlockDefinition def, Vector2 position, StoryBlockState blockState) @@ -36,11 +36,16 @@ namespace Ichni.Story.UI blockId = def.blockId; state = blockState; - // 统一坐标约定:以 BlockContainer 的左侧中线为原点,向右为 +x、向下为 +y。 + // 统一坐标约定:以 BlockContainer 的左侧中线为原点,Block 的中心向右为 +x、向下为 +y。 + // 所有类型使用中心 Pivot,使相同 gridColumn 始终代表同一条视觉中心列, + // 不会再因 Important / Secondary / Song / Tutorial 的宽度不同而产生左右间距不对称。 blockRect.anchorMin = new Vector2(0f, 0.5f); blockRect.anchorMax = new Vector2(0f, 0.5f); - blockRect.pivot = new Vector2(0f, 0.5f); - blockRect.sizeDelta = new Vector2(400, 200); + blockRect.pivot = new Vector2(0.5f, 0.5f); + + // 不在基类覆盖 sizeDelta:Block 的尺寸是 Prefab 的视觉契约。 + // Important / Secondary TextBlock,以及未来不同尺寸的 Song / Tutorial Block, + // 都可保留各自的宽高;StoryTreeController 会据此计算 Content 边界和连接线端口。 blockRect.anchoredPosition = position; if (button != null) @@ -58,12 +63,12 @@ namespace Ichni.Story.UI state = newState; if (button != null) - button.interactable = state != StoryBlockState.Locked; + button.interactable = state != StoryBlockState.Locked && state != StoryBlockState.Forbidden; } private void HandleClick() { - if (state == StoryBlockState.Locked) + if (state == StoryBlockState.Locked || state == StoryBlockState.Forbidden) return; if (StoryManager.instance != null && StoryManager.instance.treeController != null) diff --git a/Assets/Scripts/NewStorySystem/Tree/StoryManager.cs b/Assets/Scripts/NewStorySystem/Tree/StoryManager.cs index 707d2c1f..2b642861 100644 --- a/Assets/Scripts/NewStorySystem/Tree/StoryManager.cs +++ b/Assets/Scripts/NewStorySystem/Tree/StoryManager.cs @@ -18,6 +18,9 @@ namespace Ichni.Story public StoryUIPage storyUIPage; public CharacterRegistry characterRegistry; + [Tooltip("全章节共用的 Helper 对话数据。它独立于各章节 StoryData,避免重复配置相同的 Helper。")] + public StoryHelperData helperData; + [Header("Chapter Data")] [Tooltip("章节索引 (chapterIndex) -> 该章节的 StoryData 资产")] public Dictionary storyDatas = new Dictionary(); diff --git a/Assets/Scripts/NewStorySystem/Tree/StoryTreeController.cs b/Assets/Scripts/NewStorySystem/Tree/StoryTreeController.cs index 39040d5f..8691aba6 100644 --- a/Assets/Scripts/NewStorySystem/Tree/StoryTreeController.cs +++ b/Assets/Scripts/NewStorySystem/Tree/StoryTreeController.cs @@ -4,6 +4,8 @@ using Ichni.Story.UI; using Sirenix.OdinInspector; using UniRx; using UnityEngine; +using UnityEngine.Serialization; +using UnityEngine.UI; namespace Ichni.Story { @@ -18,19 +20,60 @@ namespace Ichni.Story [Header("UI References")] [Tooltip("blocks 与 connectors 共用的单一容器(即 ScrollRect 的 content,localScale 必须为 1)")] public RectTransform content; - public GameObject textBlockPrefab; + + [Tooltip("承载剧情树拖动的 ScrollRect。StoryTimeline 监听其横向位置,以同步顶部 Marker。")] + public ScrollRect storyScrollRect; + + [Tooltip("固定在剧情页顶部的 StoryTimeline。未配置时剧情树仍可独立运行。")] + public StoryTimelineController storyTimeline; + + /// + /// 重要 TextBlock 的 Prefab。保留 FormerlySerializedAs,使旧场景中的 textBlockPrefab 引用 + /// 自动迁移到此字段;在新 Prefab 配置完成前,已有 Important Block 不会失去引用。 + /// + [FormerlySerializedAs("textBlockPrefab")] + [Tooltip("对应 TextBlockImportance.Important。Prefab 自行定义实际尺寸,例如 600 × 375。")] + public GameObject importantTextBlockPrefab; + + /// + /// 次要 TextBlock 的 Prefab。由 StoryBlockDefinition.textImportance 选择; + /// Prefab 自行定义实际尺寸,例如 400 × 200。 + /// + [Tooltip("对应 TextBlockImportance.Secondary。Prefab 自行定义实际尺寸,例如 400 × 200。")] + public GameObject secondaryTextBlockPrefab; + public GameObject songBlockPrefab; public GameObject tutorialBlockPrefab; public GameObject connectorPrefab; [Header("Layout Settings")] - [Tooltip("网格单元格尺寸(决定相邻列/行的步距,全局统一)")] - public Vector2 cellSize = new Vector2(400f, 200f); + /// + /// 相邻叙事列之间的固定距离。它是 StoryData.gridColumn 的坐标步距, + /// 不等于也不会覆盖任何 Block Prefab 的宽度。 + /// 默认值为 Important TextBlock 宽度 600 加最小横向留白 120。 + /// + [Tooltip("StoryData.gridColumn 的水平步距,不会改变任何 Prefab 的实际宽度。")] + public float columnStep = 720f; - [Tooltip("相邻单元格之间的间隔(水平 x、垂直 y)")] - public Vector2 cellSpacing = new Vector2(120f, 150f); + /// + /// 相邻路线行之间的固定距离。它是 StoryData.gridRow 的坐标步距, + /// 不等于也不会覆盖任何 Block Prefab 的高度。 + /// 默认值为 Important TextBlock 高度 375 加最小纵向留白 150。 + /// + [Tooltip("StoryData.gridRow 的垂直步距,不会改变任何 Prefab 的实际高度。")] + public float rowStep = 525f; + [Tooltip("按所有 Block 的真实边界自动归一化后的左侧留白。")] public float marginLeft = 50f; + + /// + /// 为剧情页左侧常驻 UI(当前为 Helper)预留的额外水平空间。 + /// 最左 Block 的真实左边缘会被放置在 加本值的位置; + /// 默认 400,等价于在原有布局基础上将整棵剧情树向右平移 400 单位。 + /// + [Tooltip("为左侧 Helper 等常驻 UI 预留的额外空间。默认 1500,会让所有 Block 整体向右移动 1500。")] + public float helperReservedLeftSpace = 1500f; + public float marginRight = 50f; public float marginTop = 50f; public float marginBottom = 50f; @@ -45,12 +88,32 @@ namespace Ichni.Story private string _chapterIndex; private StoryData _storyData; + // 由 SetUpBackground 根据最左侧 Block 的真实边界计算。 + // 未来 Timeline 在独立 UI 容器中生成 Marker 时,也必须叠加此偏移量才能与 Block 中心对齐。 + private float _layoutHorizontalOffset; + /// 当前已构建章节的 StoryData(供对话控制器切换 YarnProject 等使用)。 public StoryData ActiveStoryData => _storyData; /// 当前已构建章节的索引。 public string ActiveChapterIndex => _chapterIndex; + /// + /// 当前章节的自动横向留白偏移。它不是 StoryData 的内容,而是根据本次实例化后的 + /// 真实 Prefab 尺寸计算出的运行时布局结果。 + /// + public float LayoutHorizontalOffset => _layoutHorizontalOffset; + + /// + /// 获取指定叙事列在 BlockContainer 中的最终中心 X 坐标。 + /// Timeline Marker 必须使用此方法,而不是自行只计算 gridColumn * columnStep, + /// 才能在不同尺寸 Block 自动留白后继续与其中心对齐。 + /// + public float GetColumnCenterX(float gridColumn) + { + return _layoutHorizontalOffset + gridColumn * columnStep; + } + // 当前章节已完成的 block id 集合(状态推导的唯一进度来源) private readonly HashSet _completed = new HashSet(); @@ -111,6 +174,10 @@ namespace Ichni.Story // 连线在下一帧刷新(见 RefreshConnectors):等待 Unity 完成 Canvas 布局, // 使 block 端口的世界坐标稳定,避免端口坐标尚未生效时塌缩到同一点。 RefreshConnectors(); + + // Timeline 是故事树的固定顶部投影:必须在 Block 真实边界与 Content 留白均确定后再构建, + // 才能使用锚定 TextBlock 的最终视觉中心进行横向同步。 + storyTimeline?.Build(this, _storyData, storyScrollRect); } // ── Generation ────────────────────────────────────────────────────────── @@ -122,7 +189,9 @@ namespace Ichni.Story { GameObject prefab = def.blockType switch { - StoryBlockType.Text => textBlockPrefab, + StoryBlockType.Text => def.textImportance == TextBlockImportance.Important + ? importantTextBlockPrefab + : secondaryTextBlockPrefab, StoryBlockType.Song => songBlockPrefab, StoryBlockType.Tutorial => tutorialBlockPrefab, _ => null @@ -130,7 +199,10 @@ namespace Ichni.Story if (prefab == null) { - Debug.LogError($"[StoryTreeController] block 类型 {def.blockType} 未配置预制体。"); + string prefabDescription = def.blockType == StoryBlockType.Text + ? $"TextBlockImportance.{def.textImportance}" + : def.blockType.ToString(); + Debug.LogError($"[StoryTreeController] block '{def.blockId}' 的 {prefabDescription} 未配置预制体。"); return null; } @@ -181,17 +253,27 @@ namespace Ichni.Story // ── State / Unlocking ───────────────────────────────────────────────────── /// - /// 依据"已完成集合 + 解锁条件"推导单个 block 的状态。 - /// 已完成 → Completed;否则满足解锁条件 → Current;否则 → Locked。 - /// 解锁条件为空视为无条件满足(章节起始即为 Current)。 + /// 依据“禁用条件 + 已完成集合 + 解锁条件”推导单个 Block 的状态。 + /// Forbidden Condition 满足时优先显示 Forbidden;否则依次为 Completed、Current、Locked。 + /// Unlock Condition 未配置时视为无条件满足(章节起始即为 Current)。 /// private StoryBlockState DeriveState(StoryBlockDefinition def) { + if (def.forbiddenCondition != null && + def.forbiddenCondition.IsSatisfied(GetVariable, IsBlockCompleted)) + { + return StoryBlockState.Forbidden; + } + if (_completed.Contains(def.blockId)) return StoryBlockState.Completed; - if (def.unlockCondition.IsSatisfied(GetVariable, IsBlockCompleted)) + if (def.unlockCondition == null || + !def.unlockCondition.IsConfigured || + def.unlockCondition.IsSatisfied(GetVariable, IsBlockCompleted)) + { return StoryBlockState.Current; + } return StoryBlockState.Locked; } @@ -208,6 +290,8 @@ namespace Ichni.Story view.ApplyState(DeriveState(def)); } + + storyTimeline?.RefreshMarkerStates(); } /// @@ -229,18 +313,11 @@ namespace Ichni.Story private bool IsBlockCompleted(string blockId) => _completed.Contains(blockId); - // 阶段 2 将改由 StoryVariableStorage 提供;此处从全局变量存档读取作占位 + // 阶段 2 将改由 StoryVariableStorage 提供;此处统一经 StoryVariables 读取, + // 以便后续切换到按章节保存的变量容器时不再让故事树直接依赖存档结构。 private int GetVariable(string variableName) { - StoryVariablesSave vars = GameSaveManager.instance.StorySaveModule.variables; - - if (vars.floatVariables.TryGetValue(variableName, out float f)) - return Mathf.RoundToInt(f); - - if (vars.boolVariables.TryGetValue(variableName, out bool b)) - return b ? 1 : 0; - - return 0; + return StoryVariables.GetInt(variableName); } // ── Persistence ───────────────────────────────────────────────────────── @@ -263,30 +340,38 @@ namespace Ichni.Story // ── Layout ──────────────────────────────────────────────────────────────── /// - /// 将 block 的网格坐标 (gridColumn, gridRow) 换算为 BlockContainer 中的 anchoredPosition。 - /// 约定左侧中线为原点:列向右为正,行向下为正、向上为负(anchoredPosition.y 取负)。 - /// gridColumn / gridRow 支持负数与小数,可用于微调 block 位置。 + /// 将 Block 的静态叙事坐标 (gridColumn, gridRow) 换算为 BlockContainer 中的预归一化中心位置。 + /// 约定列中心向右为正,行中心向下为正、向上为负(anchoredPosition.y 取负)。 + /// columnStep / rowStep 只定义坐标锚点的间距,Block 的真实尺寸始终由各自 Prefab 保持; + /// 因而 Important、Secondary、Song、Tutorial 及未来新增类型可使用不同尺寸。 + /// gridColumn / gridRow 支持负数与小数,供静态剧情排版微调;Timeline 应通过 + /// 查询横向位置,以保持标记和 Block 对齐。 /// private Vector2 GetGridPosition(StoryBlockDefinition def) { - float x = marginLeft + def.gridColumn * (cellSize.x + cellSpacing.x); - float y = -def.gridRow * (cellSize.y + cellSpacing.y); + float x = GetColumnCenterX(def.gridColumn); + float y = -def.gridRow * rowStep; return new Vector2(x, y); } /// - /// 根据 block 分布计算并设置 content(BlockContainer) 尺寸。 - /// block 采用左中 pivot:anchoredPosition.x 为左边缘,y 相对垂直中线(上正下负)。 + /// 根据所有 Block 的真实矩形边界归一化横向位置并设置 Content(BlockContainer) 尺寸。 + /// Block 采用中心 Pivot:anchoredPosition 表示 Block 中心。因此会先用 + /// centerX ± width / 2 求取左右边界,再把全体 Block 平移到左侧留白与 Helper 预留区之后。 + /// 该步骤允许不同尺寸的 Important / Secondary / Song / Tutorial Block 共用相同的 + /// 逻辑列中心,且不会因最左 Block 的宽度不同而被 Content 裁切。 /// public void SetUpBackground() { if (blocks.Count == 0) { + _layoutHorizontalOffset = 0f; content.sizeDelta = new Vector2(minContentWidth, minContentHeight); return; } - float maxRight = 0f; + float minLeft = float.PositiveInfinity; + float maxRight = float.NegativeInfinity; float maxVertical = 0f; // 距垂直中线的最大延伸(上下取较大者,用于对称扩展 content 高度) foreach (StoryBlockView block in blocks) @@ -295,15 +380,34 @@ namespace Ichni.Story Vector2 pos = rect.anchoredPosition; Vector2 size = rect.sizeDelta; - float rightEdge = pos.x + size.x; + float leftEdge = pos.x - size.x * 0.5f; + float rightEdge = pos.x + size.x * 0.5f; float topExtent = pos.y + size.y * 0.5f; float bottomExtent = -(pos.y - size.y * 0.5f); + if (leftEdge < minLeft) minLeft = leftEdge; if (rightEdge > maxRight) maxRight = rightEdge; if (topExtent > maxVertical) maxVertical = topExtent; if (bottomExtent > maxVertical) maxVertical = bottomExtent; } + // 用真实最左边缘归一化所有 Block。这样 gridColumn = 0 不再要求作者预先知道 + // 最宽 Prefab 的一半宽度;未来加入更宽的 Song / Tutorial Block 也会自动留出左侧空间。 + // helperReservedLeftSpace 额外为左侧常驻 Helper 保留可视区域,避免第一列被遮挡。 + float targetLeftEdge = marginLeft + helperReservedLeftSpace; + float horizontalCorrection = targetLeftEdge - minLeft; + if (!Mathf.Approximately(horizontalCorrection, 0f)) + { + foreach (StoryBlockView block in blocks) + block.blockRect.anchoredPosition += Vector2.right * horizontalCorrection; + + maxRight += horizontalCorrection; + } + + // SetUpBackground 可能因尺寸变化被重复调用;偏移量必须累积,不能在第二次调用时 + // 被归零,否则未来 Timeline 会失去与已平移 Block 的横向对齐。 + _layoutHorizontalOffset += horizontalCorrection; + float width = Mathf.Max(maxRight + marginRight, minContentWidth); float height = Mathf.Max(maxVertical * 2f + marginTop + marginBottom, minContentHeight); @@ -321,6 +425,9 @@ namespace Ichni.Story { connector.SetCurve(); } + + // 同一帧中 Content 的尺寸与 Block 的世界坐标已稳定,刷新 Timeline 的首次对齐位置。 + storyTimeline?.RefreshMarkerPositions(); }).AddTo(this); } @@ -331,6 +438,8 @@ namespace Ichni.Story private void ClearTree() { + storyTimeline?.Clear(); + foreach (StoryBlockView block in blocks) if (block != null) Destroy(block.gameObject); blocks.Clear(); @@ -339,6 +448,8 @@ namespace Ichni.Story if (connector != null) Destroy(connector.gameObject); connectors.Clear(); + _layoutHorizontalOffset = 0f; + if (content != null) content.sizeDelta = Vector2.zero; } diff --git a/Assets/Scripts/NewStorySystem/Tree/TextBlockView.cs b/Assets/Scripts/NewStorySystem/Tree/TextBlockView.cs index 4c966663..b6f0acbc 100644 --- a/Assets/Scripts/NewStorySystem/Tree/TextBlockView.cs +++ b/Assets/Scripts/NewStorySystem/Tree/TextBlockView.cs @@ -14,7 +14,7 @@ namespace Ichni.Story.UI public TMP_Text storyIdText; public TMP_Text titleText; - [Tooltip("三种状态对应的背景预制体,生成 block 时按当前状态实例化为第一个子物体")] + [Tooltip("各状态对应的背景预制体。未配置 Forbidden 时会自动回退到 Locked 背景。")] public Dictionary blockVisuals = new Dictionary(); /// 该文本块对应的 Yarn 节点名。 @@ -59,14 +59,26 @@ namespace Ichni.Story.UI _currentVisual = null; } - if (blockVisuals == null || - !blockVisuals.TryGetValue(newState, out GameObject prefab) || - prefab == null) + if (blockVisuals == null) { Debug.LogWarning($"[TextBlockView] block '{blockId}' 缺少状态 {newState} 的背景预制体(blockVisuals 未配置)。"); return; } + // Forbidden 专用美术尚未配置前沿用 Locked 背景,保证互斥路线 Block 始终可见且不可点击。 + // 后续只需在 Inspector 中补充 Forbidden 键,即可自动覆盖此回退表现。 + if ((!blockVisuals.TryGetValue(newState, out GameObject prefab) || prefab == null) && + newState == StoryBlockState.Forbidden) + { + blockVisuals.TryGetValue(StoryBlockState.Locked, out prefab); + } + + if (prefab == null) + { + Debug.LogWarning($"[TextBlockView] block '{blockId}' 缺少状态 {newState} 的背景预制体。"); + return; + } + _currentVisual = Instantiate(prefab, blockRect); _currentVisual.transform.SetAsFirstSibling(); diff --git a/Assets/Sprites/UITextures/Story/back.png.meta b/Assets/Sprites/UITextures/Story/back.png.meta index 4ff6c454..1d61577b 100644 --- a/Assets/Sprites/UITextures/Story/back.png.meta +++ b/Assets/Sprites/UITextures/Story/back.png.meta @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/bg.png.meta b/Assets/Sprites/UITextures/Story/bg.png.meta index c23f177f..42b1dd54 100644 --- a/Assets/Sprites/UITextures/Story/bg.png.meta +++ b/Assets/Sprites/UITextures/Story/bg.png.meta @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/branch_tip.png.meta b/Assets/Sprites/UITextures/Story/branch_tip.png.meta index 0cf1c4ff..ced49287 100644 --- a/Assets/Sprites/UITextures/Story/branch_tip.png.meta +++ b/Assets/Sprites/UITextures/Story/branch_tip.png.meta @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/chapter_card.png.meta b/Assets/Sprites/UITextures/Story/chapter_card.png.meta index 16569241..7fedec56 100644 --- a/Assets/Sprites/UITextures/Story/chapter_card.png.meta +++ b/Assets/Sprites/UITextures/Story/chapter_card.png.meta @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/curent.png.meta b/Assets/Sprites/UITextures/Story/curent.png.meta index f875d89c..322de4b8 100644 --- a/Assets/Sprites/UITextures/Story/curent.png.meta +++ b/Assets/Sprites/UITextures/Story/curent.png.meta @@ -52,7 +52,7 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 0 + alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 textureShape: 1 @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/dec2 拷贝 2.png b/Assets/Sprites/UITextures/Story/dec2 拷贝 2.png new file mode 100644 index 00000000..4b4c433a --- /dev/null +++ b/Assets/Sprites/UITextures/Story/dec2 拷贝 2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:decf5041efcf130171bf0046395dd436db2f07eb348318180b718943450c6529 +size 4261 diff --git a/Assets/Sprites/UITextures/Story/dec2 拷贝 2.png.meta b/Assets/Sprites/UITextures/Story/dec2 拷贝 2.png.meta new file mode 100644 index 00000000..d9956516 --- /dev/null +++ b/Assets/Sprites/UITextures/Story/dec2 拷贝 2.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 9d59ed9c99b5acd46b7309a9088fa84f +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/Sprites/UITextures/Story/dialog_frame.png.meta b/Assets/Sprites/UITextures/Story/dialog_frame.png.meta index 79c605d8..ec145bc5 100644 --- a/Assets/Sprites/UITextures/Story/dialog_frame.png.meta +++ b/Assets/Sprites/UITextures/Story/dialog_frame.png.meta @@ -52,7 +52,7 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 0 + alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 textureShape: 1 @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/dialog_next.png.meta b/Assets/Sprites/UITextures/Story/dialog_next.png.meta index 9cca327f..7b9a675f 100644 --- a/Assets/Sprites/UITextures/Story/dialog_next.png.meta +++ b/Assets/Sprites/UITextures/Story/dialog_next.png.meta @@ -52,7 +52,7 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 0 + alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 textureShape: 1 @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/finished.png.meta b/Assets/Sprites/UITextures/Story/finished.png.meta index e10aa8ee..a18ebfa0 100644 --- a/Assets/Sprites/UITextures/Story/finished.png.meta +++ b/Assets/Sprites/UITextures/Story/finished.png.meta @@ -52,7 +52,7 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 0 + alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 textureShape: 1 @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/helper_select.png.meta b/Assets/Sprites/UITextures/Story/helper_select.png.meta index 9ffc1cc1..78839809 100644 --- a/Assets/Sprites/UITextures/Story/helper_select.png.meta +++ b/Assets/Sprites/UITextures/Story/helper_select.png.meta @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/lock.png b/Assets/Sprites/UITextures/Story/lock.png new file mode 100644 index 00000000..67922e06 --- /dev/null +++ b/Assets/Sprites/UITextures/Story/lock.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8eac57e67e4803947d18013417a05a44c9b4787bfcc70f5b383c813032dde6d3 +size 225617 diff --git a/Assets/Sprites/UITextures/Story/lock.png.meta b/Assets/Sprites/UITextures/Story/lock.png.meta new file mode 100644 index 00000000..a75483d8 --- /dev/null +++ b/Assets/Sprites/UITextures/Story/lock.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 6f6ca0bdea7a0b7409b47ceee0440d89 +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/Sprites/UITextures/Story/locked.png.meta b/Assets/Sprites/UITextures/Story/locked.png.meta index 4c41f803..5175682f 100644 --- a/Assets/Sprites/UITextures/Story/locked.png.meta +++ b/Assets/Sprites/UITextures/Story/locked.png.meta @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/music.png b/Assets/Sprites/UITextures/Story/music.png index 47abbb37..c1e1eff3 100644 --- a/Assets/Sprites/UITextures/Story/music.png +++ b/Assets/Sprites/UITextures/Story/music.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ea22cfe29132fd8ee02cf1e66c774b025d0e53860ab7e122356219202877338e -size 36194 +oid sha256:963f8aba0e8d673720cc085e588a602926b821a32f544aa570d48455e55979ae +size 2052 diff --git a/Assets/Sprites/UITextures/Story/music.png.meta b/Assets/Sprites/UITextures/Story/music.png.meta index 050beb6b..8fbf73ee 100644 --- a/Assets/Sprites/UITextures/Story/music.png.meta +++ b/Assets/Sprites/UITextures/Story/music.png.meta @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/reply_1.png.meta b/Assets/Sprites/UITextures/Story/reply_1.png.meta index 9ba91df3..1931b845 100644 --- a/Assets/Sprites/UITextures/Story/reply_1.png.meta +++ b/Assets/Sprites/UITextures/Story/reply_1.png.meta @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/reply_2.png.meta b/Assets/Sprites/UITextures/Story/reply_2.png.meta index b8ad3ba8..62d7f393 100644 --- a/Assets/Sprites/UITextures/Story/reply_2.png.meta +++ b/Assets/Sprites/UITextures/Story/reply_2.png.meta @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/reverse.png b/Assets/Sprites/UITextures/Story/reverse.png index e409b774..421202a7 100644 --- a/Assets/Sprites/UITextures/Story/reverse.png +++ b/Assets/Sprites/UITextures/Story/reverse.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df4715e032dae23c364770e80d2823bc42eb6b44054a1c7439cdcb7ace168c6a -size 214734 +oid sha256:5093588961b73f92795672a1e7cb9e51a07d4baa6eb0b31dd02ea6b76c6810e9 +size 424167 diff --git a/Assets/Sprites/UITextures/Story/reverse.png.meta b/Assets/Sprites/UITextures/Story/reverse.png.meta index af593470..579fa32b 100644 --- a/Assets/Sprites/UITextures/Story/reverse.png.meta +++ b/Assets/Sprites/UITextures/Story/reverse.png.meta @@ -52,7 +52,7 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 0 + alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 textureShape: 1 @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/song.png b/Assets/Sprites/UITextures/Story/song.png new file mode 100644 index 00000000..ac341544 --- /dev/null +++ b/Assets/Sprites/UITextures/Story/song.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01e0fe2c729c5f577aa3c01db15f9ce303fd11a4231b0712628bfff8a0a58b3b +size 22386 diff --git a/Assets/Sprites/UITextures/Story/song.png.meta b/Assets/Sprites/UITextures/Story/song.png.meta new file mode 100644 index 00000000..c76b7aa6 --- /dev/null +++ b/Assets/Sprites/UITextures/Story/song.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 70b392108eb5c984f9f30838687ff0fc +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/Sprites/UITextures/Story/ticks.png b/Assets/Sprites/UITextures/Story/ticks.png new file mode 100644 index 00000000..1b8ebc07 --- /dev/null +++ b/Assets/Sprites/UITextures/Story/ticks.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:614155b0db065216f1d7772f239383aacb807aa857d71064f78fdcabb8cde13b +size 226 diff --git a/Assets/Sprites/UITextures/Story/ticks.png.meta b/Assets/Sprites/UITextures/Story/ticks.png.meta new file mode 100644 index 00000000..37704120 --- /dev/null +++ b/Assets/Sprites/UITextures/Story/ticks.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: ebad920ae35dfdd44af54333d6644361 +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: 0 + wrapV: 0 + 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/Sprites/UITextures/Story/tutorial_block.png.meta b/Assets/Sprites/UITextures/Story/tutorial_block.png.meta index d69a9854..e9f2b5a4 100644 --- a/Assets/Sprites/UITextures/Story/tutorial_block.png.meta +++ b/Assets/Sprites/UITextures/Story/tutorial_block.png.meta @@ -52,7 +52,7 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 0 + alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 textureShape: 1 @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/unlocked.png.meta b/Assets/Sprites/UITextures/Story/unlocked.png.meta index 5cb2805e..694f762e 100644 --- a/Assets/Sprites/UITextures/Story/unlocked.png.meta +++ b/Assets/Sprites/UITextures/Story/unlocked.png.meta @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/三角形 3 拷贝.png b/Assets/Sprites/UITextures/Story/三角形 3 拷贝.png new file mode 100644 index 00000000..ed7da8e0 --- /dev/null +++ b/Assets/Sprites/UITextures/Story/三角形 3 拷贝.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f77c537aef0e4bb811ca44593babaf4abd9d5efac02add707b99fffa05eee6d1 +size 207 diff --git a/Assets/Sprites/UITextures/Story/三角形 3 拷贝.png.meta b/Assets/Sprites/UITextures/Story/三角形 3 拷贝.png.meta new file mode 100644 index 00000000..6a019571 --- /dev/null +++ b/Assets/Sprites/UITextures/Story/三角形 3 拷贝.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: edea8b886fa35fb4e91a546d749ef5a6 +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/Sprites/UITextures/Story/剧情.png.meta b/Assets/Sprites/UITextures/Story/剧情.png.meta index cbbd6649..0ba456c8 100644 --- a/Assets/Sprites/UITextures/Story/剧情.png.meta +++ b/Assets/Sprites/UITextures/Story/剧情.png.meta @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/未标题-1.psd.meta b/Assets/Sprites/UITextures/Story/未标题-1.psd.meta index b4978aac..0b85574e 100644 --- a/Assets/Sprites/UITextures/Story/未标题-1.psd.meta +++ b/Assets/Sprites/UITextures/Story/未标题-1.psd.meta @@ -52,7 +52,7 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 0 + alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 textureShape: 1 @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/未标题-2.psd b/Assets/Sprites/UITextures/Story/未标题-2.psd index b0992701..acc4068d 100644 --- a/Assets/Sprites/UITextures/Story/未标题-2.psd +++ b/Assets/Sprites/UITextures/Story/未标题-2.psd @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:283a84d9748b304656d5a5a1761914a9babd1dc2b87ab832491091cd122eadd7 -size 56081413 +oid sha256:a6b185b76da7807301e5ec86de4b76d3c21ba5270f1e5cfd1467473d452f1edd +size 55867946 diff --git a/Assets/Sprites/UITextures/Story/未标题-2.psd.meta b/Assets/Sprites/UITextures/Story/未标题-2.psd.meta index 1cb7bacc..b7786749 100644 --- a/Assets/Sprites/UITextures/Story/未标题-2.psd.meta +++ b/Assets/Sprites/UITextures/Story/未标题-2.psd.meta @@ -52,7 +52,7 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 0 + alphaIsTransparency: 1 spriteTessellationDetail: -1 textureType: 8 textureShape: 1 @@ -67,7 +67,7 @@ TextureImporter: swizzle: 50462976 cookieLightType: 0 platformSettings: - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: DefaultTexturePlatform maxTextureSize: 2048 resizeAlgorithm: 0 @@ -80,7 +80,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Standalone maxTextureSize: 2048 resizeAlgorithm: 0 @@ -93,8 +93,8 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone + - serializedVersion: 4 + buildTarget: iOS maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 @@ -106,7 +106,7 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 + - serializedVersion: 4 buildTarget: Android maxTextureSize: 2048 resizeAlgorithm: 0 @@ -123,6 +123,7 @@ TextureImporter: serializedVersion: 2 sprites: [] outline: [] + customData: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 @@ -132,6 +133,8 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + spriteCustomMetadata: + entries: [] nameFileIdTable: {} mipmapLimitGroupName: pSDRemoveMatte: 0 diff --git a/Assets/Sprites/UITextures/Story/组 10.png b/Assets/Sprites/UITextures/Story/组 10.png new file mode 100644 index 00000000..6ef33033 --- /dev/null +++ b/Assets/Sprites/UITextures/Story/组 10.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6fcf9423cbc52a827edc425e43f69aa3a0ef4fefc7cb2c43e9ebe8831d584550 +size 13416 diff --git a/Assets/Sprites/UITextures/Story/组 10.png.meta b/Assets/Sprites/UITextures/Story/组 10.png.meta new file mode 100644 index 00000000..1672f1d5 --- /dev/null +++ b/Assets/Sprites/UITextures/Story/组 10.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: bcb0f0d9eaf2ad045aa1dd9ebf6b489f +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/Sprites/UITextures/Story/组 6.png b/Assets/Sprites/UITextures/Story/组 6.png new file mode 100644 index 00000000..01744a37 --- /dev/null +++ b/Assets/Sprites/UITextures/Story/组 6.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5089b040248026870ba067cf81b2cc503439d0559a635294bc4309059dbca96 +size 145748 diff --git a/Assets/Sprites/UITextures/Story/组 6.png.meta b/Assets/Sprites/UITextures/Story/组 6.png.meta new file mode 100644 index 00000000..02c0582f --- /dev/null +++ b/Assets/Sprites/UITextures/Story/组 6.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 8746c977baa2dfb42a2e1acd589d3c5b +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 3d06479f..13773fb9 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:98cd3bd552cb793f8acf53c56eefbc682bcb11363caf3fb59472b6a54663fbc8 -size 4587 +oid sha256:ded71ffd2d714cfa4bb5efec100e36736b043ae86d283eb2227fa90d22abae7a +size 6828 diff --git a/Assets/Story/StoryHelperData.asset b/Assets/Story/StoryHelperData.asset new file mode 100644 index 00000000..b1f8d41f --- /dev/null +++ b/Assets/Story/StoryHelperData.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa893794573a74a62d370e4e00f3e34eee851e5519069de75058fa39794184bf +size 809 diff --git a/Assets/Story/StoryHelperData.asset.meta b/Assets/Story/StoryHelperData.asset.meta new file mode 100644 index 00000000..7f34d106 --- /dev/null +++ b/Assets/Story/StoryHelperData.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9be0d59b81017ab4b93df6ea9eace6fe +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64 b/Assets/StreamingAssets/ThemeBundles/Windows64/Windows64 index 4efa8076..cf4440da 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 870198b9..5f01f36e 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: 3304633615 +CRC: 2225548766 HashAppended: 0 AssetBundleManifest: AssetBundleInfos: diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse b/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse index f5e45b5a..58ca5950 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:a00e28acca0749a78a8ccac5878262b4e9ad867a3b2e5434fac741e8d334423d -size 812116 +oid sha256:cf9c4b7e9cb9c879acfa80ff6f2a8482b0accceef4988f38703966bd57de37a3 +size 842483 diff --git a/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse.manifest b/Assets/StreamingAssets/ThemeBundles/Windows64/departure_to_multiverse.manifest index be85e10b..2807d6e4 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: 3176997596 +CRC: 3963795702 Hashes: AssetFileHash: serializedVersion: 2 - Hash: 2739e7db8a5127e5f4e38ed26a5dab24 + Hash: da36a084e3188ee1f42f70a1632a9ecf TypeTreeHash: serializedVersion: 2 Hash: 6d9f9b8bc1074349261a0dbbf7f0f9f8 IncrementalBuildHash: serializedVersion: 2 - Hash: 087cd007fe584b08e6ef217eeaede36a + Hash: 40f4c5c977e00a69e1094eca8f16a3c9 HashAppended: 0 ClassTypes: - Class: 1 @@ -100,6 +100,7 @@ Assets: - Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Decorations/DTM_ConstellationCube.prefab - Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Environment/DTM_GlobalFog.prefab - Assets/ThemeBundles/DepartureToMultiverse/Prefabs/DTM_Trail.prefab +- Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Decorations/Constellation.prefab - Assets/ThemeBundles/DepartureToMultiverse/Textures/Skybox/DTM_SunMask1.png - Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Environment/DTM_StarrySkybox.prefab - Assets/ThemeBundles/DepartureToMultiverse/Prefabs/DTM_NoteVisualHold.prefab diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Materials/Decorations/Constellation_Cubes.mat b/Assets/ThemeBundles/DepartureToMultiverse/Materials/Decorations/Constellation_Cubes.mat index 056f6ed5..de80fe14 100644 --- a/Assets/ThemeBundles/DepartureToMultiverse/Materials/Decorations/Constellation_Cubes.mat +++ b/Assets/ThemeBundles/DepartureToMultiverse/Materials/Decorations/Constellation_Cubes.mat @@ -21,7 +21,7 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Constellation_Cubes - m_Shader: {fileID: 4800000, guid: 7b9c9313dd6fd7a4c95981c520b6c617, type: 3} + m_Shader: {fileID: 4800000, guid: ba1291d1b65e9624fb8aa363fdee9c46, type: 3} m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: @@ -358,6 +358,8 @@ Material: - _TransparentMode: 1 - _UIEffect_Toggle: 0 - _UTwirlEnabled: 0 + - _UseParticleDataForEmission: 0 + - _UseParticleDataForUV: 0 - _UseRedAsAlpha: 0 - _UseUV1_Toggle: 0 - _VertexOffset_Mask_Toggle: 0 diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Materials/Decorations/Constellation_Trails.mat b/Assets/ThemeBundles/DepartureToMultiverse/Materials/Decorations/Constellation_Trails.mat index 39a96809..6dc0c14a 100644 --- a/Assets/ThemeBundles/DepartureToMultiverse/Materials/Decorations/Constellation_Trails.mat +++ b/Assets/ThemeBundles/DepartureToMultiverse/Materials/Decorations/Constellation_Trails.mat @@ -21,7 +21,7 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Constellation_Trails - m_Shader: {fileID: 4800000, guid: 7b9c9313dd6fd7a4c95981c520b6c617, type: 3} + m_Shader: {fileID: 4800000, guid: ba1291d1b65e9624fb8aa363fdee9c46, type: 3} m_Parent: {fileID: 0} m_ModifiedSerializedProperties: 0 m_ValidKeywords: @@ -347,6 +347,8 @@ Material: - _TransparentMode: 1 - _UIEffect_Toggle: 0 - _UTwirlEnabled: 0 + - _UseParticleDataForEmission: 0 + - _UseParticleDataForUV: 0 - _UseRedAsAlpha: 0 - _UseUV1_Toggle: 0 - _VertexOffset_Mask_Toggle: 0 diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Decorations/Constellation.prefab.meta b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Decorations/Constellation.prefab.meta index 8eab2c0d..7b24a491 100644 --- a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Decorations/Constellation.prefab.meta +++ b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Decorations/Constellation.prefab.meta @@ -3,5 +3,5 @@ guid: 8dff9fe42e1db334298a58beb53a854f PrefabImporter: externalObjects: {} userData: - assetBundleName: + assetBundleName: departure_to_multiverse assetBundleVariant: diff --git a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Decorations/DTM_ConstellationCube.prefab b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Decorations/DTM_ConstellationCube.prefab index 0755aa16..416e90df 100644 --- a/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Decorations/DTM_ConstellationCube.prefab +++ b/Assets/ThemeBundles/DepartureToMultiverse/Prefabs/Decorations/DTM_ConstellationCube.prefab @@ -56,9 +56,6 @@ MonoBehaviour: PrefabModificationsReferencedUnityObjects: [] PrefabModifications: [] SerializationNodes: - - Name: enableTypes - Entry: 6 - Data: - Name: elementGuid Entry: 2 Data: 00000000000000000000000000000000 @@ -75,7 +72,6 @@ MonoBehaviour: - Name: Entry: 8 Data: - connectedTab: {fileID: 0} elementName: tags: [] parentElement: {fileID: 0} @@ -550,7 +546,7 @@ ParticleSystem: m_PostInfinity: 2 m_RotationOrder: 4 EmissionModule: - enabled: 0 + enabled: 1 serializedVersion: 4 rateOverTime: serializedVersion: 2 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 b722297d..21e19158 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: 0 + enabled: 1 settings: CPU: x86 DefaultValueInitialized: true diff --git a/UserSettings/Layouts/CurrentMaximizeLayout.dwlt b/UserSettings/Layouts/CurrentMaximizeLayout.dwlt index 7025d13f..c9b6a715 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: 57 + controlID: 56 draggingID: 0 --- !u!114 &2 MonoBehaviour: @@ -50,7 +50,7 @@ MonoBehaviour: x: 277.33334 y: 78.66667 width: 823.33325 - height: 536.6667 + height: 543.3333 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -72,7 +72,7 @@ MonoBehaviour: m_ShowGizmos: 0 m_TargetDisplay: 0 m_ClearColor: {r: 0, g: 0, b: 0, a: 0} - m_TargetSize: {x: 2408, y: 1080} + m_TargetSize: {x: 1920, y: 1080} m_TextureFilterMode: 0 m_TextureHideFlags: 61 m_RenderIMGUI: 1 @@ -81,14 +81,14 @@ MonoBehaviour: m_VSyncEnabled: 0 m_Gizmos: 0 m_Stats: 0 - m_SelectedSizes: 03000000000000001200000016000000000000000000000000000000000000000000000000000000 + m_SelectedSizes: 03000000000000001200000006000000000000000000000000000000000000000000000000000000 m_ZoomArea: m_HRangeLocked: 0 m_VRangeLocked: 0 hZoomLockedByDefault: 0 vZoomLockedByDefault: 0 - m_HBaseRangeMin: -802.6667 - m_HBaseRangeMax: 802.6667 + m_HBaseRangeMin: -640 + m_HBaseRangeMax: 640 m_VBaseRangeMin: -360 m_VBaseRangeMax: 360 m_HAllowExceedBaseRangeMin: 1 @@ -109,22 +109,22 @@ MonoBehaviour: x: 0 y: 21 width: 823.33325 - height: 515.6667 - m_Scale: {x: 0.5128737, y: 0.5128737} - m_Translation: {x: 411.66663, y: 257.83334} + height: 522.3333 + m_Scale: {x: 0.6432291, y: 0.6432291} + m_Translation: {x: 411.66663, y: 261.16666} m_MarginLeft: 0 m_MarginRight: 0 m_MarginTop: 0 m_MarginBottom: 0 m_LastShownAreaInsideMargins: serializedVersion: 2 - x: -802.6667 - y: -502.72287 - width: 1605.3334 - height: 1005.44574 + x: -640 + y: -406.0243 + width: 1280 + height: 812.0486 m_MinimalGUI: 1 - m_defaultScale: 0.5128737 - m_LastWindowPixelSize: {x: 1234.9999, y: 805} + m_defaultScale: 0.6432291 + m_LastWindowPixelSize: {x: 1234.9999, y: 815} 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: 58 + controlID: 57 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: 59 + controlID: 58 draggingID: 0 --- !u!114 &5 MonoBehaviour: @@ -203,11 +203,11 @@ MonoBehaviour: x: 0 y: 0 width: 1102.6666 - height: 562.6667 + height: 569.3333 m_MinSize: {x: 200, y: 56} m_MaxSize: {x: 16192, y: 8096} vertical: 0 - controlID: 60 + controlID: 59 draggingID: 0 --- !u!114 &6 MonoBehaviour: @@ -227,7 +227,7 @@ MonoBehaviour: x: 0 y: 0 width: 277.33334 - height: 562.6667 + height: 569.3333 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.6667 + height: 543.3333 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -277,12 +277,14 @@ MonoBehaviour: m_SceneHierarchy: m_TreeViewState: scrollPos: {x: 0, y: 0} - m_SelectedIDs: - - m_Data: 48546 + m_SelectedIDs: [] m_LastClickedID: m_Data: 0 m_ExpandedIDs: - - m_Data: -1334 + - m_Data: -1332 + - m_Data: 78840 + - m_Data: 79860 + - m_Data: 79892 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -326,7 +328,7 @@ MonoBehaviour: x: 277.33334 y: 0 width: 825.33325 - height: 562.6667 + height: 569.3333 m_MinSize: {x: 202, y: 226} m_MaxSize: {x: 4002, y: 4026} m_ActualView: {fileID: 2} @@ -361,7 +363,7 @@ MonoBehaviour: x: 277.33334 y: 78.66667 width: 823.33325 - height: 536.6667 + height: 543.3333 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -1020,19 +1022,19 @@ MonoBehaviour: m_OverlaysVisible: 1 m_DynamicPanelBehavior: 0 m_WindowGUID: cc27987af1a868c49b0894db9c0f5429 - m_Gizmos: 1 + m_Gizmos: 0 m_OverrideSceneCullingMask: 6917529027641081856 m_SceneIsLit: 1 m_SceneLighting: 1 - m_2DMode: 0 + m_2DMode: 1 m_isRotationLocked: 0 m_PlayAudio: 0 m_AudioPlay: 0 m_DebugDrawModesUseInteractiveLightBakingData: 0 m_Position: - m_Target: {x: -48.184883, y: -13.375069, z: 118.46275} + m_Target: {x: 28.188124, y: 5.686829, z: 286.01437} speed: 2 - m_Value: {x: -48.184883, y: -13.375069, z: 118.46275} + m_Value: {x: 28.188124, y: 5.686829, z: 286.01437} m_RenderMode: 0 m_CameraMode: drawMode: 0 @@ -1078,17 +1080,17 @@ MonoBehaviour: m_GridAxis: 1 m_gridOpacity: 0.5 m_Rotation: - m_Target: {x: -0.16503842, y: -0.0526896, z: 0.008652036, w: -0.9849945} + m_Target: {x: 0, y: 0, z: 0, w: 1} speed: 2 - m_Value: {x: -0.16501343, y: -0.052681625, z: 0.008650727, w: -0.98484534} + m_Value: {x: 0, y: 0, z: 0, w: 1} m_Size: - m_Target: 74.715576 + m_Target: 83.17541 speed: 2 - m_Value: 74.715576 + m_Value: 83.17541 m_Ortho: - m_Target: 0 + m_Target: 1 speed: 2 - m_Value: 0 + m_Value: 1 m_CameraSettings: m_Speed: 1 m_SpeedNormalized: 0.5 @@ -1102,8 +1104,8 @@ MonoBehaviour: m_FarClip: 1000 m_DynamicClip: 1 m_OcclusionCulling: 0 - m_LastSceneViewRotation: {x: -0.009809269, y: 0.0050967373, z: -0.000051532945, - w: -0.99995786} + m_LastSceneViewRotation: {x: -0.0048093842, y: -0.0029030738, z: 0.000013014643, + w: -0.99999857} m_LastSceneViewOrtho: 0 m_Viewpoint: m_SceneView: {fileID: 9} @@ -1141,10 +1143,10 @@ MonoBehaviour: 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 @@ -1236,26 +1238,26 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 1 m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} - m_Name: ConsoleWindow + m_Name: ProjectBrowser m_EditorClassIdentifier: m_Children: [] m_Position: serializedVersion: 2 x: 0 - y: 562.6667 + y: 569.3333 width: 1102.6666 - height: 250.66663 - m_MinSize: {x: 100, y: 100} - m_MaxSize: {x: 4000, y: 4000} - m_ActualView: {fileID: 13} + height: 244 + m_MinSize: {x: 231, y: 276} + m_MaxSize: {x: 10001, y: 10026} + m_ActualView: {fileID: 12} m_Panes: - {fileID: 12} - {fileID: 13} - {fileID: 14} - {fileID: 15} - {fileID: 16} - m_Selected: 1 - m_LastSelected: 0 + m_Selected: 0 + m_LastSelected: 1 --- !u!114 &12 MonoBehaviour: m_ObjectHideFlags: 52 @@ -1279,9 +1281,9 @@ MonoBehaviour: m_Pos: serializedVersion: 2 x: 0 - y: 641.3334 + y: 648 width: 1101.6666 - height: 224.66663 + height: 218 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -1306,7 +1308,7 @@ MonoBehaviour: m_SkipHidden: 0 m_SearchArea: 1 m_Folders: - - Assets/Prefabs/Menu/UI Elements + - Assets/Sprites/Illustrations/Chapter 0/AI m_Globs: [] m_ProductIds: m_AnyWithAssetOrigin: 0 @@ -1316,127 +1318,131 @@ MonoBehaviour: m_ViewMode: 1 m_StartGridSize: 16 m_LastFolders: - - Assets/Prefabs/Menu/UI Elements + - Assets/Sprites/Illustrations/Chapter 0/AI m_LastFoldersGridSize: 16 m_LastProjectPath: D:\Projects\ichni Official m_LockTracker: m_IsLocked: 0 m_LastLocalAssetsSearchArea: 1 m_FolderTreeState: - scrollPos: {x: 0, y: 959} + scrollPos: {x: 0, y: 1030} m_SelectedIDs: - - m_Data: 84910 + - m_Data: 174400 m_LastClickedID: - m_Data: 84910 + m_Data: 174400 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_Data: 84470 - - m_Data: 84508 - - m_Data: 86178 - - m_Data: 86180 - - m_Data: 86182 - - m_Data: 86184 + - 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: 84284 + - m_Data: 84286 + - m_Data: 84288 + - m_Data: 84290 + - m_Data: 84292 + - m_Data: 84294 + - m_Data: 84296 + - m_Data: 84298 + - m_Data: 84300 + - m_Data: 84302 + - m_Data: 84304 + - m_Data: 84306 + - m_Data: 84308 + - m_Data: 84310 + - m_Data: 84312 + - m_Data: 84314 + - m_Data: 84316 + - m_Data: 84318 + - m_Data: 84320 + - m_Data: 84322 + - m_Data: 84324 + - m_Data: 84326 + - m_Data: 84328 + - m_Data: 84330 + - m_Data: 84332 + - m_Data: 84334 + - m_Data: 84336 + - m_Data: 84338 + - m_Data: 84340 + - m_Data: 84342 + - m_Data: 84344 + - m_Data: 84346 + - m_Data: 84348 + - m_Data: 84350 + - m_Data: 84352 + - m_Data: 84354 + - m_Data: 84356 + - m_Data: 84358 + - m_Data: 84360 + - m_Data: 84362 + - m_Data: 84364 + - m_Data: 84366 + - m_Data: 84368 + - m_Data: 84370 + - m_Data: 84372 + - m_Data: 84374 + - m_Data: 84376 + - m_Data: 84378 + - m_Data: 84380 + - m_Data: 84382 + - m_Data: 84384 + - m_Data: 84386 + - m_Data: 84388 + - m_Data: 84390 + - m_Data: 84392 + - m_Data: 84394 + - m_Data: 84396 + - m_Data: 84398 + - m_Data: 84400 + - m_Data: 84402 + - m_Data: 84404 + - m_Data: 84406 + - m_Data: 84408 + - m_Data: 84410 + - m_Data: 84896 + - m_Data: 84902 + - m_Data: 84910 + - m_Data: 84932 + - m_Data: 85082 + - m_Data: 85144 + - m_Data: 85382 + - m_Data: 156420 + - m_Data: 174398 - m_Data: 1000000000 m_RenameOverlay: m_UserAcceptedRename: 0 @@ -1470,107 +1476,108 @@ MonoBehaviour: 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_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: 84284 + - m_Data: 84286 + - m_Data: 84288 + - m_Data: 84290 + - m_Data: 84292 + - m_Data: 84294 + - m_Data: 84296 + - m_Data: 84298 + - m_Data: 84300 + - m_Data: 84302 + - m_Data: 84304 + - m_Data: 84306 + - m_Data: 84308 + - m_Data: 84310 + - m_Data: 84312 + - m_Data: 84314 + - m_Data: 84316 + - m_Data: 84318 + - m_Data: 84320 + - m_Data: 84322 + - m_Data: 84324 + - m_Data: 84326 + - m_Data: 84328 + - m_Data: 84330 + - m_Data: 84332 + - m_Data: 84334 + - m_Data: 84336 + - m_Data: 84338 + - m_Data: 84340 + - m_Data: 84342 + - m_Data: 84344 + - m_Data: 84346 + - m_Data: 84348 + - m_Data: 84350 + - m_Data: 84352 + - m_Data: 84354 + - m_Data: 84356 + - m_Data: 84358 + - m_Data: 84360 + - m_Data: 84362 + - m_Data: 84364 + - m_Data: 84366 + - m_Data: 84368 + - m_Data: 84370 + - m_Data: 84372 + - m_Data: 84374 + - m_Data: 84376 + - m_Data: 84378 + - m_Data: 84380 + - m_Data: 84382 + - m_Data: 84384 + - m_Data: 84386 + - m_Data: 84388 + - m_Data: 84390 + - m_Data: 84392 + - m_Data: 84394 + - m_Data: 84396 + - m_Data: 84398 + - m_Data: 84400 + - m_Data: 84402 + - m_Data: 84404 + - m_Data: 84406 + - m_Data: 84408 + - m_Data: 84410 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1607,10 +1614,14 @@ MonoBehaviour: - m_Data: 68026 - m_Data: 83032 - m_Data: 74112 + - m_Data: 81828 + - m_Data: 75488 + - m_Data: 172916 + - m_Data: 81570 m_RenameOverlay: m_UserAcceptedRename: 0 - m_Name: SelectionBoxButton - m_OriginalName: SelectionBoxButton + m_Name: + m_OriginalName: m_EditFieldRect: serializedVersion: 2 x: 0 @@ -1618,10 +1629,10 @@ MonoBehaviour: width: 0 height: 0 m_UserData: - m_Data: 94216 + m_Data: 0 m_IsWaitingForDelay: 0 m_IsRenaming: 0 - m_OriginalEventType: 0 + m_OriginalEventType: 11 m_IsRenamingFilename: 1 m_TrimLeadingAndTrailingWhitespace: 0 m_ClientGUIView: {fileID: 11} @@ -1659,9 +1670,9 @@ MonoBehaviour: m_Pos: serializedVersion: 2 x: 0 - y: 641.3334 + y: 648 width: 1101.6666 - height: 224.66663 + height: 218 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -1965,8 +1976,8 @@ MonoBehaviour: y: 0 width: 604 height: 813.3333 - m_MinSize: {x: 275, y: 50} - m_MaxSize: {x: 4000, y: 4000} + m_MinSize: {x: 276, y: 76} + m_MaxSize: {x: 4001, y: 4026} m_ActualView: {fileID: 19} m_Panes: - {fileID: 18} @@ -1975,7 +1986,7 @@ MonoBehaviour: - {fileID: 21} - {fileID: 22} m_Selected: 1 - m_LastSelected: 0 + m_LastSelected: 2 --- !u!114 &18 MonoBehaviour: m_ObjectHideFlags: 61 @@ -2060,7 +2071,7 @@ MonoBehaviour: m_ObjectsLockedBeforeSerialization: [] m_InstanceIDsLockedBeforeSerialization: m_PreviewResizer: - m_CachedPref: -312.99988 + m_CachedPref: 312.99988 m_ControlHash: -371814159 m_PrefName: Preview_InspectorPreview m_LastInspectedObjectInstanceID: -1 @@ -2115,7 +2126,7 @@ MonoBehaviour: m_CachedPref: 184.33334 m_ControlHash: 1412526313 m_PrefName: Preview_InspectorPreview - m_LastInspectedObjectInstanceID: 48546 + m_LastInspectedObjectInstanceID: -1 m_LastVerticalScrollValue: 0 m_GlobalObjectId: m_InspectorMode: 0 @@ -2167,7 +2178,7 @@ MonoBehaviour: m_CachedPref: 165.66669 m_ControlHash: 1412526313 m_PrefName: Preview_InspectorPreview - m_LastInspectedObjectInstanceID: 48546 + m_LastInspectedObjectInstanceID: -1 m_LastVerticalScrollValue: 0 m_GlobalObjectId: m_InspectorMode: 0 diff --git a/UserSettings/Layouts/default-6000.dwlt b/UserSettings/Layouts/default-6000.dwlt index e818c48c..4b31647b 100644 --- a/UserSettings/Layouts/default-6000.dwlt +++ b/UserSettings/Layouts/default-6000.dwlt @@ -19,7 +19,7 @@ MonoBehaviour: width: 1706.6667 height: 869.3334 m_ShowMode: 4 - m_Title: Hierarchy + m_Title: Inspector m_RootView: {fileID: 2} m_MinSize: {x: 875, y: 300} m_MaxSize: {x: 10000, y: 10000} @@ -118,7 +118,7 @@ MonoBehaviour: m_MinSize: {x: 300, y: 112} m_MaxSize: {x: 24288, y: 16192} vertical: 1 - controlID: 57 + controlID: 57191 draggingID: 0 --- !u!114 &6 MonoBehaviour: @@ -144,7 +144,7 @@ MonoBehaviour: m_MinSize: {x: 300, y: 112} m_MaxSize: {x: 24288, y: 16192} vertical: 0 - controlID: 58 + controlID: 57192 draggingID: 0 --- !u!114 &7 MonoBehaviour: @@ -165,12 +165,12 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 1102.6666 + width: 1046.6666 height: 813.3333 m_MinSize: {x: 200, y: 112} m_MaxSize: {x: 16192, y: 16192} vertical: 1 - controlID: 59 + controlID: 57193 draggingID: 0 --- !u!114 &8 MonoBehaviour: @@ -191,12 +191,12 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 1102.6666 - height: 564 + width: 1046.6666 + height: 569.3333 m_MinSize: {x: 200, y: 56} m_MaxSize: {x: 16192, y: 8096} vertical: 0 - controlID: 60 + controlID: 57194 draggingID: 0 --- !u!114 &9 MonoBehaviour: @@ -215,8 +215,8 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 277.33334 - height: 564 + width: 264 + height: 569.3333 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: 277.33334 + x: 264 y: 0 - width: 825.33325 - height: 564 + width: 782.6666 + height: 569.3333 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: 564 - width: 1102.6666 - height: 249.33331 + y: 569.3333 + width: 1046.6666 + height: 244 m_MinSize: {x: 231, y: 276} m_MaxSize: {x: 10001, y: 10026} m_ActualView: {fileID: 18} @@ -297,9 +297,9 @@ MonoBehaviour: m_Children: [] m_Position: serializedVersion: 2 - x: 1102.6666 + x: 1046.6666 y: 0 - width: 604 + width: 660 height: 813.3333 m_MinSize: {x: 275, y: 50} m_MaxSize: {x: 4000, y: 4000} @@ -642,10 +642,10 @@ MonoBehaviour: m_TextWithWhitespace: "Game\u200B" m_Pos: serializedVersion: 2 - x: 277.33334 + x: 264 y: 78.66667 - width: 823.33325 - height: 538 + width: 780.6666 + height: 543.3333 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -703,10 +703,10 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 21 - width: 823.33325 - height: 517 - m_Scale: {x: 0.6432291, y: 0.6432291} - m_Translation: {x: 411.66663, y: 258.5} + width: 780.6666 + height: 522.3333 + m_Scale: {x: 0.6098958, y: 0.6098958} + m_Translation: {x: 390.3333, y: 261.16666} m_MarginLeft: 0 m_MarginRight: 0 m_MarginTop: 0 @@ -714,12 +714,12 @@ MonoBehaviour: m_LastShownAreaInsideMargins: serializedVersion: 2 x: -640 - y: -401.87857 + y: -428.21518 width: 1280 - height: 803.75714 + height: 856.43036 m_MinimalGUI: 1 - m_defaultScale: 0.6432291 - m_LastWindowPixelSize: {x: 1234.9999, y: 807} + m_defaultScale: 0.6098958 + m_LastWindowPixelSize: {x: 1171, y: 815} m_ClearInEditMode: 1 m_NoCameraWarning: 1 m_LowResolutionForAspectRatios: 00000000000000000000 @@ -750,8 +750,8 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 78.66667 - width: 276.33334 - height: 538 + width: 263 + height: 543.3333 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -772,11 +772,14 @@ MonoBehaviour: m_LastClickedID: m_Data: 0 m_ExpandedIDs: - - m_Data: -18848 - - m_Data: -18418 - - m_Data: -16106 - - m_Data: -12656 - - m_Data: -1342 + - m_Data: -174646 + - m_Data: -167526 + - m_Data: -159990 + - m_Data: -158232 + - m_Data: -1332 + - m_Data: 78840 + - m_Data: 79860 + - m_Data: 79892 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -824,10 +827,10 @@ MonoBehaviour: m_TextWithWhitespace: "Scene\u200B" m_Pos: serializedVersion: 2 - x: 277.33334 + x: 264 y: 78.66667 - width: 823.33325 - height: 538 + width: 780.6666 + height: 543.3333 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -1490,15 +1493,15 @@ MonoBehaviour: m_OverrideSceneCullingMask: 6917529027641081856 m_SceneIsLit: 1 m_SceneLighting: 1 - m_2DMode: 0 + m_2DMode: 1 m_isRotationLocked: 0 m_PlayAudio: 0 m_AudioPlay: 0 m_DebugDrawModesUseInteractiveLightBakingData: 0 m_Position: - m_Target: {x: 13.030477, y: 24.657665, z: 5968.081} + m_Target: {x: -2.0122528, y: 8.725975, z: 11.718367} speed: 2 - m_Value: {x: 13.030477, y: 24.657665, z: 5968.081} + m_Value: {x: -2.0122528, y: 8.725975, z: 11.718367} m_RenderMode: 0 m_CameraMode: drawMode: 0 @@ -1544,17 +1547,17 @@ MonoBehaviour: m_GridAxis: 1 m_gridOpacity: 0.5 m_Rotation: - m_Target: {x: -0.052754678, y: -0.88293386, z: 0.1019221, w: -0.45559394} + m_Target: {x: 0, y: 0, z: 0, w: 1} speed: 2 - m_Value: {x: -0.052746523, y: -0.88279736, z: 0.101906344, w: -0.45552352} + m_Value: {x: 0, y: 0, z: 0, w: 1} m_Size: - m_Target: 38.306866 + m_Target: 111.58876 speed: 2 - m_Value: 38.306866 + m_Value: 111.58876 m_Ortho: - m_Target: 0 + m_Target: 1 speed: 2 - m_Value: 0 + m_Value: 1 m_CameraSettings: m_Speed: 1 m_SpeedNormalized: 0.5 @@ -1568,7 +1571,7 @@ MonoBehaviour: m_FarClip: 1000 m_DynamicClip: 1 m_OcclusionCulling: 0 - m_LastSceneViewRotation: {x: -0.1571805, y: 0.35059515, z: -0.059945893, w: -0.9214606} + m_LastSceneViewRotation: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226} m_LastSceneViewOrtho: 0 m_Viewpoint: m_SceneView: {fileID: 16} @@ -1714,9 +1717,9 @@ MonoBehaviour: m_Pos: serializedVersion: 2 x: 0 - y: 642.6667 - width: 1101.6666 - height: 223.33331 + y: 648 + width: 1045.6666 + height: 218 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -1741,7 +1744,7 @@ MonoBehaviour: m_SkipHidden: 0 m_SearchArea: 1 m_Folders: - - Packages/com.unity.render-pipelines.core/Runtime/GPUDriven/Components + - Assets/Sprites/UITextures/Story m_Globs: [] m_ProductIds: m_AnyWithAssetOrigin: 0 @@ -1751,85 +1754,20 @@ MonoBehaviour: m_ViewMode: 1 m_StartGridSize: 16 m_LastFolders: - - Packages/com.unity.render-pipelines.core/Runtime/GPUDriven/Components + - Assets/Sprites/UITextures/Story m_LastFoldersGridSize: 16 m_LastProjectPath: D:\Projects\ichni Official m_LockTracker: m_IsLocked: 0 m_LastLocalAssetsSearchArea: 1 m_FolderTreeState: - scrollPos: {x: 0, y: 2148.6667} + scrollPos: {x: 0, y: 646} m_SelectedIDs: - - m_Data: 84810 + - m_Data: 84408 m_LastClickedID: - m_Data: 84810 + m_Data: 84408 m_ExpandedIDs: - m_Data: 0 - - 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 @@ -1868,10 +1806,76 @@ MonoBehaviour: - m_Data: 84278 - m_Data: 84280 - m_Data: 84282 - - m_Data: 84770 - - m_Data: 84812 + - m_Data: 84284 + - m_Data: 84286 + - m_Data: 84288 + - m_Data: 84290 + - m_Data: 84292 + - m_Data: 84294 + - m_Data: 84296 + - m_Data: 84298 + - m_Data: 84300 + - m_Data: 84302 + - m_Data: 84304 + - m_Data: 84306 + - m_Data: 84308 + - m_Data: 84310 + - m_Data: 84312 + - m_Data: 84314 + - m_Data: 84316 + - m_Data: 84318 + - m_Data: 84320 + - m_Data: 84322 + - m_Data: 84324 + - m_Data: 84326 + - m_Data: 84328 + - m_Data: 84330 + - m_Data: 84332 + - m_Data: 84334 + - m_Data: 84336 + - m_Data: 84338 + - m_Data: 84340 + - m_Data: 84342 + - m_Data: 84344 + - m_Data: 84346 + - m_Data: 84348 + - m_Data: 84350 + - m_Data: 84352 + - m_Data: 84354 + - m_Data: 84356 + - m_Data: 84358 + - m_Data: 84360 + - m_Data: 84362 + - m_Data: 84364 + - m_Data: 84366 + - m_Data: 84368 + - m_Data: 84370 + - m_Data: 84372 + - m_Data: 84374 + - m_Data: 84376 + - m_Data: 84378 + - m_Data: 84380 + - m_Data: 84382 + - m_Data: 84384 + - m_Data: 84386 + - m_Data: 84388 + - m_Data: 84390 + - m_Data: 84392 + - m_Data: 84394 + - m_Data: 84396 + - m_Data: 84398 + - m_Data: 84400 + - m_Data: 84402 + - m_Data: 84404 + - m_Data: 84406 + - m_Data: 84408 + - m_Data: 84410 + - m_Data: 84896 + - m_Data: 84932 + - m_Data: 85144 + - m_Data: 156420 + - m_Data: 174398 - m_Data: 1000000000 - - m_Data: 2147483647 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -1904,71 +1908,6 @@ MonoBehaviour: m_Data: 0 m_ExpandedIDs: - m_Data: 0 - - 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 @@ -2007,6 +1946,80 @@ MonoBehaviour: - m_Data: 84278 - m_Data: 84280 - m_Data: 84282 + - m_Data: 84284 + - m_Data: 84286 + - m_Data: 84288 + - m_Data: 84290 + - m_Data: 84292 + - m_Data: 84294 + - m_Data: 84296 + - m_Data: 84298 + - m_Data: 84300 + - m_Data: 84302 + - m_Data: 84304 + - m_Data: 84306 + - m_Data: 84308 + - m_Data: 84310 + - m_Data: 84312 + - m_Data: 84314 + - m_Data: 84316 + - m_Data: 84318 + - m_Data: 84320 + - m_Data: 84322 + - m_Data: 84324 + - m_Data: 84326 + - m_Data: 84328 + - m_Data: 84330 + - m_Data: 84332 + - m_Data: 84334 + - m_Data: 84336 + - m_Data: 84338 + - m_Data: 84340 + - m_Data: 84342 + - m_Data: 84344 + - m_Data: 84346 + - m_Data: 84348 + - m_Data: 84350 + - m_Data: 84352 + - m_Data: 84354 + - m_Data: 84356 + - m_Data: 84358 + - m_Data: 84360 + - m_Data: 84362 + - m_Data: 84364 + - m_Data: 84366 + - m_Data: 84368 + - m_Data: 84370 + - m_Data: 84372 + - m_Data: 84374 + - m_Data: 84376 + - m_Data: 84378 + - m_Data: 84380 + - m_Data: 84382 + - m_Data: 84384 + - m_Data: 84386 + - m_Data: 84388 + - m_Data: 84390 + - m_Data: 84392 + - m_Data: 84394 + - m_Data: 84396 + - m_Data: 84398 + - m_Data: 84400 + - m_Data: 84402 + - m_Data: 84404 + - m_Data: 84406 + - m_Data: 84408 + - m_Data: 84410 + - m_Data: 84896 + - m_Data: 84902 + - m_Data: 84910 + - m_Data: 84932 + - m_Data: 85082 + - m_Data: 85144 + - m_Data: 85382 + - m_Data: 156420 + - m_Data: 174398 + - m_Data: 1000000000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -2043,10 +2056,13 @@ MonoBehaviour: - m_Data: 68026 - m_Data: 83032 - m_Data: 74112 + - m_Data: 81828 + - m_Data: 75488 + - m_Data: 81570 m_RenameOverlay: m_UserAcceptedRename: 0 - m_Name: - m_OriginalName: + m_Name: ticks + m_OriginalName: ticks m_EditFieldRect: serializedVersion: 2 x: 0 @@ -2054,10 +2070,10 @@ MonoBehaviour: width: 0 height: 0 m_UserData: - m_Data: 0 + m_Data: 259686 m_IsWaitingForDelay: 0 m_IsRenaming: 0 - m_OriginalEventType: 11 + m_OriginalEventType: 0 m_IsRenamingFilename: 1 m_TrimLeadingAndTrailingWhitespace: 0 m_ClientGUIView: {fileID: 11} @@ -2068,7 +2084,7 @@ MonoBehaviour: m_Icon: {fileID: 0} m_ResourceFile: m_NewAssetIndexInList: -1 - m_ScrollPosition: {x: 0, y: 0} + m_ScrollPosition: {x: 0, y: 60} m_GridSize: 16 m_SkipHiddenPackages: 0 m_DirectoriesAreaWidth: 209 @@ -2095,9 +2111,9 @@ MonoBehaviour: m_Pos: serializedVersion: 2 x: 0 - y: 642.6667 - width: 1101.6666 - height: 223.33331 + y: 648 + width: 1045.6666 + height: 218 m_SerializedDataModeController: m_DataMode: 0 m_PreferredDataMode: 0 @@ -2446,9 +2462,9 @@ MonoBehaviour: m_TextWithWhitespace: "Inspector\u200B" m_Pos: serializedVersion: 2 - x: 1102.6667 + x: 1046.6667 y: 78.66667 - width: 603 + width: 659 height: 787.3333 m_SerializedDataModeController: m_DataMode: 0 diff --git a/docs/story-ui-refactor-plan.md b/docs/story-ui-refactor-plan.md new file mode 100644 index 00000000..c185e707 --- /dev/null +++ b/docs/story-ui-refactor-plan.md @@ -0,0 +1,113 @@ +# 剧情界面与路线系统重构方案 + +> 状态:已确认,待实施 +> 更新日期:2026-07-20 +> 适用范围:`ichni Official`。本方案不涉及 `IchniCreatorStudio`。 + +## 1. 目标与原则 + +本次重构将剧情页面升级为以叙事时间推进的可拖动画面:左侧 Helper、顶部 Timeline、中心剧情树、右下章节指示器共同呈现章节进度。 + +剧情路线的排版是叙事与美术设计的一部分,因此必须由每章的 `StoryData` 静态定义;运行时仅负责生成视图、推导状态、播放动效和筛选可见信息,绝不进行自动图布局或重排。 + +## 2. 静态布局与运行时行为 + +### 2.1 StoryData 静态定义 + +每章 `StoryData` 预先保存: + +- 全部 Block、连接关系、`gridColumn` 与 `gridRow`; +- TextBlock 的 `Important` / `Secondary` 视觉分类; +- Block 的解锁条件与变量驱动的互斥路线条件; +- Timeline Marker 的锚点、文本和主线进度; + +全局 Helper 不属于任何章节的 `StoryData`。它由独立的 `StoryHelperData` 资产保存, +并由 `StoryManager` 统一引用;这样所有章节共享同一个 Helper 与对话池,后续只需在该资产中维护一次。 + +`gridColumn` 表示叙事时间,向右递增;`gridRow` 表示路线。主线围绕 `gridRow = 0` 排布,分支向上或向下展开。Important TextBlock 承担主线转折与章节 checkpoint,Secondary TextBlock 用于补充剧情和支线,可使用小数列位置。 + +只有叙事真正汇合时才连接到同一个后续 Block。两个结局固定在最右侧的结局区,上下分置。 + +### 2.2 运行时动态生成 + +`StoryTreeController` 根据静态蓝图动态实例化 Block、Connector 和 Timeline Marker View。路线改变时不会移动或重新排列任何节点,只更新各节点状态、连接线视觉和 Timeline 可见性。 + +## 3. Block 状态与互斥路线 + +现有状态扩展为: + +| 状态 | 含义 | +| --- | --- | +| `Locked` | 当前不可用,但后续仍可能解锁。 | +| `Current` | 当前可进入。 | +| `Completed` | 已完成。 | +| `Forbidden` | 已被互斥路线排除,在本章当前路线下不能再进入。 | + +每个 Block 同时拥有 `unlockCondition` 与 `forbiddenCondition`,二者均使用通用的 `StoryCondition` 条件树。`unlockCondition` 留空表示可解锁;`forbiddenCondition` 留空表示不会被条件禁用。运行时若 `forbiddenCondition` 先满足,则 Block 进入 `Forbidden`,优先于 Completed / Current / Locked。 + +路线使用普通剧情变量配置:例如 `chapter0_route_main = 1` 表示上方路线、`= 2` 表示下方路线。上方 Block 可将 `unlockCondition` 设为 `chapter0_route_main == 1`,并在 `forbiddenCondition` 中设为 `chapter0_route_main == 2`;下方 Block 使用相反配置。这样路线选择、教程、Yarn 条件与其它剧情判断完全共用同一种条件语法。 + +Forbidden Block 保留在剧情树中、不响应点击,并通过预留的视觉函数显示专用图片或文本。关联 Connector 可同步使用低透明度或失效视觉。Timeline 不显示 Forbidden 路线的 Marker。 + +## 4. Timeline + +Timeline 表达章节内的叙事时间,而非章节列表。 + +每个 Marker 单独配置: + +- `markerId`; +- `anchorBlockId`:唯一的位置来源; +- 本地化时间文本或特殊自定义文本; +- `progressValue`:0 至 1 的章节主线进度; +- 可选路线条件。 + +运行时直接读取目标 Block 的 `gridColumn` 计算 Marker 横坐标。Timeline 固定在屏幕顶部,并随剧情树横向拖动同步移动;纵向拖动不影响 Timeline。 + +Marker 锚定的 TextBlock 为 `Current` 或 `Completed` 时显示;处于 `Locked` 或 `Forbidden` 时隐藏。章节进度只取所有已完成、有效 Marker 中最大的 `progressValue`;两条不同结局都设置为 `1.0`,支线不参与主线百分比计算。 + +## 5. Helper + +Helper 使用独立的场景内 `HelperTalk` 面板,不使用模态 `MessageUIPage`。 + +`StoryHelperData` 是独立的全局 ScriptableObject。每条候选对话可包含本地化文本、剧情/路线条件和权重。当前版本从所有条件满足的候选中随机抽取,并在候选数量大于一时避免连续重复;无可用候选时使用默认兜底对话。 + +未来可在不改变 UI 架构的前提下,按剧情变量、时间阶段、路线、角色状态等扩展筛选规则。 + +## 6. SongBlock + +- 点击 SongBlock 后进入选曲页面,并优先选中其配置的目标歌曲; +- 仅进入选曲页面或直接返回,不完成 SongBlock; +- 玩家确认进入目标歌曲时,立刻完成该 SongBlock;之后中途退出游戏不回滚; +- 改选其他歌曲进入游戏,不完成原 SongBlock; +- 返回选曲或剧情时保留来源上下文,回到剧情页面后恢复章节、焦点 Block 与剧情树视口位置。 + +## 7. Important TextBlock 与章节 checkpoint + +每个 Important TextBlock 都可作为本章重开点。系统为其保存“进入该 Block 之前”的章节快照: + +- `checkpointBlockId`; +- 已完成 Block 集合; +- 本章剧情变量; +- 本章选项与路线变量。 + +点击已完成的 Important TextBlock 时,提供“回顾剧情 / 从此处重新开始 / 取消”。选择重开会用 checkpoint 覆盖当前章节的剧情状态、将该 Block 恢复为 `Current`、重建剧情树并从该 Yarn Node 开始。 + +重开只改变本章的剧情相关数据;不会回滚歌曲成绩、设置、永久内容解锁 Key 或其他章节的进度。 + +## 8. 章节独立性 + +剧情变量、选项、路线和 checkpoint 都必须按章节保存与读取。Chapter 0 的剧情选择或重开不会影响 Chapter 1。 + +歌曲成绩、Settings 和永久内容解锁属于全局系统,不纳入章节 checkpoint 的回滚范围。 + +## 9. 实施顺序 + +1. 重构 StoryData 与章节级剧情存档的数据契约。 +2. 增加 `Forbidden` 状态、通用 `StoryCondition` 与 Block 视觉接口。 +3. 移除 Block 基类的固定尺寸覆盖,改由 Prefab/Visual Preset 决定尺寸。 +4. 实现 Timeline Marker、横向同步和主线进度计算。 +5. 实现 SongBlock 到选曲、GameScene、剧情页面的完整返回上下文。 +6. 实现 Helper 对话池。 +7. 实现 Important TextBlock checkpoint 与章节重开流程。 +8. 配置 Chapter 0 的真实布局、时间点和两条结局。 +9. 完成 PC、Android、iOS 的路线、重开、拖动、Safe Area 和存档回归测试。 diff --git a/docs/tutorial-block-system.md b/docs/tutorial-block-system.md index 3b126f8b..5df579b2 100644 --- a/docs/tutorial-block-system.md +++ b/docs/tutorial-block-system.md @@ -7,7 +7,7 @@ TutorialBlock 点击后通过通用 `SelectionBox` 动态生成“游玩教程 / 1. 将 TutorialBlock 的 `tutorialProgressVariable` 写为 `true`。 2. 保存全局剧情变量。 3. 将该 TutorialBlock 标记为 Completed,用于故事树的节点外观;Completed 状态仍允许玩家再次点击回顾教程。 -4. 重新计算所有 StoryBlock 的 `UnlockCondition`。 +4. 重新计算所有 StoryBlock 的条件状态(`unlockCondition` 与 `forbiddenCondition`)。 后续 Block 必须通过 `VariableCondition` 读取教程变量解锁,不要依赖 TutorialBlock 的完成记录。选择“游玩教程”后会进入 GameScene;选择“跳过教程”则留在故事树。教程游玩中退出、失败或关闭游戏不会回退已经确认的解锁状态。教程节点完成后仍可再次点击;重复游玩只会重写相同的已处理状态,不会影响已解锁的后续剧情。 @@ -62,7 +62,7 @@ TutorialBlock 点击后通过通用 `SelectionBox` 动态生成“游玩教程 / | `nextBlockIds` | 第一个后续剧情节点,例如 `A-0` | | `unlockCondition` | 留空,使教程节点在章节开始时可点击 | -3. 为原本的第一个剧情节点 `A-0` 设置 `UnlockCondition`:选择 `VariableCondition`,并填写: +3. 为原本的第一个剧情节点 `A-0` 设置 `unlockCondition`:选择 `VariableCondition`,并填写: | 字段 | 值 | |---|---|