diff --git a/Assets/Cartoon UI/Icons/Gift Grey.png.meta b/Assets/Cartoon UI/Icons/Gift Grey.png.meta index d405b963..72c49028 100644 --- a/Assets/Cartoon UI/Icons/Gift Grey.png.meta +++ b/Assets/Cartoon UI/Icons/Gift Grey.png.meta @@ -1,5 +1,12 @@ fileFormatVersion: 2 guid: 17f3455809bcc5e4b8cb2398e1ca92a4 +AssetOrigin: + serializedVersion: 1 + productId: 225102 + packageName: Simple Cartoon UI + packageVersion: 1.1 + assetPath: Assets/Cartoon UI/Icons/Gift Grey.png + uploadId: 825882 TextureImporter: internalIDToNameTable: [] externalObjects: {} @@ -128,10 +135,3 @@ TextureImporter: userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 225102 - packageName: Simple Cartoon UI - packageVersion: 1.1 - assetPath: Assets/Cartoon UI/Icons/Gift Grey.png - uploadId: 825882 diff --git a/Assets/DefaultVolumeProfile.asset b/Assets/DefaultVolumeProfile.asset index 80cdf8f4..db7fdd93 100644 --- a/Assets/DefaultVolumeProfile.asset +++ b/Assets/DefaultVolumeProfile.asset @@ -346,6 +346,7 @@ MonoBehaviour: - {fileID: -665122592112833258} - {fileID: -5415734101822189328} - {fileID: 8032282833275709512} + - {fileID: 564577042516712540} --- !u!114 &446725181531353334 MonoBehaviour: m_ObjectHideFlags: 3 @@ -380,6 +381,40 @@ MonoBehaviour: highlightsEnd: m_OverrideState: 1 m_Value: 1 +--- !u!114 &564577042516712540 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fcaf02ee66ed11d4d9c67508e0130935, type: 3} + m_Name: GlobalDistortionVolume + m_EditorClassIdentifier: + active: 1 + intensity: + m_OverrideState: 1 + m_Value: 0 + noiseStrength: + m_OverrideState: 1 + m_Value: 0.16 + radialStrength: + m_OverrideState: 1 + m_Value: 0.35 + noiseScale: + m_OverrideState: 1 + m_Value: 12 + center: + m_OverrideState: 1 + m_Value: {x: 0.5, y: 0.5} + edgeFade: + m_OverrideState: 1 + m_Value: 1.25 + affectSceneView: + m_OverrideState: 1 + m_Value: 0 --- !u!114 &757156498526246967 MonoBehaviour: m_ObjectHideFlags: 3 diff --git a/Assets/Resources/itemGet.prefab b/Assets/Resources/itemGet.prefab new file mode 100644 index 00000000..4bf998d1 --- /dev/null +++ b/Assets/Resources/itemGet.prefab @@ -0,0 +1,1999 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &459065170797165375 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4628247373956988850} + - component: {fileID: 6922697396419040292} + - component: {fileID: 4002546814707954931} + m_Layer: 5 + m_Name: tip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4628247373956988850 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 459065170797165375} + 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: 4178858187682399047} + m_Father: {fileID: 2695903856409165439} + 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: -360.0865} + m_SizeDelta: {x: 2555.904, y: 839.827} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6922697396419040292 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 459065170797165375} + m_CullTransparentMesh: 1 +--- !u!114 &4002546814707954931 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 459065170797165375} + 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.3679245, g: 0.3679245, b: 0.3679245, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 1b1e113e4f51df34c981c4ebc66fb1b7, 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 &1742357171781708520 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3570256195684234039} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3570256195684234039 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1742357171781708520} + 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: 5421261158389096151} + m_Father: {fileID: 3080657817978365638} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2037398998238962242 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4178858187682399047} + - component: {fileID: 4449064012623360738} + - component: {fileID: 8943392596634907665} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4178858187682399047 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2037398998238962242} + 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: 4628247373956988850} + 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.7311, y: -6.223} + m_SizeDelta: {x: 550.3901, y: 30.7132} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4449064012623360738 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2037398998238962242} + m_CullTransparentMesh: 1 +--- !u!114 &8943392596634907665 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2037398998238962242} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: bd4be44636ad6c24a9b117a7108a75e9, type: 3} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u70B9\u51FB\u7A7A\u767D\u5904\u5173\u95ED" +--- !u!1 &2581237297821411656 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1302327321224459191} + - component: {fileID: 4796631590800447031} + - component: {fileID: 3196188295887288677} + m_Layer: 5 + m_Name: btm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1302327321224459191 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2581237297821411656} + 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: 2695903856409165439} + 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: 3840, y: 2160} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4796631590800447031 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2581237297821411656} + m_CullTransparentMesh: 1 +--- !u!114 &3196188295887288677 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2581237297821411656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0.9411765} + 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 &3226815865704221974 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6934276465393290645} + - component: {fileID: 2726226144554038314} + - component: {fileID: 4646503366305594702} + - component: {fileID: 941430051155043272} + m_Layer: 5 + m_Name: close + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &6934276465393290645 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3226815865704221974} + 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: 4310437646653330338} + m_Father: {fileID: 2695903856409165439} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1920, y: 1080} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2726226144554038314 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3226815865704221974} + m_CullTransparentMesh: 1 +--- !u!114 &4646503366305594702 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3226815865704221974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &941430051155043272 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3226815865704221974} + 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: 4646503366305594702} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &3297367270179489037 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1055949575368817678} + - component: {fileID: 8448407042105398006} + m_Layer: 5 + m_Name: itemGet + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1055949575368817678 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3297367270179489037} + 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: 2695903856409165439} + - {fileID: 3137976730971787751} + 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: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &8448407042105398006 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3297367270179489037} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 39b86a94e0f9b43418207c0c1a25c044, type: 3} + m_Name: + m_EditorClassIdentifier: + itemPrefab: {fileID: 913995668709144583, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + displayParent: {fileID: 4944905480159824482} + close: {fileID: 2916651073404800368} +--- !u!1 &3598919913577089389 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4944905480159824482} + - component: {fileID: 5442525640135707676} + m_Layer: 5 + m_Name: Content + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4944905480159824482 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3598919913577089389} + 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: 1596126316813462582} + - {fileID: 82931743752242755} + - {fileID: 4111190371966688224} + - {fileID: 8824280870990928386} + - {fileID: 729739858426958435} + - {fileID: 7969126018116620369} + m_Father: {fileID: 1826500657710465024} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 300} + m_Pivot: {x: 0, y: 1} +--- !u!114 &5442525640135707676 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3598919913577089389} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: -5 + m_Right: -5 + m_Top: 10 + m_Bottom: 10 + m_ChildAlignment: 1 + m_StartCorner: 0 + m_StartAxis: 0 + m_CellSize: {x: 130, y: 130} + m_Spacing: {x: 15, y: 40} + m_Constraint: 1 + m_ConstraintCount: 6 +--- !u!1 &4051729457364909786 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1826500657710465024} + - component: {fileID: 2962765509531958815} + - component: {fileID: 5017890046463865181} + - component: {fileID: 753265384975313719} + m_Layer: 5 + m_Name: Viewport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1826500657710465024 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4051729457364909786} + 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: 4944905480159824482} + m_Father: {fileID: 3137976730971787751} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 1} +--- !u!222 &2962765509531958815 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4051729457364909786} + m_CullTransparentMesh: 1 +--- !u!114 &5017890046463865181 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4051729457364909786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &753265384975313719 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4051729457364909786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!1 &4895337524148275893 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2695903856409165439} + - component: {fileID: 2916651073404800368} + m_Layer: 5 + m_Name: btm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2695903856409165439 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4895337524148275893} + 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: 1302327321224459191} + - {fileID: 2496328248827362352} + - {fileID: 6934276465393290645} + - {fileID: 4628247373956988850} + m_Father: {fileID: 1055949575368817678} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1920, y: 1080} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2916651073404800368 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4895337524148275893} + 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: 3196188295887288677} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &6294228602839465243 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 181488986909930859} + - component: {fileID: 4041861373192994877} + - component: {fileID: 3463500139798870594} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &181488986909930859 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6294228602839465243} + 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: 3101227708130590336} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4041861373192994877 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6294228602839465243} + m_CullTransparentMesh: 1 +--- !u!114 &3463500139798870594 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6294228602839465243} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &6500051345530345649 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3137976730971787751} + - component: {fileID: 8600102907497946381} + - component: {fileID: 4059102231336432125} + - component: {fileID: 1661478410141001302} + m_Layer: 5 + m_Name: sv + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3137976730971787751 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6500051345530345649} + 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: 1826500657710465024} + - {fileID: 1672241082933476089} + - {fileID: 3080657817978365638} + m_Father: {fileID: 1055949575368817678} + 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: 900, y: 500} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8600102907497946381 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6500051345530345649} + m_CullTransparentMesh: 1 +--- !u!114 &4059102231336432125 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6500051345530345649} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1661478410141001302 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6500051345530345649} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Content: {fileID: 4944905480159824482} + m_Horizontal: 0 + m_Vertical: 1 + m_MovementType: 2 + m_Elasticity: 0.1 + m_Inertia: 1 + m_DecelerationRate: 0.4 + m_ScrollSensitivity: 100 + m_Viewport: {fileID: 1826500657710465024} + m_HorizontalScrollbar: {fileID: 6921668007247776155} + m_VerticalScrollbar: {fileID: 3866453231648704550} + m_HorizontalScrollbarVisibility: 0 + m_VerticalScrollbarVisibility: 2 + m_HorizontalScrollbarSpacing: -3 + m_VerticalScrollbarSpacing: -3 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &6644271109833152908 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3080657817978365638} + - component: {fileID: 6227075534320534988} + - component: {fileID: 1392699348527914839} + - component: {fileID: 3866453231648704550} + m_Layer: 5 + m_Name: Scrollbar Vertical + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &3080657817978365638 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6644271109833152908} + 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: 3570256195684234039} + m_Father: {fileID: 3137976730971787751} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 29.1998, y: 0} + m_SizeDelta: {x: 8.3338, y: 0} + m_Pivot: {x: 1, y: 1} +--- !u!222 &6227075534320534988 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6644271109833152908} + m_CullTransparentMesh: 1 +--- !u!114 &1392699348527914839 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6644271109833152908} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &3866453231648704550 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6644271109833152908} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 5657980246700626223} + m_HandleRect: {fileID: 5421261158389096151} + m_Direction: 2 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &6777543314041494142 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4310437646653330338} + - component: {fileID: 1785146403039749118} + - component: {fileID: 4370086744293707144} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &4310437646653330338 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6777543314041494142} + 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: 6934276465393290645} + 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 &1785146403039749118 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6777543314041494142} + m_CullTransparentMesh: 1 +--- !u!114 &4370086744293707144 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6777543314041494142} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Button +--- !u!1 &7006679892908079683 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2496328248827362352} + - component: {fileID: 8523375773223422963} + - component: {fileID: 7308907727375861115} + m_Layer: 5 + m_Name: title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2496328248827362352 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7006679892908079683} + 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: 2695903856409165439} + 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: 329.55} + m_SizeDelta: {x: 500, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8523375773223422963 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7006679892908079683} + m_CullTransparentMesh: 1 +--- !u!114 &7308907727375861115 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7006679892908079683} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData: + m_Font: {fileID: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3} + m_FontSize: 45 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 4 + m_MaxSize: 45 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u4F60\u5DF2\u83B7\u5F97" +--- !u!1 &7234866528593231560 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5421261158389096151} + - component: {fileID: 3682249896046480784} + - component: {fileID: 5657980246700626223} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5421261158389096151 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7234866528593231560} + 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: 3570256195684234039} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3682249896046480784 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7234866528593231560} + m_CullTransparentMesh: 1 +--- !u!114 &5657980246700626223 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7234866528593231560} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7564681171698831408 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3101227708130590336} + m_Layer: 5 + m_Name: Sliding Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3101227708130590336 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7564681171698831408} + 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: 181488986909930859} + m_Father: {fileID: 1672241082933476089} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &9148149748463285224 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1672241082933476089} + - component: {fileID: 8588795156627840589} + - component: {fileID: 3968461821043129513} + - component: {fileID: 6921668007247776155} + m_Layer: 5 + m_Name: Scrollbar Horizontal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1672241082933476089 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9148149748463285224} + 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: 3101227708130590336} + m_Father: {fileID: 3137976730971787751} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 20} + m_Pivot: {x: 0, y: 0} +--- !u!222 &8588795156627840589 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9148149748463285224} + m_CullTransparentMesh: 1 +--- !u!114 &3968461821043129513 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9148149748463285224} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &6921668007247776155 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9148149748463285224} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 3463500139798870594} + m_HandleRect: {fileID: 181488986909930859} + m_Direction: 0 + m_Value: 0 + m_Size: 1 + m_NumberOfSteps: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1001 &363408469818376272 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 4944905480159824482} + m_Modifications: + - target: {fileID: 913995668709144583, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Name + value: get_item_prefab (2) + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} +--- !u!224 &4111190371966688224 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + m_PrefabInstance: {fileID: 363408469818376272} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &3035535696831035270 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 4944905480159824482} + m_Modifications: + - target: {fileID: 913995668709144583, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Name + value: get_item_prefab (1) + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} +--- !u!224 &1596126316813462582 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + m_PrefabInstance: {fileID: 3035535696831035270} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &3901939475110660563 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 4944905480159824482} + m_Modifications: + - target: {fileID: 913995668709144583, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Name + value: get_item_prefab (4) + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} +--- !u!224 &729739858426958435 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + m_PrefabInstance: {fileID: 3901939475110660563} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &4404615220463721971 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 4944905480159824482} + m_Modifications: + - target: {fileID: 913995668709144583, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Name + value: get_item_prefab (5) + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} +--- !u!224 &82931743752242755 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + m_PrefabInstance: {fileID: 4404615220463721971} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &5075789315670294962 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 4944905480159824482} + m_Modifications: + - target: {fileID: 913995668709144583, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Name + value: get_item_prefab (3) + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} +--- !u!224 &8824280870990928386 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + m_PrefabInstance: {fileID: 5075789315670294962} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &5953462027062741985 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 4944905480159824482} + m_Modifications: + - target: {fileID: 913995668709144583, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Name + value: get_item_prefab + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} +--- !u!224 &7969126018116620369 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4325416963031440304, guid: acdf60e42009ece499bb3c9187c7a120, type: 3} + m_PrefabInstance: {fileID: 5953462027062741985} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/Resources/itemGet.prefab.meta b/Assets/Resources/itemGet.prefab.meta new file mode 100644 index 00000000..9acaf13e --- /dev/null +++ b/Assets/Resources/itemGet.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d8cad1f4047312243880d8f3e90872b7 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/playerdata/playerData_uniqueData.asset b/Assets/Resources/playerdata/playerData_uniqueData.asset index e0fdc014..a463fb92 100644 --- a/Assets/Resources/playerdata/playerData_uniqueData.asset +++ b/Assets/Resources/playerdata/playerData_uniqueData.asset @@ -1,4 +1,4 @@ -%YAML 1.1 +%YAML 1.1 %TAG !u! tag:unity3d.com,2011: --- !u!114 &11400000 MonoBehaviour: @@ -12,18 +12,19 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 27e379f45b1bb88449756219caee2f89, type: 3} m_Name: playerData_uniqueData m_EditorClassIdentifier: - player_currentEXP: 0 - player_coins: 9999999 - player_material: 0 - commonExpBottle78001: 0 - mediumExpBottle78002: 0 - superiorExpBottle78003: 0 - supremeExpBottle78004: 0 - extraordinaryExpBottle78005: 0 + player_currentEXP: 802 + player_coins: 999988 + player_material: 486 + player_currentLevel: 0 + commonExpBottle78001: 1 + mediumExpBottle78002: 2 + superiorExpBottle78003: 1 + supremeExpBottle78004: 1 + extraordinaryExpBottle78005: 3 celestialExpBottle78006: 0 - uRankingScore: 0 - dushMaterial78021: 0 - dushMaterial78022: 0 + uRankingScore: 0.6457693 + dushMaterial78021: 1 + dushMaterial78022: 1 dushMaterial78023: 0 dushMaterial78024: 0 firstLaunchDate: 2026-03-16 diff --git a/Assets/Resources/so/storeSO/medicines/78001_normalXPb.asset b/Assets/Resources/so/storeSO/medicines/78001_normalXPb.asset index 265e302d..fd1e4a9c 100644 --- a/Assets/Resources/so/storeSO/medicines/78001_normalXPb.asset +++ b/Assets/Resources/so/storeSO/medicines/78001_normalXPb.asset @@ -39,4 +39,4 @@ MonoBehaviour: - currencyType: 0 amount: 3 unlockRequirements: [] - purchasedCount: 1453 + purchasedCount: 1454 diff --git a/Assets/Resources/so/storeSO/medicines/78002_mediumXPb.asset b/Assets/Resources/so/storeSO/medicines/78002_mediumXPb.asset index 07ac7b00..15c67d2a 100644 --- a/Assets/Resources/so/storeSO/medicines/78002_mediumXPb.asset +++ b/Assets/Resources/so/storeSO/medicines/78002_mediumXPb.asset @@ -39,4 +39,4 @@ MonoBehaviour: - currencyType: 0 amount: 4 unlockRequirements: [] - purchasedCount: 2316 + purchasedCount: 2318 diff --git a/Assets/Resources/so/storeSO/medicines/78003_superiorXPb.asset b/Assets/Resources/so/storeSO/medicines/78003_superiorXPb.asset index 5266b158..3c4865a1 100644 --- a/Assets/Resources/so/storeSO/medicines/78003_superiorXPb.asset +++ b/Assets/Resources/so/storeSO/medicines/78003_superiorXPb.asset @@ -39,4 +39,4 @@ MonoBehaviour: - currencyType: 0 amount: 5 unlockRequirements: [] - purchasedCount: 400 + purchasedCount: 401 diff --git a/Assets/Resources/so/storeSO/medicines/78004_supremeXPb.asset b/Assets/Resources/so/storeSO/medicines/78004_supremeXPb.asset index bc84f146..80e5d0d8 100644 --- a/Assets/Resources/so/storeSO/medicines/78004_supremeXPb.asset +++ b/Assets/Resources/so/storeSO/medicines/78004_supremeXPb.asset @@ -39,4 +39,4 @@ MonoBehaviour: - currencyType: 0 amount: 6 unlockRequirements: [] - purchasedCount: 402 + purchasedCount: 403 diff --git a/Assets/Resources/so/storeSO/medicines/78005_extraordinaryXPb.asset b/Assets/Resources/so/storeSO/medicines/78005_extraordinaryXPb.asset index 3293e612..c40c38fc 100644 --- a/Assets/Resources/so/storeSO/medicines/78005_extraordinaryXPb.asset +++ b/Assets/Resources/so/storeSO/medicines/78005_extraordinaryXPb.asset @@ -39,4 +39,4 @@ MonoBehaviour: - currencyType: 0 amount: 7 unlockRequirements: [] - purchasedCount: 300 + purchasedCount: 303 diff --git a/Assets/Resources/so/storeSO/medicines/78021_dush_normal.asset b/Assets/Resources/so/storeSO/medicines/78021_dush_normal.asset index 29dc9cf8..842cf13c 100644 --- a/Assets/Resources/so/storeSO/medicines/78021_dush_normal.asset +++ b/Assets/Resources/so/storeSO/medicines/78021_dush_normal.asset @@ -39,4 +39,4 @@ MonoBehaviour: - currencyType: 0 amount: 1 unlockRequirements: [] - purchasedCount: 1308 + purchasedCount: 1309 diff --git a/Assets/Resources/so/storeSO/medicines/78022_dush_medium.asset b/Assets/Resources/so/storeSO/medicines/78022_dush_medium.asset index f60d68bc..56d0e2b1 100644 --- a/Assets/Resources/so/storeSO/medicines/78022_dush_medium.asset +++ b/Assets/Resources/so/storeSO/medicines/78022_dush_medium.asset @@ -39,4 +39,4 @@ MonoBehaviour: - currencyType: 0 amount: 2 unlockRequirements: [] - purchasedCount: 1300 + purchasedCount: 1301 diff --git a/Assets/Resources/so/storeSO/medicines/78131_eqp_final_material.asset b/Assets/Resources/so/storeSO/medicines/78131_eqp_final_material.asset index 115b632d..46f17adf 100644 --- a/Assets/Resources/so/storeSO/medicines/78131_eqp_final_material.asset +++ b/Assets/Resources/so/storeSO/medicines/78131_eqp_final_material.asset @@ -39,4 +39,4 @@ MonoBehaviour: - currencyType: 0 amount: 1 unlockRequirements: [] - purchasedCount: 2 + purchasedCount: 3 diff --git a/Assets/Resources/so/storeSO/medicines/78141_random_memory_shop.asset b/Assets/Resources/so/storeSO/medicines/78141_random_memory_shop.asset index 443a41cf..a3868af5 100644 --- a/Assets/Resources/so/storeSO/medicines/78141_random_memory_shop.asset +++ b/Assets/Resources/so/storeSO/medicines/78141_random_memory_shop.asset @@ -39,4 +39,4 @@ MonoBehaviour: - currencyType: 1 amount: 40 unlockRequirements: [] - purchasedCount: 0 + purchasedCount: 1 diff --git a/Assets/Resources/so/storeSO/medicines/78142_selfchosen_memory_shop.asset b/Assets/Resources/so/storeSO/medicines/78142_selfchosen_memory_shop.asset index 12bfd6a3..b694f09f 100644 --- a/Assets/Resources/so/storeSO/medicines/78142_selfchosen_memory_shop.asset +++ b/Assets/Resources/so/storeSO/medicines/78142_selfchosen_memory_shop.asset @@ -39,4 +39,4 @@ MonoBehaviour: - currencyType: 1 amount: 60 unlockRequirements: [] - purchasedCount: 0 + purchasedCount: 1 diff --git a/Assets/Resources/so/storeSO/medicines/78144_treasure_memory_shop.asset b/Assets/Resources/so/storeSO/medicines/78144_treasure_memory_shop.asset index 1f776277..83285831 100644 --- a/Assets/Resources/so/storeSO/medicines/78144_treasure_memory_shop.asset +++ b/Assets/Resources/so/storeSO/medicines/78144_treasure_memory_shop.asset @@ -23,7 +23,7 @@ MonoBehaviour: isOnShelf: 1 canbepurchased: 1 isHot: 0 - user_has_read: 0 + user_has_read: 1 itemType: 3 associatedAllyHero: {fileID: 0} associatedSong: {fileID: 0} diff --git a/Assets/Resources/so/storeSO/medicines/78145_supreme_memory_shop.asset b/Assets/Resources/so/storeSO/medicines/78145_supreme_memory_shop.asset index e100a777..e381aacd 100644 --- a/Assets/Resources/so/storeSO/medicines/78145_supreme_memory_shop.asset +++ b/Assets/Resources/so/storeSO/medicines/78145_supreme_memory_shop.asset @@ -39,4 +39,4 @@ MonoBehaviour: - currencyType: 1 amount: 1000 unlockRequirements: [] - purchasedCount: 0 + purchasedCount: 1 diff --git a/Assets/Resources/so/uEquip/type0_20260325_00000005.asset b/Assets/Resources/so/uEquip/type0_20260325_00000005.asset index 6f975700..289fb403 100644 --- a/Assets/Resources/so/uEquip/type0_20260325_00000005.asset +++ b/Assets/Resources/so/uEquip/type0_20260325_00000005.asset @@ -16,42 +16,78 @@ MonoBehaviour: level: 20 tierNameConfig: {fileID: 11400000, guid: dd40d174875037e439647e54cf81eab1, type: 2} maxHp: - basicGain: 0.086 - cultivationInterval: 0.005 + basicGain: 0.1 + cultivationInterval: 0.045 attack: - basicGain: 0 - cultivationInterval: 0.005 + basicGain: 0.1 + cultivationInterval: 0.045 maxMana: - basicGain: 0 - cultivationInterval: 0.005 + basicGain: 0.1 + cultivationInterval: 0.045 damageResistance: - basicGain: 0 - cultivationInterval: 0.005 + basicGain: 0.1 + cultivationInterval: 0.045 scoreEfficiency: - basicGain: 0.082 - cultivationInterval: 0.005 + basicGain: 0.1 + cultivationInterval: 0.045 specialEffects: - - effectType: 4 - value: 0.03 + - effectType: 0 + value: 999999 + - effectType: 1 + value: 999999 + - effectType: 2 + value: 999999 - effectType: 3 - value: 0.02 + value: 0.9 + - effectType: 4 + value: 0.9 + - effectType: 5 + value: 999999 + - effectType: 6 + value: 999999 + - effectType: 7 + value: -9 - effectType: 8 - value: 0 + value: -9 enableTypeSameEffects: 0 typeSameEffects: - effectType: 0 - value: 0.05 + value: 1 - effectType: 4 - value: 0.05 + value: 1 + - effectType: 2 + value: 1 + - effectType: 3 + value: 1 + - effectType: 4 + value: 1 + - effectType: 5 + value: 1 + - effectType: 6 + value: 1 illusionEffects: - effectType: 0 - value: 60 - - effectType: 3 - value: 0.03 - - effectType: 4 - value: 0.05 + value: 999999 + - effectType: 1 + value: 999999 + - effectType: 2 + value: 999999 maxLevelEffects: - effectType: 0 - value: 0.01 + value: 999999 + - effectType: 1 + value: 999999 + - effectType: 2 + value: 999999 + - effectType: 3 + value: 0.9 + - effectType: 4 + value: 0.9 + - effectType: 5 + value: 999999 + - effectType: 6 + value: 999999 + - effectType: 7 + value: -999999 sa_skillID: 30011005 ia_skillID: 30011006 diff --git a/Assets/Scenes/Songs_Select.unity b/Assets/Scenes/Songs_Select.unity index 17eeedb4..a58452ea 100644 --- a/Assets/Scenes/Songs_Select.unity +++ b/Assets/Scenes/Songs_Select.unity @@ -1451,7 +1451,7 @@ GameObject: m_Component: - component: {fileID: 159785774} - component: {fileID: 159785776} - - component: {fileID: 159785775} + - component: {fileID: 159785777} m_Layer: 5 m_Name: selected_song m_TagString: Untagged @@ -1475,10 +1475,18 @@ 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: 842, y: 266.1} + m_AnchoredPosition: {x: 848.8, y: 266.1} m_SizeDelta: {x: 200, y: 50} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &159785775 +--- !u!222 &159785776 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 159785773} + m_CullTransparentMesh: 1 +--- !u!114 &159785777 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1487,7 +1495,7 @@ MonoBehaviour: m_GameObject: {fileID: 159785773} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} @@ -1498,85 +1506,20 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: SELECTED SONG - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: c95ab61f13e39254e8e3cbf4059d88c5, type: 2} - m_sharedMaterial: {fileID: 4492750392876140565, guid: c95ab61f13e39254e8e3cbf4059d88c5, 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: 1 - m_HorizontalAlignment: 4 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_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: -304.58203, 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 &159785776 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 159785773} - m_CullTransparentMesh: 1 + m_FontData: + m_Font: {fileID: 12800000, guid: 8b8373b0af11dca46b89be60dbe469f8, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: S E L E C T E D S O N G --- !u!1 &167571322 GameObject: m_ObjectHideFlags: 0 @@ -20112,7 +20055,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: 800.98553, y: 297.84952} + m_AnchoredPosition: {x: 795.1, y: 297.84952} m_SizeDelta: {x: 318.019, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &2004358155 diff --git a/Assets/Scenes/UI_UI.unity b/Assets/Scenes/UI_UI.unity index 4670bf59..ef0b56b1 100644 --- a/Assets/Scenes/UI_UI.unity +++ b/Assets/Scenes/UI_UI.unity @@ -6441,7 +6441,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7355357088389577960, guid: 4c26aec0fc471c24d94487eff6821e14, type: 3} propertyPath: m_AnchoredPosition.x - value: 40.03528 + value: 40.035156 objectReference: {fileID: 0} - target: {fileID: 7404914856930740157, guid: 4c26aec0fc471c24d94487eff6821e14, type: 3} propertyPath: m_AnchoredPosition.y @@ -8993,6 +8993,7 @@ RectTransform: - {fileID: 1789653745} - {fileID: 1954473754} - {fileID: 2059429124} + - {fileID: 856610521} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -17676,6 +17677,11 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 854772672} m_CullTransparentMesh: 1 +--- !u!224 &856610521 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + m_PrefabInstance: {fileID: 4452461095071461728} + m_PrefabAsset: {fileID: 0} --- !u!1 &860779071 GameObject: m_ObjectHideFlags: 0 @@ -43959,7 +43965,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: -14.000122, y: -14.205078} + m_AnchoredPosition: {x: -14, y: -14.205078} m_SizeDelta: {x: 0, y: -28.410086} m_Pivot: {x: 0, y: 0.5} --- !u!114 &2057743523 @@ -50202,6 +50208,311 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: d94caf56bd6dff64fa606eeeb6e06fa9, type: 3} +--- !u!1001 &4452461095071461728 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 496948792} + m_Modifications: + - target: {fileID: 82931743752242755, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 82931743752242755, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 82931743752242755, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.x + value: 130 + objectReference: {fileID: 0} + - target: {fileID: 82931743752242755, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.y + value: 130 + objectReference: {fileID: 0} + - target: {fileID: 82931743752242755, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchoredPosition.x + value: 229.8331 + objectReference: {fileID: 0} + - target: {fileID: 82931743752242755, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchoredPosition.y + value: -75 + objectReference: {fileID: 0} + - target: {fileID: 181488986909930859, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 181488986909930859, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 729739858426958435, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 729739858426958435, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 729739858426958435, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.x + value: 130 + objectReference: {fileID: 0} + - target: {fileID: 729739858426958435, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.y + value: 130 + objectReference: {fileID: 0} + - target: {fileID: 729739858426958435, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchoredPosition.x + value: 664.8331 + objectReference: {fileID: 0} + - target: {fileID: 729739858426958435, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchoredPosition.y + value: -75 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1055949575368817678, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1596126316813462582, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1596126316813462582, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1596126316813462582, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.x + value: 130 + objectReference: {fileID: 0} + - target: {fileID: 1596126316813462582, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.y + value: 130 + objectReference: {fileID: 0} + - target: {fileID: 1596126316813462582, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchoredPosition.x + value: 84.8331 + objectReference: {fileID: 0} + - target: {fileID: 1596126316813462582, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchoredPosition.y + value: -75 + objectReference: {fileID: 0} + - target: {fileID: 1672241082933476089, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1672241082933476089, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.x + value: -5.3338003 + objectReference: {fileID: 0} + - target: {fileID: 1826500657710465024, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1826500657710465024, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1826500657710465024, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.x + value: -5.3338003 + objectReference: {fileID: 0} + - target: {fileID: 1826500657710465024, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3080657817978365638, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3080657817978365638, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3297367270179489037, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_Name + value: itemGet + objectReference: {fileID: 0} + - target: {fileID: 3297367270179489037, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4111190371966688224, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4111190371966688224, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4111190371966688224, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.x + value: 130 + objectReference: {fileID: 0} + - target: {fileID: 4111190371966688224, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.y + value: 130 + objectReference: {fileID: 0} + - target: {fileID: 4111190371966688224, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchoredPosition.x + value: 374.8331 + objectReference: {fileID: 0} + - target: {fileID: 4111190371966688224, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchoredPosition.y + value: -75 + objectReference: {fileID: 0} + - target: {fileID: 4944905480159824482, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5421261158389096151, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5421261158389096151, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5421261158389096151, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMin.y + value: 0.6 + objectReference: {fileID: 0} + - target: {fileID: 7969126018116620369, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7969126018116620369, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7969126018116620369, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.x + value: 130 + objectReference: {fileID: 0} + - target: {fileID: 7969126018116620369, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.y + value: 130 + objectReference: {fileID: 0} + - target: {fileID: 7969126018116620369, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchoredPosition.x + value: 809.8331 + objectReference: {fileID: 0} + - target: {fileID: 7969126018116620369, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchoredPosition.y + value: -75 + objectReference: {fileID: 0} + - target: {fileID: 8824280870990928386, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8824280870990928386, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8824280870990928386, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.x + value: 130 + objectReference: {fileID: 0} + - target: {fileID: 8824280870990928386, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_SizeDelta.y + value: 130 + objectReference: {fileID: 0} + - target: {fileID: 8824280870990928386, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchoredPosition.x + value: 519.8331 + objectReference: {fileID: 0} + - target: {fileID: 8824280870990928386, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_AnchoredPosition.y + value: -75 + objectReference: {fileID: 0} + - target: {fileID: 9148149748463285224, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: d8cad1f4047312243880d8f3e90872b7, type: 3} --- !u!4 &4555079430303663727 Transform: m_ObjectHideFlags: 0 @@ -53158,39 +53469,39 @@ PrefabInstance: m_Modifications: - target: {fileID: 156882612442970315, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 156882612442970315, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 156882612442970315, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.x - value: 205 + value: 0 objectReference: {fileID: 0} - target: {fileID: 156882612442970315, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.y - value: 55 + value: 0 objectReference: {fileID: 0} - target: {fileID: 156882612442970315, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchoredPosition.x - value: 312.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 156882612442970315, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchoredPosition.y - value: -32.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 157135823967813188, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.x - value: 0.2 + value: 0 objectReference: {fileID: 0} - target: {fileID: 157135823967813188, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 157135823967813188, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMin.x - value: 0.2 + value: 0 objectReference: {fileID: 0} - target: {fileID: 531891762775670779, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.x @@ -53202,60 +53513,120 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 689578755320625068, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.y - value: 30 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1153847484014746243, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1153847484014746243, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1153847484014746243, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchoredPosition.x - value: 351.855 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1153847484014746243, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchoredPosition.y - value: -15 + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1347022823836729467, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1347022823836729467, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1347022823836729467, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1347022823836729467, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 objectReference: {fileID: 0} - target: {fileID: 1387473703775913452, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1387473703775913452, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1387473703775913452, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.x - value: 205 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1387473703775913452, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.y - value: 55 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1387473703775913452, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchoredPosition.x - value: 107.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1387473703775913452, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchoredPosition.y - value: -142.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1643098524013219997, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.x - value: 0.2 + value: 0 objectReference: {fileID: 0} - target: {fileID: 1643098524013219997, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1835220823595840135, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2034682090639879132, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2674808321077856623, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2674808321077856623, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2674808321077856623, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2674808321077856623, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 objectReference: {fileID: 0} - target: {fileID: 2811931616023061721, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 2872780746638323053, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2872780746638323053, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2921030353387055411, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2921030353387055411, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2921030353387055411, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3033406375213441124, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_Pivot.x value: 0.5 @@ -53336,6 +53707,70 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 3219775947742724870, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3219775947742724870, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3219775947742724870, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3219775947742724870, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3536537773565864944, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3536537773565864944, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3536537773565864944, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3536537773565864944, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3590891195598464121, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3590891195598464121, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3590891195598464121, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3590891195598464121, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4024984849675195436, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4024984849675195436, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4024984849675195436, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4024984849675195436, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4092355085524374550, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.x value: 0 @@ -53354,7 +53789,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4147359555220220930, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.x - value: -323.747 + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4214572622581633858, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4214572622581633858, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 objectReference: {fileID: 0} - target: {fileID: 4564721723419403790, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.y @@ -53364,17 +53807,61 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: -4.107 objectReference: {fileID: 0} + - target: {fileID: 4594329760191535907, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594329760191535907, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594329760191535907, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4594329760191535907, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4865054498376321125, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4865054498376321125, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4865054498376321125, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4865054498376321125, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4956550772542867695, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.x - value: 0.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4956550772542867695, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 4956550772542867695, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMin.x - value: 0.5 + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5039868922226137102, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5039868922226137102, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5039868922226137102, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.x + value: 0 objectReference: {fileID: 0} - target: {fileID: 5155954718781159675, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_Name @@ -53382,67 +53869,115 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5155954718781159675, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_IsActive - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5555168989658004631, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.x - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5555168989658004631, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5555168989658004631, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.y - value: -4.107 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5601499556584184233, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5601499556584184233, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5601499556584184233, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.x - value: 205 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5601499556584184233, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.y - value: 55 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5601499556584184233, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchoredPosition.x - value: 107.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 5601499556584184233, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchoredPosition.y - value: -87.5 + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5752085606370037636, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5752085606370037636, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5752085606370037636, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5752085606370037636, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 objectReference: {fileID: 0} - target: {fileID: 6089060919291086644, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6089060919291086644, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6089060919291086644, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.x - value: 205 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6089060919291086644, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.y - value: 55 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6089060919291086644, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchoredPosition.x - value: 312.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 6089060919291086644, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchoredPosition.y - value: -142.5 + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6411648460242401406, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6411648460242401406, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6411648460242401406, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6411648460242401406, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6863755756414146199, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6863755756414146199, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6863755756414146199, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6863755756414146199, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 objectReference: {fileID: 0} - target: {fileID: 7527663711127080928, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.y @@ -53452,29 +53987,61 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 7616367069952889789, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7616367069952889789, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7616367069952889789, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7616367069952889789, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 7729840789978718274, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7729840789978718274, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7729840789978718274, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.x - value: 205 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7729840789978718274, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.y - value: 55 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7729840789978718274, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchoredPosition.x - value: 107.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7729840789978718274, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchoredPosition.y - value: -32.5 + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7734175328877407531, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7734175328877407531, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7734175328877407531, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7734175328877407531, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 objectReference: {fileID: 0} - target: {fileID: 7793934998563548936, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.x @@ -53486,35 +54053,83 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7800923257200747963, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7800923257200747963, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMin.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7800923257200747963, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.x - value: 205 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7800923257200747963, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.y - value: 55 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7800923257200747963, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchoredPosition.x - value: 312.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7800923257200747963, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchoredPosition.y - value: -87.5 + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7855297809422646246, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7855297809422646246, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7855297809422646246, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7855297809422646246, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7962970098340026786, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7962970098340026786, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7962970098340026786, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7962970098340026786, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8307356329505039735, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8307356329505039735, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8307356329505039735, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8307356329505039735, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 objectReference: {fileID: 0} - target: {fileID: 8338767195980337933, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.x - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8338767195980337933, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8352834592111450213, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.x @@ -53524,17 +54139,37 @@ PrefabInstance: propertyPath: m_AnchorMax.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 8391186048360976457, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8391186048360976457, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8391186048360976457, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8391186048360976457, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 8501325019593175148, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_SizeDelta.x - value: 400 + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9022595105004172016, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} + propertyPath: m_IsActive + value: 1 objectReference: {fileID: 0} - target: {fileID: 9139003811205042356, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.x - value: 0.5 + value: 0 objectReference: {fileID: 0} - target: {fileID: 9139003811205042356, guid: 18f4d2367ef2dff429599f1580fd6bad, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] diff --git a/Assets/Scenes/gamePlay_gamePlay.unity b/Assets/Scenes/gamePlay_gamePlay.unity index 751428cc..df3906d8 100644 --- a/Assets/Scenes/gamePlay_gamePlay.unity +++ b/Assets/Scenes/gamePlay_gamePlay.unity @@ -153,9 +153,9 @@ RectTransform: - {fileID: 392380760} m_Father: {fileID: 425295052} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 50, y: -18.034874} m_SizeDelta: {x: 100, y: 10} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &2178223 @@ -1124,7 +1124,7 @@ Transform: m_GameObject: {fileID: 37978153} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 1125.844, y: 606.4, z: 0} + m_LocalPosition: {x: 1133.54, y: 606.4, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: @@ -2682,9 +2682,9 @@ RectTransform: - {fileID: 1579840624} m_Father: {fileID: 1181698751} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 307.76, y: -60.5} m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &140317858 @@ -3276,7 +3276,8 @@ Transform: m_LocalPosition: {x: 6.132826, y: 34.39155, z: -0.72078687} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 2011564771} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &154923898 @@ -4070,7 +4071,7 @@ RectTransform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 182107133} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0.050642088} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -4078,8 +4079,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: 1033.3794, y: 540.8854} - m_SizeDelta: {x: 351, y: 705} + m_AnchoredPosition: {x: 1027.4, y: 557.0127} + m_SizeDelta: {x: 323.634, y: 650.035} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &182107135 MonoBehaviour: @@ -10072,9 +10073,9 @@ RectTransform: - {fileID: 1328532447} m_Father: {fileID: 590261241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 81, y: -50} m_SizeDelta: {x: 162, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &228531561 @@ -10524,9 +10525,9 @@ RectTransform: - {fileID: 807575964} m_Father: {fileID: 590261241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 606, y: -50} m_SizeDelta: {x: 162, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &247015384 @@ -12176,7 +12177,7 @@ RectTransform: m_Father: {fileID: 1374351887} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} @@ -12587,9 +12588,9 @@ RectTransform: m_Children: [] m_Father: {fileID: 1121766410} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 43, y: -50} m_SizeDelta: {x: 10, y: 12} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &315535051 @@ -12707,7 +12708,7 @@ SpriteRenderer: m_SortingLayer: 0 m_SortingOrder: -998 m_Sprite: {fileID: 21300000, guid: 73b3dfa9754af06409b9d0666cbd824f, type: 3} - m_Color: {r: 0.8050314, g: 0.8050314, b: 0.8050314, a: 0.8117647} + m_Color: {r: 0.8050314, g: 0.8050314, b: 0.8050314, a: 0.39215687} m_FlipX: 0 m_FlipY: 0 m_DrawMode: 0 @@ -12938,7 +12939,7 @@ MonoBehaviour: sortingLayerName: Particles sortingOrder: -667 renderQueueOffset: 0 - baseEmitRate: 15 + baseEmitRate: 1000 emitBatchSize: 2 chaosRandomDelay: 0.05 spawnOffsetX: 0.5 @@ -12949,7 +12950,7 @@ MonoBehaviour: particleParent: {fileID: 885394780} musicSource: {fileID: 845021791} beatmapManager: {fileID: 1261342020} - useAudioAnalysis: 1 + useAudioAnalysis: 0 audioSensitivity: 0.5 audioEmitBoost: 50 --- !u!1 &322497709 @@ -14106,9 +14107,9 @@ RectTransform: - {fileID: 55210105} m_Father: {fileID: 1181698751} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 50, y: -60.5} m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &354769595 @@ -14721,6 +14722,7 @@ MonoBehaviour: objectFather_enemy: {fileID: 1128572621} isEnemy_active: 1 currentEnemy_characterImage: {fileID: 1594358584} + allEnemiesDefeatedSprite: {fileID: 21300000, guid: 483a8d87b3322524ead7834c010b24e9, type: 3} currentEnemy_healthImage: {fileID: 1722839482} currentEnemy_fadehealthImage: {fileID: 1166013842} currentEnemy_manaImage: {fileID: 473627601} @@ -14733,6 +14735,8 @@ MonoBehaviour: totalEnemy_healthRate: {fileID: 1280009491} currentEnemy_manaRate: {fileID: 97094229} currentEnemy_current_scoreText: {fileID: 0} + currentEnemy_bountyObject: {fileID: 1786286394} + currentEnemy_bountyText: {fileID: 1241953576} enemy_id: 0 currentEnemy_hurtRedImage: {fileID: 182107135} enemyList_rateText: {fileID: 343032544} @@ -16405,9 +16409,9 @@ RectTransform: - {fileID: 81893893} m_Father: {fileID: 1181698751} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 178.88, y: -60.5} m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &405968940 @@ -28817,13 +28821,13 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 754533168} serializedVersion: 2 - m_LocalRotation: {x: -0.34218413, y: 0, z: 0, w: 0.93963295} + m_LocalRotation: {x: -0.3420201, y: 0, z: 0, w: 0.9396927} m_LocalPosition: {x: 0, y: -6.77, z: -8} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: -40.02, y: 0, z: 0} + m_LocalEulerAnglesHint: {x: -40, y: 0, z: 0} --- !u!114 &754533172 MonoBehaviour: m_ObjectHideFlags: 0 @@ -28841,14 +28845,14 @@ MonoBehaviour: m_RequiresOpaqueTextureOption: 2 m_CameraType: 0 m_Cameras: [] - m_RendererIndex: -1 + m_RendererIndex: 0 m_VolumeLayerMask: serializedVersion: 2 m_Bits: 1 m_VolumeTrigger: {fileID: 0} m_VolumeFrameworkUpdateModeOption: 0 m_RenderPostProcessing: 1 - m_Antialiasing: 0 + m_Antialiasing: 1 m_AntialiasingQuality: 2 m_StopNaN: 0 m_Dithering: 0 @@ -32261,7 +32265,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &874962972 Transform: m_ObjectHideFlags: 0 @@ -34467,9 +34471,9 @@ RectTransform: m_Father: {fileID: 725274684} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 20} + m_SizeDelta: {x: -4.44, y: 20} m_Pivot: {x: 0, y: 0} --- !u!114 &985131518 MonoBehaviour: @@ -34694,9 +34698,9 @@ RectTransform: - {fileID: 841673123} m_Father: {fileID: 590261241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 256, y: -50} m_SizeDelta: {x: 162, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &999995736 @@ -35816,6 +35820,108 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1037184902} m_CullTransparentMesh: 1 +--- !u!1 &1038854467 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1038854468} + - component: {fileID: 1038854471} + - component: {fileID: 1038854470} + - component: {fileID: 1038854469} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1038854468 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038854467} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1091682804} + m_Father: {fileID: 2011564771} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!114 &1038854469 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038854467} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1038854470 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038854467} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!223 &1038854471 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1038854467} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 1 + m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 --- !u!1 &1040113990 GameObject: m_ObjectHideFlags: 0 @@ -37610,6 +37716,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1090666513} m_CullTransparentMesh: 1 +--- !u!1 &1091682803 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1091682804} + - component: {fileID: 1091682806} + - component: {fileID: 1091682805} + m_Layer: 5 + m_Name: white + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1091682804 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1091682803} + 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: 1038854468} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 1920, y: 1080} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1091682805 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1091682803} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + 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 &1091682806 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1091682803} + m_CullTransparentMesh: 1 --- !u!1 &1095155640 GameObject: m_ObjectHideFlags: 0 @@ -38821,6 +39002,7 @@ Transform: - {fileID: 37978155} - {fileID: 596648381} - {fileID: 1366129911} + - {fileID: 1786286395} m_Father: {fileID: 595209177} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1130297186 @@ -39225,9 +39407,9 @@ RectTransform: - {fileID: 208898303} m_Father: {fileID: 425295052} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 50, y: -5} m_SizeDelta: {x: 100, y: 10} m_Pivot: {x: 0.5, y: 0.5} --- !u!4 &1154758974 stripped @@ -41347,6 +41529,85 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &1241953574 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1241953575} + - component: {fileID: 1241953577} + - component: {fileID: 1241953576} + m_Layer: 5 + m_Name: num + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1241953575 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1241953574} + 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: 1786286395} + 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: 1008.39496, y: 769.29} + m_SizeDelta: {x: 242.99, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1241953576 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1241953574} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.20784315, g: 0.8235295, b: 0.9803922, 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_FontData: + m_Font: {fileID: 12800000, guid: 8b8373b0af11dca46b89be60dbe469f8, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 2147483647 +--- !u!222 &1241953577 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1241953574} + m_CullTransparentMesh: 1 --- !u!1 &1247751243 GameObject: m_ObjectHideFlags: 0 @@ -43258,6 +43519,85 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1304513973} m_CullTransparentMesh: 1 +--- !u!1 &1311317795 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1311317796} + - component: {fileID: 1311317798} + - component: {fileID: 1311317797} + m_Layer: 5 + m_Name: title + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1311317796 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1311317795} + 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: 1786286395} + 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: 801.3, y: 769.29} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1311317797 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1311317795} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.20784315, g: 0.8235295, b: 0.9803922, 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_FontData: + m_Font: {fileID: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 5 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u60AC\u8D4F" +--- !u!222 &1311317798 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1311317795} + m_CullTransparentMesh: 1 --- !u!1 &1312836675 GameObject: m_ObjectHideFlags: 0 @@ -43301,7 +43641,7 @@ GameObject: m_Component: - component: {fileID: 1314881466} m_Layer: 7 - m_Name: groundParticularController + m_Name: groundParticular m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -46699,9 +47039,9 @@ RectTransform: - {fileID: 1740052537} m_Father: {fileID: 1181698751} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 436.64, y: -60.5} m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1454903926 @@ -48964,7 +49304,7 @@ MonoBehaviour: sortingLayerName: Particles sortingOrder: -667 renderQueueOffset: 0 - baseEmitRate: 15 + baseEmitRate: 1000 emitBatchSize: 2 chaosRandomDelay: 0.05 spawnOffsetX: 0.5 @@ -50133,7 +50473,7 @@ RectTransform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1594358582} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -0.050642088} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -50141,8 +50481,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: 1033.3794, y: 540.8854} - m_SizeDelta: {x: 322, y: 705} + m_AnchoredPosition: {x: 1027.4, y: 557.0127} + m_SizeDelta: {x: 296.896, y: 650.035} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1594358584 MonoBehaviour: @@ -50164,7 +50504,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: -1827779923014328232, guid: f8bc21467dc669541b93f8fd2f96d547, type: 3} + m_Sprite: {fileID: 21300000, guid: 483a8d87b3322524ead7834c010b24e9, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -50903,9 +51243,9 @@ RectTransform: m_Children: [] m_Father: {fileID: 1121766410} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 24, y: -50} m_SizeDelta: {x: 10, y: 12} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1628161349 @@ -51442,9 +51782,9 @@ RectTransform: m_Father: {fileID: 725274684} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_SizeDelta: {x: -4.44, y: 0} m_Pivot: {x: 0, y: 1} --- !u!114 &1658081545 MonoBehaviour: @@ -52518,9 +52858,9 @@ RectTransform: - {fileID: 1461351369} m_Father: {fileID: 590261241} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 431, y: -50} m_SizeDelta: {x: 162, y: 100} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1705000562 @@ -54221,9 +54561,9 @@ RectTransform: - {fileID: 578526358} m_Father: {fileID: 425295052} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 50, y: -31.069748} m_SizeDelta: {x: 100, y: 10} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1771996335 @@ -54451,6 +54791,39 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1775729903} m_CullTransparentMesh: 1 +--- !u!1 &1786286394 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1786286395} + m_Layer: 5 + m_Name: xuanshang + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1786286395 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1786286394} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1311317796} + - {fileID: 1241953575} + m_Father: {fileID: 1128572622} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1799628404 GameObject: m_ObjectHideFlags: 0 @@ -56799,9 +57172,9 @@ RectTransform: - {fileID: 616492490} m_Father: {fileID: 425295052} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 50, y: -44.10462} m_SizeDelta: {x: 100, y: 10} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1904135294 @@ -57522,7 +57895,7 @@ Canvas: m_AdditionalShaderChannelsFlag: 0 m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 - m_SortingOrder: 1233 + m_SortingOrder: -997 m_TargetDisplay: 0 --- !u!224 &1929342808 RectTransform: @@ -59308,6 +59681,109 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2010366510} m_CullTransparentMesh: 1 +--- !u!1 &2011564770 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2011564771} + - component: {fileID: 2011564772} + - component: {fileID: 2011564773} + m_Layer: 0 + m_Name: effectEvents + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2011564771 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2011564770} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1038854468} + m_Father: {fileID: 150341768} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2011564772 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2011564770} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f65edb710af433c479467d8c932e5d59, type: 3} + m_Name: + m_EditorClassIdentifier: + enableMultiNoteScreenShake: 1 + multiNoteScreenShakeAmplitude: 0.04 + enableCameraDrift: 1 + cameraDriftRange: {x: 0.5, y: 0.4} + cameraDriftSpeed: 0.5 + playerSkillCameraOffsetAmount: -0.75 + playerSkillCameraOffsetAxis: 2 +--- !u!114 &2011564773 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2011564770} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7aad6dbb8ac9a574b832837614506af8, type: 3} + m_Name: + m_EditorClassIdentifier: + cameraShakeAmplitude: 0.12 + flashBlinkImage: {fileID: 1091682805} + flashBlinkFadeDuration: 0.2 + targetCameraZPosition: 1 + cameraDashCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 2 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + cameraDashDuration: 0.075 + cameraWaveEnterDuration: 0.05 + cameraWaveRecoverDuration: 0.05 + cameraGlitchEnterDuration: 0.05 + cameraGlitchRecoverDuration: 0.05 + cameraMonochromeEnterDuration: 0.1 + cameraMonochromeRecoverDuration: 0.14 + screenshotScaleStartOpacity: 0.5 + screenshotScaleFadeDuration: 0.22 + screenshotScaleEndScale: 1.5 --- !u!1 &2015034641 GameObject: m_ObjectHideFlags: 0 @@ -59782,9 +60258,9 @@ RectTransform: m_Children: [] m_Father: {fileID: 1121766410} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 5, y: -50} m_SizeDelta: {x: 10, y: 12} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &2043797911 @@ -67699,115 +68175,115 @@ PrefabInstance: m_Modifications: - target: {fileID: 122756198372604741, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 122756198372604741, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 122756198372604741, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 50 objectReference: {fileID: 0} - target: {fileID: 122756198372604741, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -108.729996 objectReference: {fileID: 0} - target: {fileID: 187557561287668015, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 187557561287668015, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 187557561287668015, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 85 objectReference: {fileID: 0} - target: {fileID: 187557561287668015, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -50 objectReference: {fileID: 0} - target: {fileID: 412937744056933375, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 412937744056933375, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 412937744056933375, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 17.5 objectReference: {fileID: 0} - target: {fileID: 412937744056933375, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -50 objectReference: {fileID: 0} - target: {fileID: 678618177608988214, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 678618177608988214, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 678618177608988214, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 17.5 objectReference: {fileID: 0} - target: {fileID: 678618177608988214, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -50 objectReference: {fileID: 0} - target: {fileID: 796738331562133123, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 796738331562133123, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 796738331562133123, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 100 objectReference: {fileID: 0} - target: {fileID: 796738331562133123, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -53.66 objectReference: {fileID: 0} - target: {fileID: 1813990329505698292, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1813990329505698292, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 1813990329505698292, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 50 objectReference: {fileID: 0} - target: {fileID: 1813990329505698292, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -25 objectReference: {fileID: 0} - target: {fileID: 2418429837761252522, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2418429837761252522, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2418429837761252522, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 100 objectReference: {fileID: 0} - target: {fileID: 2418429837761252522, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -25 objectReference: {fileID: 0} - target: {fileID: 2613971938742376913, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_Pivot.x @@ -67823,7 +68299,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2613971938742376913, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2613971938742376913, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.x @@ -67831,7 +68307,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2613971938742376913, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2613971938742376913, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_SizeDelta.x @@ -67871,11 +68347,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2613971938742376913, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 50 objectReference: {fileID: 0} - target: {fileID: 2613971938742376913, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -50 objectReference: {fileID: 0} - target: {fileID: 2613971938742376913, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -67907,19 +68383,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 2770405465405990285, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2770405465405990285, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2770405465405990285, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 12.5 objectReference: {fileID: 0} - target: {fileID: 2770405465405990285, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -50 objectReference: {fileID: 0} - target: {fileID: 4148755058004053777, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y @@ -67927,35 +68403,35 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4704552103312105881, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4704552103312105881, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4704552103312105881, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 17.5 objectReference: {fileID: 0} - target: {fileID: 4704552103312105881, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -50 objectReference: {fileID: 0} - target: {fileID: 4821968732813134168, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4821968732813134168, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 4821968732813134168, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 17.5 objectReference: {fileID: 0} - target: {fileID: 4821968732813134168, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -50 objectReference: {fileID: 0} - target: {fileID: 4929852368789569139, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y @@ -67975,67 +68451,67 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 5213525157689929386, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5213525157689929386, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5213525157689929386, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 50 objectReference: {fileID: 0} - target: {fileID: 5213525157689929386, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -80.82 objectReference: {fileID: 0} - target: {fileID: 5278958300364593933, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5278958300364593933, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 5278958300364593933, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 50 objectReference: {fileID: 0} - target: {fileID: 5278958300364593933, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -52.91 objectReference: {fileID: 0} - target: {fileID: 6349925019039213472, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 6349925019039213472, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 6349925019039213472, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 85 objectReference: {fileID: 0} - target: {fileID: 6349925019039213472, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -50 objectReference: {fileID: 0} - target: {fileID: 6354168271256631497, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 6354168271256631497, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 6354168271256631497, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 85 objectReference: {fileID: 0} - target: {fileID: 6354168271256631497, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -50 objectReference: {fileID: 0} - target: {fileID: 6494845825576441926, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_LocalPosition.z @@ -68059,19 +68535,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6964822682335917845, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 6964822682335917845, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 6964822682335917845, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 84.55 objectReference: {fileID: 0} - target: {fileID: 6964822682335917845, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -50 objectReference: {fileID: 0} - target: {fileID: 7228302987943925696, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.x @@ -68099,19 +68575,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 7489680557431120668, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7489680557431120668, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7489680557431120668, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 84.55 objectReference: {fileID: 0} - target: {fileID: 7489680557431120668, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -50 objectReference: {fileID: 0} - target: {fileID: 7889622464149315732, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_IsActive @@ -68119,19 +68595,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8162043787242817865, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8162043787242817865, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8162043787242817865, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 85 objectReference: {fileID: 0} - target: {fileID: 8162043787242817865, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -50 objectReference: {fileID: 0} - target: {fileID: 8281064337243533176, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y @@ -68151,19 +68627,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8790025443345388889, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8790025443345388889, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 8790025443345388889, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 12.5 objectReference: {fileID: 0} - target: {fileID: 8790025443345388889, guid: 83349f645e9e9764ab6c8c66e5b107a3, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -50 objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] diff --git a/Assets/Scenes/gamePlay_gamePlay/gpGV.asset b/Assets/Scenes/gamePlay_gamePlay/gpGV.asset index 5ce0bad6..091d3eaf 100644 --- a/Assets/Scenes/gamePlay_gamePlay/gpGV.asset +++ b/Assets/Scenes/gamePlay_gamePlay/gpGV.asset @@ -1,6 +1,6 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!114 &-3594275912957905754 +--- !u!114 &-4028999061945789234 MonoBehaviour: m_ObjectHideFlags: 3 m_CorrespondingSourceObject: {fileID: 0} @@ -9,22 +9,31 @@ MonoBehaviour: m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ccf1aba9553839d41ae37dd52e9ebcce, type: 3} - m_Name: MotionBlur + m_Script: {fileID: 11500000, guid: 54a30677f5d2e4548881a79f4c3e3972, type: 3} + m_Name: GlobalGlitchVolume m_EditorClassIdentifier: - active: 0 - mode: - m_OverrideState: 1 - m_Value: 1 - quality: - m_OverrideState: 1 - m_Value: 1 + active: 1 intensity: m_OverrideState: 1 - m_Value: 0.476 - clamp: + m_Value: 0 + blockStrength: m_OverrideState: 1 - m_Value: 0.118 + m_Value: 0.297 + colorSplit: + m_OverrideState: 1 + m_Value: 0.0128 + jitterAmount: + m_OverrideState: 1 + m_Value: 1 + stripFrequency: + m_OverrideState: 1 + m_Value: 213 + scanlineStrength: + m_OverrideState: 1 + m_Value: 0.527 + affectSceneView: + m_OverrideState: 1 + m_Value: 0 --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 @@ -38,4 +47,118 @@ MonoBehaviour: m_Name: gpGV m_EditorClassIdentifier: components: - - {fileID: -3594275912957905754} + - {fileID: 2046802184354103511} + - {fileID: 2590790448571127267} + - {fileID: -4028999061945789234} + - {fileID: 1487594879138804974} + - {fileID: 9136543105356401684} + - {fileID: 0} +--- !u!114 &1487594879138804974 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 29fa0085f50d5e54f8144f766051a691, type: 3} + m_Name: FilmGrain + m_EditorClassIdentifier: + active: 1 + type: + m_OverrideState: 1 + m_Value: 0 + intensity: + m_OverrideState: 1 + m_Value: 0.547 + response: + m_OverrideState: 1 + m_Value: 0 + texture: + m_OverrideState: 1 + m_Value: {fileID: 0} +--- !u!114 &2046802184354103511 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fcaf02ee66ed11d4d9c67508e0130935, type: 3} + m_Name: GlobalDistortionVolume + m_EditorClassIdentifier: + active: 1 + intensity: + m_OverrideState: 1 + m_Value: 0 + noiseStrength: + m_OverrideState: 1 + m_Value: 1 + radialStrength: + m_OverrideState: 1 + m_Value: 2 + noiseScale: + m_OverrideState: 1 + m_Value: 14.5 + center: + m_OverrideState: 1 + m_Value: {x: -11.47, y: 0.5} + edgeFade: + m_OverrideState: 1 + m_Value: 3 + affectSceneView: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &2590790448571127267 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c5e1dc532bcb41949b58bc4f2abfbb7e, type: 3} + m_Name: LensDistortion + m_EditorClassIdentifier: + active: 1 + intensity: + m_OverrideState: 0 + m_Value: 0 + xMultiplier: + m_OverrideState: 0 + m_Value: 0.532 + yMultiplier: + m_OverrideState: 0 + m_Value: 1 + center: + m_OverrideState: 0 + m_Value: {x: 0.5, y: 0.5} + scale: + m_OverrideState: 0 + m_Value: 0.98 +--- !u!114 &9136543105356401684 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2b5b0fcb28cb9254bbcd2a498e0fe228, type: 3} + m_Name: GlobalAfterimageVolume + m_EditorClassIdentifier: + active: 1 + opacity: + m_OverrideState: 1 + m_Value: 0 + scale: + m_OverrideState: 1 + m_Value: 1.05 + affectSceneView: + m_OverrideState: 1 + m_Value: 0 diff --git a/Assets/Settings/Renderer2D.asset b/Assets/Settings/Renderer2D.asset index 2d777f2c..b1cb7f5d 100644 --- a/Assets/Settings/Renderer2D.asset +++ b/Assets/Settings/Renderer2D.asset @@ -1,5 +1,33 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7968524894476178354 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d71f5b59ebb9a7640b177e16adf3d6c7, type: 3} + m_Name: Global Distortion Renderer Feature + m_EditorClassIdentifier: + m_Active: 1 + renderPassEvent: 600 +--- !u!114 &-82031990492403773 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 84ae0996c2f9f6c43a0d5b735af7f121, type: 3} + m_Name: Global Glitch Renderer Feature + m_EditorClassIdentifier: + m_Active: 1 + renderPassEvent: 600 --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 @@ -24,8 +52,12 @@ MonoBehaviour: probeSamplingDebugMesh: {fileID: 0} probeSamplingDebugTexture: {fileID: 0} probeVolumeBlendStatesCS: {fileID: 0} - m_RendererFeatures: [] - m_RendererFeatureMap: + m_RendererFeatures: + - {fileID: -7968524894476178354} + - {fileID: -82031990492403773} + - {fileID: 8810499459484542277} + - {fileID: 4089674193680255197} + m_RendererFeatureMap: 4eece3d8d31c6a91c3677bda5690dcfe45e55810942e457addc864d90271c138 m_UseNativeRenderPass: 0 m_LayerMask: serializedVersion: 2 @@ -56,3 +88,31 @@ MonoBehaviour: m_PostProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} m_DefaultMaterialType: 0 m_DefaultCustomMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} +--- !u!114 &4089674193680255197 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e30db065f184af241b78ce51edc50d96, type: 3} + m_Name: Global Monochrome Renderer Feature + m_EditorClassIdentifier: + m_Active: 1 + renderPassEvent: 600 +--- !u!114 &8810499459484542277 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a28c239b9c2736e489a75bd286167cb9, type: 3} + m_Name: Global Afterimage Renderer Feature + m_EditorClassIdentifier: + m_Active: 1 + renderPassEvent: 600 diff --git a/Assets/Shaders.meta b/Assets/Shaders.meta new file mode 100644 index 00000000..7adcfe60 --- /dev/null +++ b/Assets/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4cfb6d280c0131d45b93db3841bd7acf +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/GlobalAfterimage.shader b/Assets/Shaders/GlobalAfterimage.shader new file mode 100644 index 00000000..9691d590 --- /dev/null +++ b/Assets/Shaders/GlobalAfterimage.shader @@ -0,0 +1,42 @@ +Shader "Hidden/Bansonic/GlobalAfterimage" +{ + SubShader + { + Tags { "RenderPipeline" = "UniversalPipeline" } + ZWrite Off + Cull Off + ZTest Always + + Pass + { + Name "GlobalAfterimage" + + HLSLPROGRAM + #pragma vertex Vert + #pragma fragment Frag + #pragma target 4.5 + + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + #include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl" + + float _AfterimageOpacity; + float _AfterimageScale; + TEXTURE2D(_SnapshotTex); + SAMPLER(sampler_SnapshotTex); + + half4 Frag(Varyings input) : SV_Target + { + float2 uv = input.texcoord; + half4 baseColor = SAMPLE_TEXTURE2D_X(_BlitTexture, sampler_LinearClamp, uv); + + float safeScale = max(_AfterimageScale, 1.0); + float2 scaledUv = (uv - 0.5) / safeScale + 0.5; + float inside = step(0.0, scaledUv.x) * step(0.0, scaledUv.y) * step(scaledUv.x, 1.0) * step(scaledUv.y, 1.0); + half4 snapshot = SAMPLE_TEXTURE2D(_SnapshotTex, sampler_SnapshotTex, saturate(scaledUv)); + float alpha = saturate(_AfterimageOpacity) * inside; + return lerp(baseColor, snapshot, alpha); + } + ENDHLSL + } + } +} diff --git a/Assets/Shaders/GlobalAfterimage.shader.meta b/Assets/Shaders/GlobalAfterimage.shader.meta new file mode 100644 index 00000000..84b5ebdf --- /dev/null +++ b/Assets/Shaders/GlobalAfterimage.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 08e184084ff672d4f8e6b649d27dc10d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/GlobalDistortion.shader b/Assets/Shaders/GlobalDistortion.shader new file mode 100644 index 00000000..fd573416 --- /dev/null +++ b/Assets/Shaders/GlobalDistortion.shader @@ -0,0 +1,52 @@ +Shader "Hidden/Bansonic/GlobalDistortion" +{ + SubShader + { + Tags { "RenderPipeline" = "UniversalPipeline" } + ZWrite Off + Cull Off + ZTest Always + + Pass + { + Name "GlobalDistortion" + + HLSLPROGRAM + #pragma vertex Vert + #pragma fragment Frag + #pragma target 4.5 + + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + #include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl" + + float _DistortionIntensity; + float _NoiseStrength; + float _RadialStrength; + float _NoiseScale; + float2 _DistortionCenter; + float _EdgeFade; + + half4 Frag(Varyings input) : SV_Target + { + float2 uv = input.texcoord; + float2 centered = uv - _DistortionCenter; + float distanceFromCenter = length(centered); + float2 direction = distanceFromCenter > 0.0001 ? centered / distanceFromCenter : float2(0.0, 0.0); + float normalizedDistance = saturate(distanceFromCenter * 1.41421356); + float edgeMask = saturate(1.0 - pow(normalizedDistance, _EdgeFade)); + + float t = _Time.y; + float noiseA = sin((uv.x + t * 0.73) * _NoiseScale) * cos((uv.y - t * 1.13) * (_NoiseScale * 0.87)); + float noiseB = cos((uv.x * 1.31 - t * 0.41) * (_NoiseScale * 0.63)) * sin((uv.y * 1.11 + t * 0.52) * (_NoiseScale * 1.21)); + + float2 radialOffset = direction * edgeMask * (_RadialStrength * 0.03) * _DistortionIntensity; + float2 noiseOffset = float2(noiseA, noiseB) * (_NoiseStrength * 0.015) * _DistortionIntensity; + float2 sampleUv = uv + radialOffset + noiseOffset; + sampleUv = clamp(sampleUv, 0.0, 1.0); + + return SAMPLE_TEXTURE2D_X(_BlitTexture, sampler_LinearClamp, sampleUv); + } + ENDHLSL + } + } +} diff --git a/Assets/Shaders/GlobalDistortion.shader.meta b/Assets/Shaders/GlobalDistortion.shader.meta new file mode 100644 index 00000000..105c1f08 --- /dev/null +++ b/Assets/Shaders/GlobalDistortion.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dc80b7dbbe782854c9f0c6ae053bfc70 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/GlobalGlitch.shader b/Assets/Shaders/GlobalGlitch.shader new file mode 100644 index 00000000..681ebaa3 --- /dev/null +++ b/Assets/Shaders/GlobalGlitch.shader @@ -0,0 +1,71 @@ +Shader "Hidden/Bansonic/GlobalGlitch" +{ + SubShader + { + Tags { "RenderPipeline" = "UniversalPipeline" } + ZWrite Off + Cull Off + ZTest Always + + Pass + { + Name "GlobalGlitch" + + HLSLPROGRAM + #pragma vertex Vert + #pragma fragment Frag + #pragma target 4.5 + + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + #include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl" + + float _GlitchIntensity; + float _BlockStrength; + float _ColorSplit; + float _JitterAmount; + float _StripFrequency; + float _ScanlineStrength; + + float Hash(float2 p) + { + p = frac(p * float2(123.34, 345.45)); + p += dot(p, p + 34.345); + return frac(p.x * p.y); + } + + half4 Frag(Varyings input) : SV_Target + { + float2 uv = input.texcoord; + float timeSlice = floor(_Time.y * 24.0); + float stripIndex = floor(uv.y * _StripFrequency); + float stripNoise = Hash(float2(stripIndex, timeSlice)); + float blockMask = step(0.58, stripNoise); + + float blockShift = (stripNoise - 0.5) * _BlockStrength * 0.12 * _GlitchIntensity * blockMask; + float lineJitter = sin((uv.y + _Time.y * 14.0) * 420.0) * _JitterAmount * 0.003 * _GlitchIntensity; + float combinedShift = blockShift + lineJitter; + + float2 baseUv = uv; + baseUv.x = clamp(baseUv.x + combinedShift, 0.0, 1.0); + + float colorSplit = _ColorSplit * _GlitchIntensity; + float2 redUv = float2(clamp(baseUv.x + colorSplit, 0.0, 1.0), baseUv.y); + float2 greenUv = baseUv; + float2 blueUv = float2(clamp(baseUv.x - colorSplit, 0.0, 1.0), baseUv.y); + + half red = SAMPLE_TEXTURE2D_X(_BlitTexture, sampler_LinearClamp, redUv).r; + half green = SAMPLE_TEXTURE2D_X(_BlitTexture, sampler_LinearClamp, greenUv).g; + half blue = SAMPLE_TEXTURE2D_X(_BlitTexture, sampler_LinearClamp, blueUv).b; + + half4 color = half4(red, green, blue, 1.0); + + float scan = sin(uv.y * _ScreenParams.y * 1.15 + _Time.y * 12.0) * 0.5 + 0.5; + float scanMask = lerp(1.0, 1.0 - scan * 0.35, _ScanlineStrength * _GlitchIntensity); + color.rgb *= scanMask; + + return color; + } + ENDHLSL + } + } +} diff --git a/Assets/Shaders/GlobalGlitch.shader.meta b/Assets/Shaders/GlobalGlitch.shader.meta new file mode 100644 index 00000000..3d197d81 --- /dev/null +++ b/Assets/Shaders/GlobalGlitch.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 32a0932fed2df844c8796df10247873b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Shaders/GlobalMonochrome.shader b/Assets/Shaders/GlobalMonochrome.shader new file mode 100644 index 00000000..788e03b5 --- /dev/null +++ b/Assets/Shaders/GlobalMonochrome.shader @@ -0,0 +1,36 @@ +Shader "Hidden/Bansonic/GlobalMonochrome" +{ + SubShader + { + Tags { "RenderPipeline" = "UniversalPipeline" } + ZWrite Off + Cull Off + ZTest Always + + Pass + { + Name "GlobalMonochrome" + + HLSLPROGRAM + #pragma vertex Vert + #pragma fragment Frag + #pragma target 4.5 + + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + #include "Packages/com.unity.render-pipelines.core/Runtime/Utilities/Blit.hlsl" + + float _MonochromeIntensity; + + half4 Frag(Varyings input) : SV_Target + { + float2 uv = input.texcoord; + half4 color = SAMPLE_TEXTURE2D_X(_BlitTexture, sampler_LinearClamp, uv); + half luminance = dot(color.rgb, half3(0.299h, 0.587h, 0.114h)); + half3 grayscale = luminance.xxx; + color.rgb = lerp(color.rgb, grayscale, saturate(_MonochromeIntensity)); + return color; + } + ENDHLSL + } + } +} diff --git a/Assets/Shaders/GlobalMonochrome.shader.meta b/Assets/Shaders/GlobalMonochrome.shader.meta new file mode 100644 index 00000000..e56ed8c6 --- /dev/null +++ b/Assets/Shaders/GlobalMonochrome.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: adee8c544438ff3498bececba27c3c76 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Sphere.prefab b/Assets/Sphere.prefab index 8a2f230c..ef7a8849 100644 --- a/Assets/Sphere.prefab +++ b/Assets/Sphere.prefab @@ -29,8 +29,8 @@ Transform: serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.1, y: 6.49, z: 0.1} - m_ConstrainProportionsScale: 0 + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_ConstrainProportionsScale: 1 m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/__so/songs_so_res/1002003_spectrum/CFD/CFD_3.json b/Assets/__so/songs_so_res/1002003_spectrum/CFD/CFD_3.json index dd1c4f2e..3fb4eff4 100644 --- a/Assets/__so/songs_so_res/1002003_spectrum/CFD/CFD_3.json +++ b/Assets/__so/songs_so_res/1002003_spectrum/CFD/CFD_3.json @@ -111,7 +111,7 @@ "length": 0.0, "barNumber": 3, "yPos": -268.5, - "noteFunction": "", + "noteFunction": "CameraWaveFX", "noteid": "7ae79d1c-43ff-4115-b804-486befebef2c", "newLocation": { "bar": 3, @@ -128,7 +128,7 @@ "length": 0.0, "barNumber": 5, "yPos": -268.5, - "noteFunction": "", + "noteFunction": "CameraScaleEvent", "noteid": "ca34a006-3d0a-46da-b853-900d9fd32929", "newLocation": { "bar": 5, @@ -145,7 +145,7 @@ "length": 0.0, "barNumber": 5, "yPos": 201.375, - "noteFunction": "", + "noteFunction": "CameraShakeEvent", "noteid": "1ed274b6-3065-46df-b8ba-229a8ca90d81", "newLocation": { "bar": 5, @@ -162,7 +162,7 @@ "length": 0.0, "barNumber": 7, "yPos": -268.5, - "noteFunction": "", + "noteFunction": "FlashBlinkEvent", "noteid": "a62ce93e-8977-4ef7-874e-d2aafa2e0b46", "newLocation": { "bar": 7, @@ -179,7 +179,7 @@ "length": 0.0, "barNumber": 7, "yPos": 201.375, - "noteFunction": "", + "noteFunction": "CameraGlitchFX", "noteid": "7ab2727f-3234-4823-9053-9d803186728d", "newLocation": { "bar": 7, @@ -196,7 +196,7 @@ "length": 0.6818181818181818, "barNumber": 9, "yPos": -268.5, - "noteFunction": "", + "noteFunction": "CameraGlitchFX", "noteid": "6ca6c017-f1a1-45ce-b222-38174fbacaed", "newLocation": { "bar": 9, @@ -213,7 +213,7 @@ "length": 0.6818181818181818, "barNumber": 10, "yPos": -268.5, - "noteFunction": "", + "noteFunction": "ScreenshotScale", "noteid": "f3b85cc8-4287-4180-b831-97eef996c938", "newLocation": { "bar": 10, @@ -230,7 +230,7 @@ "length": 0.0, "barNumber": 10, "yPos": 0.0, - "noteFunction": "", + "noteFunction": "CameraMonochromeFX", "noteid": "b4a846b0-e857-450e-99b9-a092c9f33be8", "newLocation": { "bar": 10, diff --git a/Assets/_eqpmtSys/EquipmentTierNameConfig.asset b/Assets/_eqpmtSys/EquipmentTierNameConfig.asset index 868c63ac..831247d4 100644 --- a/Assets/_eqpmtSys/EquipmentTierNameConfig.asset +++ b/Assets/_eqpmtSys/EquipmentTierNameConfig.asset @@ -1,4 +1,4 @@ -%YAML 1.1 +%YAML 1.1 %TAG !u! tag:unity3d.com,2011: --- !u!114 &11400000 MonoBehaviour: @@ -92,7 +92,7 @@ MonoBehaviour: - tierName: "\u6F84\u660E\u5883" equipmentSprite: {fileID: 21300000, guid: 814f39e3a1e204c4586f75b514a06601, type: 3} tierDescription: - - tierName: "\u5FC3\u517B\u5F52\u4E00" + - tierName: "\u5FC3\u517B\u5F52\u4E00\u5492" equipmentSprite: {fileID: 21300000, guid: 4ce68bd00ecc6f64baefd01ce27f33f9, type: 3} tierDescription: - tierName: "\u68A6\u9192\xB7\u65E0\u5C18\u771F\u5883" diff --git a/Assets/_eqpmtSys/equipSystems/chooseSkillPrefab.cs b/Assets/_eqpmtSys/equipSystems/chooseSkillPrefab.cs index 340e8118..4c7d78b6 100644 --- a/Assets/_eqpmtSys/equipSystems/chooseSkillPrefab.cs +++ b/Assets/_eqpmtSys/equipSystems/chooseSkillPrefab.cs @@ -139,19 +139,27 @@ public class chooseSkillPrefab : MonoBehaviour, IPointerEnterHandler, IPointerEx detailPinnedByButton = pinnedByButton; detailOpenedFrame = Time.frameCount; - Transform parent = transform.root != null ? transform.root : transform; + Transform parent = ResolveDetailParent(); spawnedDetail = Instantiate(sskilldetialPrefab, parent); + spawnedDetail.transform.SetAsLastSibling(); RectTransform selfRect = transform as RectTransform; RectTransform detailRect = spawnedDetail.transform as RectTransform; RectTransform parentRect = parent as RectTransform; if (selfRect != null && detailRect != null && parentRect != null) { + Canvas canvas = parent.GetComponentInParent(); + Camera eventCamera = null; + if (canvas != null && canvas.renderMode != RenderMode.ScreenSpaceOverlay) + { + eventCamera = canvas.worldCamera; + } + Vector3 worldPoint = selfRect.TransformPoint(new Vector3(selfRect.rect.xMax, selfRect.rect.center.y, 0f)); RectTransformUtility.ScreenPointToLocalPointInRectangle( parentRect, - RectTransformUtility.WorldToScreenPoint(null, worldPoint), - null, + RectTransformUtility.WorldToScreenPoint(eventCamera, worldPoint), + eventCamera, out Vector2 localPoint); detailRect.anchoredPosition = localPoint + detailPrefabOffset; } @@ -163,6 +171,22 @@ public class chooseSkillPrefab : MonoBehaviour, IPointerEnterHandler, IPointerEx } } + private Transform ResolveDetailParent() + { + Canvas canvas = GetComponentInParent(); + if (canvas != null && canvas.rootCanvas != null) + { + return canvas.rootCanvas.transform; + } + + if (transform.root != null) + { + return transform.root; + } + + return transform; + } + private bool IsPointerInside(Vector2 screenPoint) { if (IsScreenPointInside(transform as RectTransform, screenPoint)) diff --git a/Assets/_eqpmtSys/equipSystems/eSmelt/equipSmelt.cs b/Assets/_eqpmtSys/equipSystems/eSmelt/equipSmelt.cs index d2c6a2b9..8ade7df6 100644 --- a/Assets/_eqpmtSys/equipSystems/eSmelt/equipSmelt.cs +++ b/Assets/_eqpmtSys/equipSystems/eSmelt/equipSmelt.cs @@ -195,6 +195,11 @@ public class equipSmelt : MonoBehaviour SavePersistentState(); } + public void RefreshPlayerSkillAdjustedUi() + { + RefreshAllUi(); + } + public void SetDragPreviewVisible(bool visible) { if (dragObj == null) @@ -382,6 +387,7 @@ public class equipSmelt : MonoBehaviour return; } + int grantedFragments = Mathf.Max(0, pendingDirectFragmentsState); if (pendingDirectFragmentsState > 0) { PlayerEconomyLedger.EnsureInstance().AddMaterial(pendingDirectFragmentsState); @@ -398,6 +404,11 @@ public class equipSmelt : MonoBehaviour SavePersistentState(); RefreshAllSmeltPools(); RefreshAllEquipBags(); + + if (grantedFragments > 0) + { + gItemGet.display(gItemGet.Create("记忆碎片", ResolveMemoryFragmentSprite(), grantedFragments, ItemRarity.Uncommon)); + } } private void HandleGetRewardClicked() @@ -530,10 +541,30 @@ public class equipSmelt : MonoBehaviour ReinstateRewardEquipment(generated); storedSmeltEnergyState = Mathf.Max(0, storedSmeltEnergyState - requiredAmount); SavePersistentState(); + gItemGet.display(gItemGet.FromEquipment(generated, 1)); RefreshAllUi(); RefreshAllEquipBags(); } + private static Sprite ResolveMemoryFragmentSprite() + { + equipSmelt[] instances = FindObjectsByType(FindObjectsInactive.Include, FindObjectsSortMode.None); + if (instances == null) + { + return null; + } + + for (int i = 0; i < instances.Length; i++) + { + if (instances[i] != null && instances[i].memoryFragment != null) + { + return instances[i].memoryFragment; + } + } + + return null; + } + private void HandleRewardSelectorClosed() { activeCtasInstance = null; @@ -959,12 +990,14 @@ public class equipSmelt : MonoBehaviour private int GetQuickFinishCost() { - return ssrso != null ? Mathf.Max(0, ssrso.quickFinishCost) : 0; + int baseCost = ssrso != null ? Mathf.Max(0, ssrso.quickFinishCost) : 0; + return PlayerSkillService.ModifySmeltCoinCost(baseCost); } private int GetStartSmeltCost() { - return ssrso != null ? Mathf.Max(0, ssrso.startSmeltCost) : 0; + int baseCost = ssrso != null ? Mathf.Max(0, ssrso.startSmeltCost) : 0; + return PlayerSkillService.ModifySmeltCoinCost(baseCost); } private smeltStageRewardSO.SmeltStageRewardRequirement GetSelectedRewardRequirement() diff --git a/Assets/_eqpmtSys/equipmentRandomTestButton.cs b/Assets/_eqpmtSys/equipmentRandomTestButton.cs index 1f751afb..7eefe1a9 100644 --- a/Assets/_eqpmtSys/equipmentRandomTestButton.cs +++ b/Assets/_eqpmtSys/equipmentRandomTestButton.cs @@ -120,6 +120,10 @@ public class equipmentRandomTestButton : MonoBehaviour GenerateSpecialEffects(generated); GenerateIllusionEffects(generated); lastGeneratedEquipment = PersistGeneratedEquipment(generated); + if (lastGeneratedEquipment != null) + { + gItemGet.display(gItemGet.FromEquipment(lastGeneratedEquipment, 1)); + } BuildSummary(generated); RefreshEquipmentList(); MarkHostDirty(); diff --git a/Assets/_eqpmtSys/esDesPrefab.cs b/Assets/_eqpmtSys/esDesPrefab.cs index e585e3fe..ad734362 100644 --- a/Assets/_eqpmtSys/esDesPrefab.cs +++ b/Assets/_eqpmtSys/esDesPrefab.cs @@ -41,4 +41,25 @@ public class esDesPrefab : MonoBehaviour skill_story.gameObject.SetActive(!string.IsNullOrWhiteSpace(storyText)); } } + + public void Bind(string displayName, Sprite icon, string description, string story) + { + if (skillProfile != null) + { + skillProfile.sprite = icon; + skillProfile.enabled = icon != null; + } + + if (skillName != null) + skillName.text = displayName ?? string.Empty; + + if (skillDescription != null) + skillDescription.text = description ?? string.Empty; + + if (skill_story != null) + { + skill_story.text = story ?? string.Empty; + skill_story.gameObject.SetActive(!string.IsNullOrWhiteSpace(skill_story.text)); + } + } } diff --git a/Assets/_eqpmtSys/esDesPrefab.prefab b/Assets/_eqpmtSys/esDesPrefab.prefab index 1d220055..87ea47af 100644 --- a/Assets/_eqpmtSys/esDesPrefab.prefab +++ b/Assets/_eqpmtSys/esDesPrefab.prefab @@ -35,7 +35,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 124.06795, y: -57} + m_AnchoredPosition: {x: 124.06795, y: -80} m_SizeDelta: {x: 208.1359, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2049021961984502307 @@ -68,7 +68,7 @@ MonoBehaviour: m_Calls: [] m_FontData: m_Font: {fileID: 12800000, guid: bd4be44636ad6c24a9b117a7108a75e9, type: 3} - m_FontSize: 10 + m_FontSize: 14 m_FontStyle: 0 m_BestFit: 0 m_MinSize: 1 @@ -211,7 +211,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} - m_Color: {r: 0, g: 0, b: 0, a: 0.88235295} + m_Color: {r: 0, g: 0, b: 0, a: 0.9411765} m_RaycastTarget: 0 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} m_Maskable: 0 @@ -244,7 +244,7 @@ MonoBehaviour: m_Left: 20 m_Right: 0 m_Top: 57 - m_Bottom: 10 + m_Bottom: 16 m_ChildAlignment: 0 m_Spacing: 0 m_ChildForceExpandWidth: 1 @@ -379,7 +379,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 124.06795, y: -57} + m_AnchoredPosition: {x: 124.06795, y: -93} m_SizeDelta: {x: 208.1359, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2792857840598114499 @@ -473,7 +473,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 124.06795, y: -57} + m_AnchoredPosition: {x: 124.06795, y: -65} m_SizeDelta: {x: 208.1359, y: 0} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1487207466561665800 diff --git a/Assets/_globalNotices/BansonicItemGet.cs b/Assets/_globalNotices/BansonicItemGet.cs new file mode 100644 index 00000000..00b6bc0b --- /dev/null +++ b/Assets/_globalNotices/BansonicItemGet.cs @@ -0,0 +1,253 @@ +using System.Collections.Generic; +using UnityEngine; + +namespace Bansonic +{ + public static class gItemGet + { + private const string PrefabResourcePath = "itemGet"; + private static readonly Color FallbackColor = Color.white; + + private static GameObject currentInstance; + private static itemGetPrefab currentController; + private static ItemRarityColorConfigSO cachedRarityConfig; + + public struct ItemEntry + { + public Sprite icon; + public string displayName; + public int amount; + public ItemRarity rarity; + public bool useCustomColor; + public Color customColor; + } + + public static void display(params ItemEntry[] items) + { + display((IEnumerable)items); + } + + public static void display(IEnumerable items) + { + EnsureInstance(); + if (currentController == null) + { + Debug.LogWarning("[gItemGet] itemGet prefab missing itemGetPrefab component."); + return; + } + + currentController.ClearItems(); + + if (items == null) + { + return; + } + + foreach (ItemEntry entry in items) + { + get_item_prefab item = currentController.AddItem(); + if (item == null) + { + continue; + } + + Color qualityColor = entry.useCustomColor + ? entry.customColor + : ResolveRarityColor(entry.rarity); + + item.Bind(entry.icon, entry.displayName, entry.amount, qualityColor); + } + } + + public static ItemEntry Create(string displayName, Sprite icon, int amount = 1, ItemRarity rarity = ItemRarity.None) + { + return new ItemEntry + { + displayName = displayName, + icon = icon, + amount = Mathf.Max(1, amount), + rarity = rarity, + useCustomColor = false, + customColor = default + }; + } + + public static ItemEntry Create(string displayName, Sprite icon, int amount, Color qualityColor) + { + return new ItemEntry + { + displayName = displayName, + icon = icon, + amount = Mathf.Max(1, amount), + rarity = ItemRarity.None, + useCustomColor = true, + customColor = qualityColor + }; + } + + public static ItemEntry FromStoreItem(storeItemSO item, int amount = 1) + { + if (item == null) + { + return Create("未知物品", null, amount, ItemRarity.None); + } + + return Create(item.itemName, item.itemIcon, amount, item.itemRarity); + } + + public static ItemEntry FromExpBottle(expBottlesSO item, int amount = 1) + { + if (item == null) + { + return Create("未知经验瓶", null, amount, ItemRarity.None); + } + + return Create(item.expBottleName, item.expBottleSprite, amount, item.itemRarity); + } + + public static ItemEntry FromGrowthMaterial(growthMaterialSO item, int amount = 1) + { + if (item == null) + { + return Create("未知培养材料", null, amount, ItemRarity.None); + } + + return Create(item.growthMaterialName, item.growthMaterialSprite, amount, item.itemRarity); + } + + public static ItemEntry FromEquipmentConsumable(equipmentConsumableSO item, int amount = 1) + { + if (item == null) + { + return Create("未知装备材料", null, amount, ItemRarity.None); + } + + return Create(item.consumableName, item.consumableSprite, amount, item.itemRarity); + } + + public static ItemEntry FromEquipment(equipmentSO equipment, int amount = 1) + { + if (equipment == null) + { + return Create("未知记忆", null, amount, ItemRarity.None); + } + + return Create( + equipment.GetDisplayTierName(), + equipment.GetCurrentEquipmentSprite(), + amount, + ResolveEquipmentColor(equipment)); + } + + private static void EnsureInstance() + { + if (currentInstance != null && currentController != null) + { + if (!currentInstance.activeInHierarchy) + { + currentInstance.SetActive(true); + } + + return; + } + + GameObject prefab = Resources.Load(PrefabResourcePath); + if (prefab == null) + { + Debug.LogWarning("[gItemGet] Failed to load Resources/itemGet.prefab"); + return; + } + + Transform parent = ResolveParent(); + currentInstance = parent != null + ? Object.Instantiate(prefab, parent, false) + : Object.Instantiate(prefab); + + currentInstance.name = prefab.name; + currentController = currentInstance.GetComponent(); + } + + private static Transform ResolveParent() + { + Canvas[] canvases = Object.FindObjectsByType(FindObjectsInactive.Exclude, FindObjectsSortMode.None); + Canvas best = null; + + for (int i = 0; i < canvases.Length; i++) + { + Canvas canvas = canvases[i]; + if (canvas == null || !canvas.gameObject.activeInHierarchy || !canvas.isRootCanvas) + { + continue; + } + + if (best == null || canvas.sortingOrder >= best.sortingOrder) + { + best = canvas; + } + } + + return best != null ? best.transform : null; + } + + private static Color ResolveRarityColor(ItemRarity rarity) + { + if (cachedRarityConfig == null) + { +#if UNITY_EDITOR + cachedRarityConfig = UnityEditor.AssetDatabase.LoadAssetAtPath( + "Assets/playerBagSystem/ItemRarityColorConfig.asset"); +#endif + } + + if (cachedRarityConfig != null) + { + return cachedRarityConfig.GetColor(rarity, FallbackColor); + } + + switch (rarity) + { + case ItemRarity.Common: + return new Color32(95, 155, 107, 255); + case ItemRarity.Uncommon: + return new Color32(74, 134, 184, 255); + case ItemRarity.Rare: + return new Color32(106, 76, 156, 255); + case ItemRarity.Epic: + return new Color32(184, 134, 69, 255); + case ItemRarity.Legendary: + return new Color32(184, 76, 76, 255); + case ItemRarity.Mythic: + return new Color32(217, 108, 158, 255); + case ItemRarity.Supreme: + return new Color32(255, 103, 164, 255); + default: + return FallbackColor; + } + } + + private static Color ResolveEquipmentColor(equipmentSO equipment) + { + if (equipment == null) + { + return FallbackColor; + } + + int index = equipment.GetVisualQualityColorIndex(); + switch (index) + { + case 1: + return new Color32(95, 155, 107, 255); + case 2: + return new Color32(74, 134, 184, 255); + case 3: + return new Color32(106, 76, 156, 255); + case 4: + return new Color32(184, 134, 69, 255); + case 5: + return new Color32(184, 76, 76, 255); + default: + return new Color32(255, 103, 164, 255); + } + } + } +} diff --git a/Assets/_globalNotices/BansonicItemGet.cs.meta b/Assets/_globalNotices/BansonicItemGet.cs.meta new file mode 100644 index 00000000..448e6b82 --- /dev/null +++ b/Assets/_globalNotices/BansonicItemGet.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 82dd3d62659b6a64e88a02d137a400ac \ No newline at end of file diff --git a/Assets/itemGet.meta b/Assets/itemGet.meta new file mode 100644 index 00000000..802f82df --- /dev/null +++ b/Assets/itemGet.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f1ebfa8f32810ce4ea4f2576d8dadf66 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/itemGet/get_item_prefab.cs b/Assets/itemGet/get_item_prefab.cs new file mode 100644 index 00000000..274c1920 --- /dev/null +++ b/Assets/itemGet/get_item_prefab.cs @@ -0,0 +1,43 @@ +using UnityEngine; +using UnityEngine.UI; +using TMPro; + +public class get_item_prefab : MonoBehaviour +{ + public Image item_btm; + public Image itemProfile; + public TextMeshProUGUI itemAmount; + public Text itemName; + + public void Bind(Sprite icon, string displayName, int amount, Color qualityColor) + { + if (item_btm != null) + { + item_btm.color = qualityColor; + } + + if (itemProfile != null) + { + itemProfile.sprite = icon; + itemProfile.enabled = icon != null; + itemProfile.color = icon != null ? Color.white : new Color(1f, 1f, 1f, 0f); + } + + if (itemName != null) + { + itemName.text = displayName ?? string.Empty; + } + + if (itemAmount != null) + { + if (amount <= 1) + { + itemAmount.text = string.Empty; + } + else + { + itemAmount.text = amount.ToString(); + } + } + } +} diff --git a/Assets/itemGet/get_item_prefab.cs.meta b/Assets/itemGet/get_item_prefab.cs.meta new file mode 100644 index 00000000..a34449ef --- /dev/null +++ b/Assets/itemGet/get_item_prefab.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e7f5efecd257f70488d56bf0a767230c \ No newline at end of file diff --git a/Assets/itemGet/get_item_prefab.prefab b/Assets/itemGet/get_item_prefab.prefab new file mode 100644 index 00000000..8cf4eb1c --- /dev/null +++ b/Assets/itemGet/get_item_prefab.prefab @@ -0,0 +1,423 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &18974122146848510 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3319628771906024608} + - component: {fileID: 4359877026299959118} + - component: {fileID: 7767232844961157683} + m_Layer: 5 + m_Name: btmQuality + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3319628771906024608 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 18974122146848510} + 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: 4325416963031440304} + 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: 130, y: 130} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4359877026299959118 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 18974122146848510} + m_CullTransparentMesh: 1 +--- !u!114 &7767232844961157683 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 18974122146848510} + 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: 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 &339661534610086690 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 518968684966382619} + - component: {fileID: 4988922451899572295} + - component: {fileID: 514154942639368217} + m_Layer: 5 + m_Name: itemProfile + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &518968684966382619 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 339661534610086690} + 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: 4325416963031440304} + 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: 120, y: 120} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4988922451899572295 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 339661534610086690} + m_CullTransparentMesh: 1 +--- !u!114 &514154942639368217 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 339661534610086690} + 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: 1a62adf36834dd04181a6dd61344f8b8, 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 &913995668709144583 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4325416963031440304} + - component: {fileID: 7456664981039242979} + m_Layer: 5 + m_Name: get_item_prefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4325416963031440304 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 913995668709144583} + 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: 3319628771906024608} + - {fileID: 518968684966382619} + - {fileID: 2293333086341986953} + - {fileID: 6074961186985790639} + 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: 130, y: 130} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &7456664981039242979 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 913995668709144583} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e7f5efecd257f70488d56bf0a767230c, type: 3} + m_Name: + m_EditorClassIdentifier: + item_btm: {fileID: 7767232844961157683} + itemProfile: {fileID: 514154942639368217} + itemAmount: {fileID: 508704441844867492} + itemName: {fileID: 2482204293705619698} +--- !u!1 &2281945804967682548 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2293333086341986953} + - component: {fileID: 6679092906817300735} + - component: {fileID: 508704441844867492} + m_Layer: 5 + m_Name: amt + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2293333086341986953 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2281945804967682548} + 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: 4325416963031440304} + 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: -17.9, y: -40} + m_SizeDelta: {x: 148.671, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6679092906817300735 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2281945804967682548} + m_CullTransparentMesh: 1 +--- !u!114 &508704441844867492 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2281945804967682548} + 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: 2147483647 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 452fa97492cae71479cf143f29930751, type: 2} + m_sharedMaterial: {fileID: -346136068272202111, guid: 452fa97492cae71479cf143f29930751, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 4 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_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 &4937134612620184442 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6074961186985790639} + - component: {fileID: 3728309417902643327} + - component: {fileID: 2482204293705619698} + m_Layer: 5 + m_Name: name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6074961186985790639 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4937134612620184442} + 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: 4325416963031440304} + 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: -86.05} + m_SizeDelta: {x: 140, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3728309417902643327 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4937134612620184442} + m_CullTransparentMesh: 1 +--- !u!114 &2482204293705619698 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4937134612620184442} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData: + m_Font: {fileID: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 20 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u4ED9\u54C1\u5076\u50CF\u590D\u6F14\u5355\u5143" diff --git a/Assets/itemGet/get_item_prefab.prefab.meta b/Assets/itemGet/get_item_prefab.prefab.meta new file mode 100644 index 00000000..7820b9ab --- /dev/null +++ b/Assets/itemGet/get_item_prefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: acdf60e42009ece499bb3c9187c7a120 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/itemGet/itemGetPrefab.cs b/Assets/itemGet/itemGetPrefab.cs new file mode 100644 index 00000000..11039011 --- /dev/null +++ b/Assets/itemGet/itemGetPrefab.cs @@ -0,0 +1,70 @@ +using UnityEngine; +using UnityEngine.UI; +using System.Collections.Generic; + +public class itemGetPrefab : MonoBehaviour +{ + [Header("item prefab")] + public GameObject itemPrefab; + public Transform displayParent; + + [Header("btn")] + public Button close; + + private readonly List spawnedItems = new List(); + + private void Awake() + { + if (close != null) + { + close.onClick.RemoveListener(CloseSelf); + close.onClick.AddListener(CloseSelf); + } + } + + private void OnDestroy() + { + if (close != null) + { + close.onClick.RemoveListener(CloseSelf); + } + } + + public void ClearItems() + { + for (int i = 0; i < spawnedItems.Count; i++) + { + if (spawnedItems[i] != null) + { + Destroy(spawnedItems[i]); + } + } + + spawnedItems.Clear(); + + if (displayParent != null) + { + for (int i = displayParent.childCount - 1; i >= 0; i--) + { + Destroy(displayParent.GetChild(i).gameObject); + } + } + } + + public get_item_prefab AddItem() + { + if (itemPrefab == null || displayParent == null) + { + return null; + } + + GameObject instance = Instantiate(itemPrefab, displayParent); + spawnedItems.Add(instance); + return instance.GetComponent(); + } + + public void CloseSelf() + { + Destroy(gameObject); + } +} diff --git a/Assets/itemGet/itemGetPrefab.cs.meta b/Assets/itemGet/itemGetPrefab.cs.meta new file mode 100644 index 00000000..0ba42697 --- /dev/null +++ b/Assets/itemGet/itemGetPrefab.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 39b86a94e0f9b43418207c0c1a25c044 \ No newline at end of file diff --git a/Assets/playerBagSystem/UI_userBag.prefab b/Assets/playerBagSystem/UI_userBag.prefab index c995b984..a7dfd680 100644 --- a/Assets/playerBagSystem/UI_userBag.prefab +++ b/Assets/playerBagSystem/UI_userBag.prefab @@ -3043,7 +3043,7 @@ MonoBehaviour: m_PressedTrigger: Pressed m_SelectedTrigger: Selected m_DisabledTrigger: Disabled - m_Interactable: 1 + m_Interactable: 0 m_TargetGraphic: {fileID: 4599931531580898861} m_OnClick: m_PersistentCalls: @@ -5868,7 +5868,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: "\u8FD8\u5DEE2\u573A\u6BD4\u8D5B\u53EF\u63D0\u53D6\u5956\u52B1/\u878D\u5408\u5B8C\u6BD5\uFF0C\u53EF\u9886\u53D6\u5956\u52B1" + m_Text: --- !u!1 &1496425020052927388 GameObject: m_ObjectHideFlags: 0 @@ -8141,7 +8141,7 @@ MonoBehaviour: m_PressedTrigger: Pressed m_SelectedTrigger: Selected m_DisabledTrigger: Disabled - m_Interactable: 1 + m_Interactable: 0 m_TargetGraphic: {fileID: 8317396197396341973} m_OnClick: m_PersistentCalls: @@ -10526,7 +10526,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: 2000 / 2000 + m_Text: 0/3000 --- !u!1 &3049892735558273088 GameObject: m_ObjectHideFlags: 0 @@ -10857,7 +10857,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: 2 + m_Text: 0 --- !u!1 &3213626675873551214 GameObject: m_ObjectHideFlags: 0 @@ -11214,7 +11214,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: "\u878D\u5408\u8FDB\u5EA6" + m_Text: "\u878D\u5408\u8FDB\u5EA60/1" --- !u!1 &3313849891983255375 GameObject: m_ObjectHideFlags: 0 @@ -13152,7 +13152,7 @@ MonoBehaviour: m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 - m_FillAmount: 0.5 + m_FillAmount: 0 m_FillClockwise: 1 m_FillOrigin: 0 m_UseSpriteMesh: 0 @@ -13310,7 +13310,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: reason.why + m_Text: "\u9700\u8981\u6295\u5165\u8BB0\u5FC6" --- !u!1 &3966248874610226284 GameObject: m_ObjectHideFlags: 0 @@ -15311,7 +15311,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: Option A + m_Text: "40 \u968F\u673A\u8BB0\u5FC6" --- !u!1 &4635021010433457706 GameObject: m_ObjectHideFlags: 0 @@ -16644,7 +16644,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: "1000\u7B97\u529B\u5FEB\u901F\u5B8C\u6210" + m_Text: 0 --- !u!1 &5018197546540534172 GameObject: m_ObjectHideFlags: 0 @@ -19386,11 +19386,17 @@ MonoBehaviour: m_Value: 0 m_Options: m_Options: - - m_Text: Option A + - m_Text: "40 \u968F\u673A\u8BB0\u5FC6" m_Image: {fileID: 0} - - m_Text: Option B + - m_Text: "60 \u81EA\u9009\u8BB0\u5FC6" m_Image: {fileID: 0} - - m_Text: Option C + - m_Text: "200 \u81EA\u9009\u9AD8\u5929\u8D4B\u8BB0\u5FC6" + m_Image: {fileID: 0} + - m_Text: "500 \u81EA\u9009\u73CD\u85CF\u8BB0\u5FC6" + m_Image: {fileID: 0} + - m_Text: "1000 \u81EA\u9009\u81F3\u81FB\u8BB0\u5FC6" + m_Image: {fileID: 0} + - m_Text: "1500 \u81EA\u9009\u523B\u9AA8\u94ED\u5FC3\u8BB0\u5FC6" m_Image: {fileID: 0} m_OnValueChanged: m_PersistentCalls: @@ -24893,7 +24899,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &8851354205082234328 RectTransform: m_ObjectHideFlags: 0 @@ -25110,7 +25116,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: 2048 + m_Text: 0 --- !u!1 &8192863506754736897 GameObject: m_ObjectHideFlags: 0 @@ -25493,7 +25499,7 @@ MonoBehaviour: m_PressedTrigger: Pressed m_SelectedTrigger: Selected m_DisabledTrigger: Disabled - m_Interactable: 1 + m_Interactable: 0 m_TargetGraphic: {fileID: 4344585137749710138} m_OnClick: m_PersistentCalls: @@ -26969,7 +26975,7 @@ MonoBehaviour: m_MinValue: 0 m_MaxValue: 1 m_WholeNumbers: 0 - m_Value: 0.5 + m_Value: 0 m_OnValueChanged: m_PersistentCalls: m_Calls: [] @@ -28050,7 +28056,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: 2048 + m_Text: 0 --- !u!1 &9107132343803959900 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/playerInfoDisplay/UI_Player.prefab b/Assets/playerInfoDisplay/UI_Player.prefab index 0c073766..22dbb4ad 100644 --- a/Assets/playerInfoDisplay/UI_Player.prefab +++ b/Assets/playerInfoDisplay/UI_Player.prefab @@ -229,6 +229,85 @@ MonoBehaviour: m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: "\u8868\u73B0" +--- !u!1 &181167420855266430 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2103071683812037302} + - component: {fileID: 6144815321703191152} + - component: {fileID: 2149662359065615016} + m_Layer: 5 + m_Name: skillIconBtm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2103071683812037302 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181167420855266430} + 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: 8358609045650433087} + - {fileID: 2937041997228588268} + - {fileID: 5485375274710847023} + - {fileID: 8230633927632511062} + m_Father: {fileID: 1897121867755047412} + 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: 75, y: 75} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6144815321703191152 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181167420855266430} + m_CullTransparentMesh: 1 +--- !u!114 &2149662359065615016 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181167420855266430} + 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: 0.6179246, b: 0.8716234, 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 &386430536236035290 GameObject: m_ObjectHideFlags: 0 @@ -386,6 +465,86 @@ MonoBehaviour: m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: "\u8FD1\u671F\u6570\u636E\u6982\u89C8" +--- !u!1 &966331471395766531 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2488879254647485799} + - component: {fileID: 1440102085504455954} + - component: {fileID: 1045913749643688121} + m_Layer: 5 + m_Name: need + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2488879254647485799 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 966331471395766531} + 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: 7499461716450536788} + m_Father: {fileID: 5231010977334089563} + 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.035, y: -171.47} + m_SizeDelta: {x: 57.931, y: 17.451} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1440102085504455954 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 966331471395766531} + m_CullTransparentMesh: 1 +--- !u!114 &1045913749643688121 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 966331471395766531} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u9700\u8981\u6D88\u8017" --- !u!1 &973733457592182024 GameObject: m_ObjectHideFlags: 0 @@ -516,6 +675,7 @@ MonoBehaviour: radarChartController: {fileID: 7437954056658742430} chartBridge: {fileID: 7894015890856802152} rankConfig: {fileID: 11400000, guid: 951debb97a9b89f48885c82bb601533a, type: 2} + hideWhenOverlayVisible: 0 reloadOnEnable: 1 maxInitAttempts: 20 retryDelaySeconds: 0.15 @@ -529,6 +689,81 @@ MonoBehaviour: topSampleCount: 10 performanceConfidenceFullCount: 20 normalizedSpreadPenalty: 0.3 +--- !u!1 &1433317237205209732 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4214572622581633858} + - component: {fileID: 4869922081800999184} + - component: {fileID: 748028211679366972} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4214572622581633858 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1433317237205209732} + 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: 7023287984592648684} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: -10, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4869922081800999184 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1433317237205209732} + m_CullTransparentMesh: 1 +--- !u!114 &748028211679366972 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1433317237205209732} + 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: 7919194353434859991, guid: b35fcaa46fa9f3e49b71c103f69df698, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 4 --- !u!1 &1466334736058783776 GameObject: m_ObjectHideFlags: 0 @@ -920,6 +1155,121 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1619077222236675354 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3527716783478569440} + - component: {fileID: 410914486962449965} + - component: {fileID: 7758320234434973897} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3527716783478569440 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1619077222236675354} + 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: 3514268750863439136} + 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 &410914486962449965 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1619077222236675354} + m_CullTransparentMesh: 1 +--- !u!114 &7758320234434973897 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1619077222236675354} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData: + m_Font: {fileID: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u5207\u6362" +--- !u!1 &1720752582806640742 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7700247477075624768} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7700247477075624768 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1720752582806640742} + 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: 2921030353387055411} + m_Father: {fileID: 4261690897775698385} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -15, y: 0} + m_SizeDelta: {x: -9.999996, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1748131000723417000 GameObject: m_ObjectHideFlags: 0 @@ -1311,6 +1661,85 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: [] +--- !u!1 &1926100184772572502 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2000924201602755833} + - component: {fileID: 1079642186633148437} + - component: {fileID: 332714026111076778} + m_Layer: 5 + m_Name: needHowMuch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2000924201602755833 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1926100184772572502} + 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: 4261690897775698385} + 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: -15.676, y: 0.0000076293945} + m_SizeDelta: {x: 249.709, y: 15} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1079642186633148437 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1926100184772572502} + m_CullTransparentMesh: 1 +--- !u!114 &332714026111076778 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1926100184772572502} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData: + m_Font: {fileID: 12800000, guid: 0f48904603cd9d74a8012b17a278cecc, type: 3} + m_FontSize: 10 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u8FD8\u9700\u89813\u573A\u6BD4\u8D5B" --- !u!1 &2007602109900949158 GameObject: m_ObjectHideFlags: 0 @@ -1390,6 +1819,81 @@ MonoBehaviour: m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: "\u8BC4\u7EA7" +--- !u!1 &2135470366424882662 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7383026274984665155} + - component: {fileID: 4560823902546782414} + - component: {fileID: 1904673253712739597} + m_Layer: 5 + m_Name: bbtm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7383026274984665155 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2135470366424882662} + 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: 6564398317966452634} + 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: -202.176} + m_SizeDelta: {x: 1920, y: 1080} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4560823902546782414 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2135470366424882662} + m_CullTransparentMesh: 1 +--- !u!114 &1904673253712739597 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2135470366424882662} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + 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 &2139543971626346939 GameObject: m_ObjectHideFlags: 0 @@ -1954,11 +2458,132 @@ MonoBehaviour: m_HandleRect: {fileID: 108610351342877671} m_Direction: 2 m_Value: 1 - m_Size: 0.57224333 + m_Size: 0.5722434 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: m_Calls: [] +--- !u!1 &2618562364703312358 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5988154149403173270} + - component: {fileID: 8879601071554993816} + - component: {fileID: 7151145785823468884} + - component: {fileID: 247695210710589904} + m_Layer: 5 + m_Name: noCancel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5988154149403173270 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2618562364703312358} + 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: 6621757540638538027} + m_Father: {fileID: 5231010977334089563} + 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: 83.095, y: -195.2} + m_SizeDelta: {x: 98.511, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8879601071554993816 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2618562364703312358} + m_CullTransparentMesh: 1 +--- !u!114 &7151145785823468884 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2618562364703312358} + 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: 0.71258354, b: 0.63529414, 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: 7f3b1220317607e44bbb8f0e1998044a, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 3 +--- !u!114 &247695210710589904 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2618562364703312358} + 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: 7151145785823468884} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &2814785777674154996 GameObject: m_ObjectHideFlags: 0 @@ -2574,10 +3199,11 @@ RectTransform: m_Children: - {fileID: 5705310861349071005} - {fileID: 4120547599697314623} - - {fileID: 3451445245364255000} - {fileID: 1663019172486836621} - {fileID: 785066961278625254} + - {fileID: 3451445245364255000} - {fileID: 2760358654686141492} + - {fileID: 7899058211053113832} - {fileID: 4460567748034842732} - {fileID: 1350570700574439255} m_Father: {fileID: 3033406375213441124} @@ -2912,6 +3538,164 @@ MonoBehaviour: m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: "\u67E5\u770B\u7B49\u7EA7\u8BE6\u60C5" +--- !u!1 &3717149589856758612 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2039448843946965226} + - component: {fileID: 1566475586994706647} + - component: {fileID: 4649412405969005153} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2039448843946965226 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3717149589856758612} + 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: 221816933674858199} + 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 &1566475586994706647 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3717149589856758612} + m_CullTransparentMesh: 1 +--- !u!114 &4649412405969005153 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3717149589856758612} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData: + m_Font: {fileID: 12800000, guid: bd4be44636ad6c24a9b117a7108a75e9, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u5173\u95ED\u7B49\u7EA7\u7279\u6280\u8BBE\u7F6E" +--- !u!1 &3751196042077039686 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5485375274710847023} + - component: {fileID: 2878705972747618096} + - component: {fileID: 3853808377813099131} + m_Layer: 5 + m_Name: skillName + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5485375274710847023 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3751196042077039686} + 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: 2103071683812037302} + 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: 131, y: 22.5} + m_SizeDelta: {x: 172.624, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2878705972747618096 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3751196042077039686} + m_CullTransparentMesh: 1 +--- !u!114 &3853808377813099131 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3751196042077039686} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData: + m_Font: {fileID: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3} + m_FontSize: 18 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u6280\u80FD\u540D\u5B57\u6700\u591A\u4E5D\u4E2A\u5B57" --- !u!1 &3761757374374160689 GameObject: m_ObjectHideFlags: 0 @@ -2948,6 +3732,42 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: -20} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &3806801545278731314 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7023287984592648684} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7023287984592648684 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3806801545278731314} + 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: 4214572622581633858} + m_Father: {fileID: 4261690897775698385} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &3917494060144924217 GameObject: m_ObjectHideFlags: 0 @@ -3639,6 +4459,117 @@ MonoBehaviour: m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: "\u603B\u5206" +--- !u!1 &4690364241484144738 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5954402279828222002} + m_Layer: 5 + m_Name: progress + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5954402279828222002 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4690364241484144738} + 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: 4261690897775698385} + m_Father: {fileID: 5231010977334089563} + 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: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &4697064735837044207 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2455925084605273242} + - component: {fileID: 995679829488955927} + - component: {fileID: 1854780981945531472} + m_Layer: 5 + m_Name: btms + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2455925084605273242 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4697064735837044207} + 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: 6564398317966452634} + 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: -257.7442} + m_SizeDelta: {x: 700, y: 622.456} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &995679829488955927 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4697064735837044207} + m_CullTransparentMesh: 1 +--- !u!114 &1854780981945531472 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4697064735837044207} + 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: 7f3b1220317607e44bbb8f0e1998044a, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &4803949268868169352 GameObject: m_ObjectHideFlags: 0 @@ -3729,6 +4660,43 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_ShowMaskGraphic: 0 +--- !u!1 &4813461242036232361 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1897121867755047412} + m_Layer: 5 + m_Name: currentSkill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1897121867755047412 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4813461242036232361} + 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: 2103071683812037302} + - {fileID: 5231010977334089563} + m_Father: {fileID: 6564398317966452634} + 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: -88.4} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &4881858099498406784 GameObject: m_ObjectHideFlags: 0 @@ -4329,6 +5297,42 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &5245283774456000308 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7899058211053113832} + m_Layer: 5 + m_Name: uLevelSkillsParent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7899058211053113832 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5245283774456000308} + 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: 6564398317966452634} + m_Father: {fileID: 2656598926787525001} + 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: 11, y: 170.95001} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &5261731462418036415 GameObject: m_ObjectHideFlags: 0 @@ -5527,6 +6531,127 @@ MonoBehaviour: m_VerticalOverflow: 0 m_LineSpacing: 1 m_Text: "\u65E5\u671F" +--- !u!1 &6156877289016827338 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 221816933674858199} + - component: {fileID: 2956925575926562307} + - component: {fileID: 3964108092199121655} + - component: {fileID: 9173407196745132658} + m_Layer: 5 + m_Name: close + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &221816933674858199 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6156877289016827338} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.0000306, y: 1.0000306, z: 1.0000306} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2039448843946965226} + m_Father: {fileID: 6564398317966452634} + 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: 224.4, y: 15} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2956925575926562307 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6156877289016827338} + m_CullTransparentMesh: 1 +--- !u!114 &3964108092199121655 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6156877289016827338} + 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: 0.5235849, b: 0.5235849, 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: 7f3b1220317607e44bbb8f0e1998044a, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 2 +--- !u!114 &9173407196745132658 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6156877289016827338} + 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: 3964108092199121655} + m_OnClick: + m_PersistentCalls: + m_Calls: [] --- !u!1 &6260722974739994160 GameObject: m_ObjectHideFlags: 0 @@ -5946,6 +7071,235 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 100 +--- !u!1 &6507916841219353653 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7499461716450536788} + - component: {fileID: 2539887872140404230} + - component: {fileID: 7432367500441650465} + m_Layer: 5 + m_Name: coin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7499461716450536788 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6507916841219353653} + 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: 2488879254647485799} + 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: 41.5, y: -0.0000038147} + m_SizeDelta: {x: 15.859, y: 15.859} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2539887872140404230 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6507916841219353653} + m_CullTransparentMesh: 1 +--- !u!114 &7432367500441650465 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6507916841219353653} + 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: 1836bfb842a045f4f9a4a38b08b395ef, 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 &6521430387445301467 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6621757540638538027} + - component: {fileID: 1362714163699844241} + - component: {fileID: 3099977125012537327} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6621757540638538027 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6521430387445301467} + 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: 5988154149403173270} + 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 &1362714163699844241 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6521430387445301467} + m_CullTransparentMesh: 1 +--- !u!114 &3099977125012537327 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6521430387445301467} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData: + m_Font: {fileID: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u53D6\u6D88" +--- !u!1 &6616903122342911655 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2937041997228588268} + - component: {fileID: 7175253492260547835} + - component: {fileID: 4659634362540183014} + m_Layer: 5 + m_Name: skillIcon + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2937041997228588268 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6616903122342911655} + 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: 2103071683812037302} + 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.000015258789, y: 0.000091552734} + m_SizeDelta: {x: 70, y: 70} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7175253492260547835 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6616903122342911655} + m_CullTransparentMesh: 1 +--- !u!114 &4659634362540183014 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6616903122342911655} + 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: 1a62adf36834dd04181a6dd61344f8b8, 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 &6711184958089655696 GameObject: m_ObjectHideFlags: 0 @@ -6072,6 +7426,85 @@ MonoBehaviour: m_OnValueChanged: m_PersistentCalls: m_Calls: [] +--- !u!1 &6755620312107014049 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8358609045650433087} + - component: {fileID: 9007243050989541259} + - component: {fileID: 1536502402355180482} + m_Layer: 5 + m_Name: skillTitle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8358609045650433087 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6755620312107014049} + 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: 2103071683812037302} + 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: 42.500015, y: 54.900055} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9007243050989541259 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6755620312107014049} + m_CullTransparentMesh: 1 +--- !u!114 &1536502402355180482 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6755620312107014049} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData: + m_Font: {fileID: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u5F53\u524D\u9009\u62E9\u7684\u6280\u80FD" --- !u!1 &6828634973988435822 GameObject: m_ObjectHideFlags: 0 @@ -6791,6 +8224,72 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7332110575859254484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6564398317966452634} + - component: {fileID: 990502604901210132} + m_Layer: 5 + m_Name: uLevel_skills + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6564398317966452634 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7332110575859254484} + 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: 7383026274984665155} + - {fileID: 2455925084605273242} + - {fileID: 221816933674858199} + - {fileID: 1835220823595840135} + - {fileID: 1897121867755047412} + m_Father: {fileID: 7899058211053113832} + 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: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &990502604901210132 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7332110575859254484} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 522d48b038e44bd4289b57ea155ae0b9, type: 3} + m_Name: + m_EditorClassIdentifier: + ulsSO: {fileID: 11400000, guid: acf1a85d46975694aba2cdc12b9b3dfb, type: 2} + pso: {fileID: 11400000, guid: a59c019c71199384eaac0703299047c8, type: 2} + uSkillBarPrefab: {fileID: 4419549278339915466, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + uSkillBarParent: {fileID: 1835220823595840135} + btm_skillImage: {fileID: 2149662359065615016} + skillIcon_Profile: {fileID: 4659634362540183014} + skill_thisSkillName: {fileID: 3853808377813099131} + skill_thisSkillSummary: {fileID: 2965289754456474864} + need_progress: {fileID: 4861387700679993720} + need_text: {fileID: 332714026111076778} + need_howmuchCoins: {fileID: 1460463391544595933} + yesChangeButton: {fileID: 6891947993942119220} + noCancelButton: {fileID: 247695210710589904} --- !u!1 &7529950699458791200 GameObject: m_ObjectHideFlags: 0 @@ -6947,6 +8446,47 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7652780697516183293 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5231010977334089563} + m_Layer: 5 + m_Name: notice + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5231010977334089563 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7652780697516183293} + 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: 2034682090639879132} + - {fileID: 5954402279828222002} + - {fileID: 3514268750863439136} + - {fileID: 5988154149403173270} + - {fileID: 2488879254647485799} + - {fileID: 4430768218780818040} + m_Father: {fileID: 1897121867755047412} + 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: 90.834, y: -98.37} + m_SizeDelta: {x: 281.667, y: 100} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &7729003685204017393 GameObject: m_ObjectHideFlags: 0 @@ -7022,6 +8562,94 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 4 +--- !u!1 &7763494018835761288 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1835220823595840135} + - component: {fileID: 5869069086063591046} + - component: {fileID: 3666572198246654472} + m_Layer: 5 + m_Name: verti + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1835220823595840135 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7763494018835761288} + 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: 4865054498376321125} + - {fileID: 6411648460242401406} + - {fileID: 3590891195598464121} + - {fileID: 4594329760191535907} + - {fileID: 7734175328877407531} + - {fileID: 3536537773565864944} + - {fileID: 5752085606370037636} + - {fileID: 1347022823836729467} + - {fileID: 6863755756414146199} + - {fileID: 3219775947742724870} + - {fileID: 7962970098340026786} + m_Father: {fileID: 6564398317966452634} + 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: -147.64, y: -20.44} + m_SizeDelta: {x: 100, y: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!114 &5869069086063591046 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7763494018835761288} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 1 + m_Spacing: 5 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!114 &3666572198246654472 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7763494018835761288} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 --- !u!1 &7816501423875034877 GameObject: m_ObjectHideFlags: 0 @@ -7441,6 +9069,85 @@ MonoBehaviour: m_EditorClassIdentifier: m_HorizontalFit: 0 m_VerticalFit: 2 +--- !u!1 &8019734510707405555 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4430768218780818040} + - component: {fileID: 8353961352513945458} + - component: {fileID: 1460463391544595933} + m_Layer: 5 + m_Name: needDetail + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4430768218780818040 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8019734510707405555} + 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: 5231010977334089563} + 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: 9.8, y: -171.47} + m_SizeDelta: {x: 104.27, y: 23.95} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8353961352513945458 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8019734510707405555} + m_CullTransparentMesh: 1 +--- !u!114 &1460463391544595933 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8019734510707405555} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 0 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 12800000, guid: 8b8373b0af11dca46b89be60dbe469f8, type: 3} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 2147483647 --- !u!1 &8036666983826655978 GameObject: m_ObjectHideFlags: 0 @@ -8397,6 +10104,81 @@ MonoBehaviour: - status: 4 icon: {fileID: 7919194353434859991, guid: b35fcaa46fa9f3e49b71c103f69df698, type: 3} displayText: +--- !u!1 &8739950018454019565 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4026385068324395086} + - component: {fileID: 2585040713080387830} + - component: {fileID: 3096483923217202497} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4026385068324395086 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8739950018454019565} + 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: 4261690897775698385} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -15.066406, y: 0} + m_SizeDelta: {x: -19.472, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2585040713080387830 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8739950018454019565} + m_CullTransparentMesh: 1 +--- !u!114 &3096483923217202497 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8739950018454019565} + 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: -1936355827857895663, guid: fa360ec6245a3dd43bfbae1ac1093a6e, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 4 --- !u!1 &8783024292570908401 GameObject: m_ObjectHideFlags: 0 @@ -8559,6 +10341,254 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: -20} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &8802335590905128329 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8230633927632511062} + - component: {fileID: 3976573865220037213} + - component: {fileID: 2965289754456474864} + m_Layer: 5 + m_Name: skillSummary + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8230633927632511062 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8802335590905128329} + 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: 2103071683812037302} + 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: 131, y: -12.169} + m_SizeDelta: {x: 172.62, y: 45.662} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3976573865220037213 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8802335590905128329} + m_CullTransparentMesh: 1 +--- !u!114 &2965289754456474864 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8802335590905128329} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData: + m_Font: {fileID: 12800000, guid: bd4be44636ad6c24a9b117a7108a75e9, type: 3} + m_FontSize: 12 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 11 + m_MaxSize: 18 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u5141\u8BB8\u8BBE\u7F6E\u4E00\u4E2A\u81EA\u5B9A\u7684\u767E\u5206\u6BD4\u9ED1\u5E55\u6765\u906E\u4F4F\u8F68\u9053\u3002\u6700\u5C11\u906E\u632120%\uFF0C\u6700\u591A\u906E\u632190%\u3002\u6BCF\u906E\u63211%\uFF0C\u63D0\u4F9B1.5%\u7ED3\u7B97\u5956\u52B1\u52A0\u6210\u3002" +--- !u!1 &8857892235686072722 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2034682090639879132} + - component: {fileID: 6735996646745806270} + - component: {fileID: 1216134759592633173} + - component: {fileID: 7553541148079781697} + m_Layer: 5 + m_Name: noticeText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2034682090639879132 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8857892235686072722} + 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: 5231010977334089563} + 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: 45.35} + m_SizeDelta: {x: 256, y: 0} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &6735996646745806270 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8857892235686072722} + m_CullTransparentMesh: 1 +--- !u!114 &1216134759592633173 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8857892235686072722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData: + m_Font: {fileID: 12800000, guid: bd4be44636ad6c24a9b117a7108a75e9, type: 3} + m_FontSize: 16 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 1 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u201C\u4E13\u5458\u7B49\u7EA7\u7279\u6280\u201D\n\n\u73A9\u5BB6\u6BCF\u5230\u8FBE\u4E00\u4E2A\u7B49\u7EA7\uFF0C\u53EF\u89E3\u9501\u4E00\u4E2A\u7279\u522B\u7684\u4E13\u5458\u7B49\u7EA7\u6280\u80FD\uFF0C\u8FD9\u4E9B\u6280\u80FD\u53EF\u4F5C\u7528\u4E8E\u5404\u79CD\u65B9\u9762\uFF0C\u60A8\u53EF\u4EE5\u968F\u610F\u5207\u6362\u5DF2\u89E3\u9501\u7684\u6280\u80FD\uFF0C\u83B7\u5F97\u610F\u60F3\u4E0D\u5230\u7684\u5947\u6548\u3002\n\n\u6BCF\u6B21\u5207\u6362\uFF0C\u9700\u8981\u82B1\u8D39\u6700\u5927\u91D1\u5E01\u76841%\n\uFF08\u6700\u5C11\u82B1\u8D39200\u8D27\u5E01\uFF09\u3002\u66F4\u6362\u4E00\u6B21\u4E13\u5458\u6280\u80FD\u540E\uFF0C\u987B\u7B49\u5F853\u573A\u6BD4\u8D5B\u51B7\u5374\u540E\u65B9\u53EF\u518D\u6B21\u5207\u6362\u3002" +--- !u!114 &7553541148079781697 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8857892235686072722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalFit: 0 + m_VerticalFit: 2 +--- !u!1 &9004414888191982066 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2921030353387055411} + - component: {fileID: 226235937606901149} + - component: {fileID: 2070595549145973883} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2921030353387055411 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9004414888191982066} + 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: 7700247477075624768} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &226235937606901149 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9004414888191982066} + m_CullTransparentMesh: 1 +--- !u!114 &2070595549145973883 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9004414888191982066} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 --- !u!1 &9013549108308085337 GameObject: m_ObjectHideFlags: 0 @@ -8989,6 +11019,10 @@ MonoBehaviour: uL_curr: {fileID: 6100541213623280241} uL_post: {fileID: 8872685488964938081} view_levelDetail: {fileID: 5707390469798268039} + close_levelDetail: {fileID: 9173407196745132658} + uLevelPanel: {fileID: 7332110575859254484} + uls: {fileID: 990502604901210132} + pso: {fileID: 11400000, guid: a59c019c71199384eaac0703299047c8, type: 2} --- !u!1 &9107772938827039203 GameObject: m_ObjectHideFlags: 0 @@ -9049,6 +11083,218 @@ MonoBehaviour: more_gameHistory: {fileID: 3393082902437890837} more_gameHistoryButton: {fileID: 3805083442972962419} shut_gameHistoryButton: {fileID: 5620466248664201814} +--- !u!1 &9129013850980607410 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3514268750863439136} + - component: {fileID: 4944136553538984788} + - component: {fileID: 823334671252473693} + - component: {fileID: 6891947993942119220} + m_Layer: 5 + m_Name: yesChange + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3514268750863439136 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9129013850980607410} + 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: 3527716783478569440} + m_Father: {fileID: 5231010977334089563} + 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: -81.1, y: -195.2} + m_SizeDelta: {x: 98.692, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4944136553538984788 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9129013850980607410} + m_CullTransparentMesh: 1 +--- !u!114 &823334671252473693 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9129013850980607410} + 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: 0.8454269, b: 0.6367924, 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: 7f3b1220317607e44bbb8f0e1998044a, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 3 +--- !u!114 &6891947993942119220 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9129013850980607410} + 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: 823334671252473693} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &9132919281722134171 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4261690897775698385} + - component: {fileID: 4861387700679993720} + m_Layer: 5 + m_Name: Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4261690897775698385 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9132919281722134171} + 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: 4026385068324395086} + - {fileID: 7023287984592648684} + - {fileID: 7700247477075624768} + - {fileID: 2000924201602755833} + m_Father: {fileID: 5954402279828222002} + 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: 15.533, y: -153.4} + m_SizeDelta: {x: 281.065, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &4861387700679993720 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9132919281722134171} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 1, g: 1, b: 1, a: 1} + 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: 0 + m_TargetGraphic: {fileID: 2070595549145973883} + m_FillRect: {fileID: 4214572622581633858} + m_HandleRect: {fileID: 2921030353387055411} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 1 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] --- !u!1 &9223202854487639407 GameObject: m_ObjectHideFlags: 0 @@ -9226,6 +11472,316 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 6155334586977510247, guid: c42cf5fea198c5c408a5c7a8f17809b0, type: 3} m_PrefabInstance: {fileID: 138649055616525395} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1047706824905183979 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1835220823595840135} + m_Modifications: + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4419549278339915466, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Name + value: levelRewardPrefab (3) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 26d681beab8631442ac57714a80f1f37, type: 3} +--- !u!224 &3219775947742724870 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + m_PrefabInstance: {fileID: 1047706824905183979} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &1382759816406006301 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1835220823595840135} + m_Modifications: + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.x + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.y + value: -190 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4419549278339915466, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Name + value: levelRewardPrefab (9) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 26d681beab8631442ac57714a80f1f37, type: 3} +--- !u!224 &3536537773565864944 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + m_PrefabInstance: {fileID: 1382759816406006301} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &1437117087247889812 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1835220823595840135} + m_Modifications: + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.x + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.y + value: -85 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4419549278339915466, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Name + value: levelRewardPrefab (8) + objectReference: {fileID: 0} + - target: {fileID: 7517620086478948793, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: descriptionOffsetX + value: 150 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 26d681beab8631442ac57714a80f1f37, type: 3} +--- !u!224 &3590891195598464121 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + m_PrefabInstance: {fileID: 1437117087247889812} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1788107288474368718 PrefabInstance: m_ObjectHideFlags: 0 @@ -9328,6 +11884,210 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 6155334586977510247, guid: c42cf5fea198c5c408a5c7a8f17809b0, type: 3} m_PrefabInstance: {fileID: 1788107288474368718} m_PrefabAsset: {fileID: 0} +--- !u!1001 &2154572710759123662 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1835220823595840135} + m_Modifications: + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4419549278339915466, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Name + value: levelRewardPrefab (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 26d681beab8631442ac57714a80f1f37, type: 3} +--- !u!224 &4594329760191535907 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + m_PrefabInstance: {fileID: 2154572710759123662} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &3500797722994495894 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1835220823595840135} + m_Modifications: + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.x + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.y + value: -260 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4419549278339915466, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Name + value: levelRewardPrefab (6) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 26d681beab8631442ac57714a80f1f37, type: 3} +--- !u!224 &1347022823836729467 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + m_PrefabInstance: {fileID: 3500797722994495894} + m_PrefabAsset: {fileID: 0} --- !u!1001 &4120325743226963676 PrefabInstance: m_ObjectHideFlags: 0 @@ -9552,6 +12312,10 @@ PrefabInstance: propertyPath: m_Name value: uAchievementPrefab objectReference: {fileID: 0} + - target: {fileID: 3853073308254161695, guid: c42cf5fea198c5c408a5c7a8f17809b0, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 6155334586977510247, guid: c42cf5fea198c5c408a5c7a8f17809b0, type: 3} propertyPath: m_Pivot.x value: 0.5 @@ -9744,6 +12508,210 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 6155334586977510247, guid: c42cf5fea198c5c408a5c7a8f17809b0, type: 3} m_PrefabInstance: {fileID: 5056820871234725515} m_PrefabAsset: {fileID: 0} +--- !u!1001 &5292166754513419462 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1835220823595840135} + m_Modifications: + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.x + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.y + value: -155 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4419549278339915466, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Name + value: levelRewardPrefab (5) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 26d681beab8631442ac57714a80f1f37, type: 3} +--- !u!224 &7734175328877407531 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + m_PrefabInstance: {fileID: 5292166754513419462} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &5523354852071688271 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1835220823595840135} + m_Modifications: + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.x + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.y + value: -365 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4419549278339915466, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Name + value: levelRewardPrefab (7) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 26d681beab8631442ac57714a80f1f37, type: 3} +--- !u!224 &7962970098340026786 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + m_PrefabInstance: {fileID: 5523354852071688271} + m_PrefabAsset: {fileID: 0} --- !u!1001 &6287447113636862892 PrefabInstance: m_ObjectHideFlags: 0 @@ -9846,6 +12814,214 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 6155334586977510247, guid: c42cf5fea198c5c408a5c7a8f17809b0, type: 3} m_PrefabInstance: {fileID: 6287447113636862892} m_PrefabAsset: {fileID: 0} +--- !u!1001 &7034877354444298632 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1835220823595840135} + m_Modifications: + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4419549278339915466, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Name + value: levelRewardPrefab + objectReference: {fileID: 0} + - target: {fileID: 7517620086478948793, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: descriptionOffsetX + value: 150 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 26d681beab8631442ac57714a80f1f37, type: 3} +--- !u!224 &4865054498376321125 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + m_PrefabInstance: {fileID: 7034877354444298632} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &7923874113832509033 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1835220823595840135} + m_Modifications: + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4419549278339915466, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Name + value: levelRewardPrefab (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 26d681beab8631442ac57714a80f1f37, type: 3} +--- !u!224 &5752085606370037636 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + m_PrefabInstance: {fileID: 7923874113832509033} + m_PrefabAsset: {fileID: 0} --- !u!1001 &8181091264550989292 PrefabInstance: m_ObjectHideFlags: 0 @@ -9952,3 +13128,211 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 7028528044515112815, guid: 8c7f1125b672ba54fb24d10e0cc4095a, type: 3} m_PrefabInstance: {fileID: 8181091264550989292} m_PrefabAsset: {fileID: 0} +--- !u!1001 &8853516845883926931 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1835220823595840135} + m_Modifications: + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.x + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.y + value: -50 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4419549278339915466, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Name + value: levelRewardPrefab (4) + objectReference: {fileID: 0} + - target: {fileID: 7517620086478948793, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: descriptionOffsetX + value: 150 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 26d681beab8631442ac57714a80f1f37, type: 3} +--- !u!224 &6411648460242401406 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + m_PrefabInstance: {fileID: 8853516845883926931} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &9035407889471047546 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1835220823595840135} + m_Modifications: + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.x + value: 450 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.x + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_AnchoredPosition.y + value: -295 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4419549278339915466, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + propertyPath: m_Name + value: levelRewardPrefab (10) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 26d681beab8631442ac57714a80f1f37, type: 3} +--- !u!224 &6863755756414146199 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2460305581810160109, guid: 26d681beab8631442ac57714a80f1f37, type: 3} + m_PrefabInstance: {fileID: 9035407889471047546} + m_PrefabAsset: {fileID: 0} diff --git a/Assets/playerInfoDisplay/uAchievement/uAchievementPrefab.prefab b/Assets/playerInfoDisplay/uAchievement/uAchievementPrefab.prefab index 4cfa0f64..be543367 100644 --- a/Assets/playerInfoDisplay/uAchievement/uAchievementPrefab.prefab +++ b/Assets/playerInfoDisplay/uAchievement/uAchievementPrefab.prefab @@ -164,6 +164,7 @@ GameObject: m_Component: - component: {fileID: 6155334586977510247} - component: {fileID: 4151510886845045432} + - component: {fileID: 7562484254110654814} m_Layer: 5 m_Name: uAchievementPrefab m_TagString: Untagged @@ -208,6 +209,18 @@ MonoBehaviour: aName: {fileID: 6612220277252403227} aGetDate: {fileID: 8035948722274830026} aDescription: {fileID: 1893507208843142754} +--- !u!114 &7562484254110654814 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3853073308254161695} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76ce63b908338a84c8a3aa071b90c46b, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &4178773801772122773 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/playerInfoDisplay/uLevel.cs b/Assets/playerInfoDisplay/uLevel.cs index a867917f..2c061d36 100644 --- a/Assets/playerInfoDisplay/uLevel.cs +++ b/Assets/playerInfoDisplay/uLevel.cs @@ -10,4 +10,54 @@ public class uLevel : MonoBehaviour public Text uL_post; public Button view_levelDetail; + public Button close_levelDetail; + + [Header("uLevelPanel")] + public GameObject uLevelPanel; + + public uLevel_skills uls; + + [Header("so")] + public Player_SO pso; + + private void Start() + { + if (pso == null) + pso = Resources.Load("playerdata/playerData_uniqueData"); + + if (uLevelPanel != null) + uLevelPanel.SetActive(false); + + if (uls != null && pso != null) + uls.SetPlayerSo(pso); + + if (view_levelDetail != null) + { + view_levelDetail.onClick.RemoveListener(OpenLevelDetailPanel); + view_levelDetail.onClick.AddListener(OpenLevelDetailPanel); + } + + if (close_levelDetail != null) + { + close_levelDetail.onClick.RemoveListener(CloseLevelDetailPanel); + close_levelDetail.onClick.AddListener(CloseLevelDetailPanel); + } + } + + private void OpenLevelDetailPanel() + { + if (uLevelPanel == null) + return; + + if (uls != null && pso != null) + uls.SetPlayerSo(pso); + + uLevelPanel.SetActive(true); + } + + private void CloseLevelDetailPanel() + { + if (uLevelPanel != null) + uLevelPanel.SetActive(false); + } } diff --git a/Assets/playerInfoDisplay/uRader/uBehaviourRaderController.cs b/Assets/playerInfoDisplay/uRader/uBehaviourRaderController.cs index d822ff8a..392a1076 100644 --- a/Assets/playerInfoDisplay/uRader/uBehaviourRaderController.cs +++ b/Assets/playerInfoDisplay/uRader/uBehaviourRaderController.cs @@ -18,6 +18,7 @@ public class uBehaviourRaderController : MonoBehaviour public URadarChartController radarChartController; public UGUIChartBridge chartBridge; public RankConfig rankConfig; + public bool hideWhenOverlayVisible = false; [Header("Async")] public bool reloadOnEnable = true; @@ -175,10 +176,20 @@ public class uBehaviourRaderController : MonoBehaviour child.gameObject.SetActive(child == target); } + + if (!uRaderObj.activeSelf) + { + uRaderObj.SetActive(true); + } } private void BindOverlayVisibility() { + if (!hideWhenOverlayVisible) + { + return; + } + if (overlaySubscribed) { return; @@ -218,7 +229,7 @@ public class uBehaviourRaderController : MonoBehaviour return; } - uRaderObj.SetActive(!overlayVisible); + uRaderObj.SetActive(!hideWhenOverlayVisible || !overlayVisible); } private void ApplySummary(BehaviourRadarSummary summary) diff --git a/Assets/playerInfoDisplay/uls.meta b/Assets/playerInfoDisplay/uls.meta new file mode 100644 index 00000000..0f00e96f --- /dev/null +++ b/Assets/playerInfoDisplay/uls.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 96251f1ca650d554f886d2e2ea7bde5b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/playerInfoDisplay/uls/levelRewardPrefab.prefab b/Assets/playerInfoDisplay/uls/levelRewardPrefab.prefab new file mode 100644 index 00000000..2d212d36 --- /dev/null +++ b/Assets/playerInfoDisplay/uls/levelRewardPrefab.prefab @@ -0,0 +1,296 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2099462153568767799 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 665396819362690529} + - component: {fileID: 3192217589302937993} + - component: {fileID: 5556623676502886536} + m_Layer: 5 + m_Name: levelID + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &665396819362690529 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2099462153568767799} + 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: 9152270112823009895} + 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: -107.33, y: 0} + m_SizeDelta: {x: 25.792, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3192217589302937993 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2099462153568767799} + m_CullTransparentMesh: 1 +--- !u!114 &5556623676502886536 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2099462153568767799} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData: + m_Font: {fileID: 12800000, guid: 8b8373b0af11dca46b89be60dbe469f8, type: 3} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 10 +--- !u!1 &2343926165364488871 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9152270112823009895} + - component: {fileID: 4801688296739999581} + - component: {fileID: 4501378674247754304} + m_Layer: 5 + m_Name: btm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9152270112823009895 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2343926165364488871} + 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: 2290428063649654242} + - {fileID: 665396819362690529} + m_Father: {fileID: 2460305581810160109} + 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: 250, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4801688296739999581 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2343926165364488871} + m_CullTransparentMesh: 1 +--- !u!114 &4501378674247754304 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2343926165364488871} + 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: -52179173452712981, guid: be120bf969ae2c84fa997ecca6dd28e6, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 2 +--- !u!1 &3339470438795980614 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2290428063649654242} + - component: {fileID: 4129409205783608839} + - component: {fileID: 534678815217464394} + m_Layer: 5 + m_Name: skillName + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2290428063649654242 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3339470438795980614} + 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: 9152270112823009895} + 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: 1.4, y: 0} + m_SizeDelta: {x: 187.733, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4129409205783608839 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3339470438795980614} + m_CullTransparentMesh: 1 +--- !u!114 &534678815217464394 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3339470438795980614} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData: + m_Font: {fileID: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3} + m_FontSize: 20 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 3 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u5076\u50CF\u5927\u5E08\uFF1A\u8D5B\u540E\u611F\u609F" +--- !u!1 &4419549278339915466 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2460305581810160109} + - component: {fileID: 7517620086478948793} + m_Layer: 5 + m_Name: levelRewardPrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2460305581810160109 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4419549278339915466} + 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: 9152270112823009895} + 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: 450, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &7517620086478948793 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4419549278339915466} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 427d68583c7d9ab4588888b68dc7a8d2, type: 3} + m_Name: + m_EditorClassIdentifier: + enableSprite: {fileID: -52179173452712981, guid: be120bf969ae2c84fa997ecca6dd28e6, type: 3} + availableSprite: {fileID: 2561534620446350566, guid: 23a48ca1e983a4c47971fcf7eab26b89, type: 3} + lockedSprite: {fileID: -1936355827857895663, guid: fa360ec6245a3dd43bfbae1ac1093a6e, type: 3} + unknownSprite: {fileID: 21300000, guid: 931f6455943555649a61ed7f1c76cbf6, type: 3} + preSelectSprite: {fileID: 7919194353434859991, guid: b35fcaa46fa9f3e49b71c103f69df698, type: 3} + levelName: {fileID: 5556623676502886536} + statusImg: {fileID: 4501378674247754304} + thisSkillName: {fileID: 534678815217464394} + descriptionPrefab: {fileID: 2219571326304505587, guid: bde76837f913f3943836d4f83292618b, type: 3} + descriptionOffsetX: 150 diff --git a/Assets/playerInfoDisplay/uls/levelRewardPrefab.prefab.meta b/Assets/playerInfoDisplay/uls/levelRewardPrefab.prefab.meta new file mode 100644 index 00000000..e6bd3ede --- /dev/null +++ b/Assets/playerInfoDisplay/uls/levelRewardPrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 26d681beab8631442ac57714a80f1f37 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/playerInfoDisplay/uls/lrPrefab.cs b/Assets/playerInfoDisplay/uls/lrPrefab.cs new file mode 100644 index 00000000..53234b7b --- /dev/null +++ b/Assets/playerInfoDisplay/uls/lrPrefab.cs @@ -0,0 +1,184 @@ +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.EventSystems; +using System.Collections; + +public class lrPrefab : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler +{ + [Header("sprite")] + public Sprite enableSprite; + public Sprite availableSprite; + public Sprite lockedSprite; + public Sprite unknownSprite; + public Sprite preSelectSprite; + + [Header("uis")] + public Text levelName; + public Image statusImg; + public Text thisSkillName; + + [Header("desOBJ")] + public GameObject descriptionPrefab; + public float descriptionOffsetX = 80f; + + private uLevel_skills owner; + private userLevel_skills_SO ownerSo; + private userLevel_skills_SO.UserLevelSkillEntry boundEntry; + private int boundIndex = -1; + private bool isUnlocked = false; + private Coroutine hoverCoroutine; + private GameObject spawnedDescription; + + public void Bind(uLevel_skills ownerController, userLevel_skills_SO sourceSo, int index, userLevel_skills_SO.UserLevelSkillEntry entry, bool unlocked) + { + owner = ownerController; + ownerSo = sourceSo; + boundIndex = index; + boundEntry = entry; + isUnlocked = unlocked; + + if (levelName != null) + levelName.text = entry != null ? entry.userLevel.ToString() : string.Empty; + + RefreshVisualState(); + } + + public void RefreshVisualState() + { + if (owner != null && boundEntry != null) + isUnlocked = owner.IsSkillUnlocked(boundEntry); + + if (boundEntry == null) + return; + + bool revealLockedSkills = PlayerSkillService.IsSkillEnabled(7); + bool shouldHideLockedSkillInfo = !isUnlocked && !revealLockedSkills; + + if (thisSkillName != null) + { + thisSkillName.text = shouldHideLockedSkillInfo + ? "?????" + : (boundEntry.skillName ?? string.Empty); + } + + if (statusImg == null) + return; + + if (owner != null && owner.IsSkillPreselected(boundIndex)) + statusImg.sprite = preSelectSprite != null ? preSelectSprite : availableSprite; + else if (boundEntry.isEnabled) + statusImg.sprite = enableSprite; + else if (isUnlocked) + statusImg.sprite = availableSprite; + else if (shouldHideLockedSkillInfo) + statusImg.sprite = unknownSprite != null ? unknownSprite : lockedSprite; + else + statusImg.sprite = lockedSprite; + } + + public void OnPointerEnter(PointerEventData eventData) + { + if (boundEntry == null || descriptionPrefab == null) + return; + + if (!isUnlocked && !PlayerSkillService.IsSkillEnabled(7)) + return; + + if (hoverCoroutine != null) + StopCoroutine(hoverCoroutine); + + hoverCoroutine = StartCoroutine(ShowDescriptionAfterDelay()); + } + + public void OnPointerExit(PointerEventData eventData) + { + if (hoverCoroutine != null) + { + StopCoroutine(hoverCoroutine); + hoverCoroutine = null; + } + + HideDescription(); + } + + public void OnPointerClick(PointerEventData eventData) + { + if (owner == null || boundIndex < 0) + return; + + owner.ToggleSkill(boundIndex); + } + + private IEnumerator ShowDescriptionAfterDelay() + { + yield return new WaitForSeconds(0.5f); + hoverCoroutine = null; + ShowDescription(); + } + + private void ShowDescription() + { + if (spawnedDescription != null || descriptionPrefab == null || boundEntry == null) + return; + + RectTransform root = ResolveDescriptionRoot(); + if (root == null) + return; + + spawnedDescription = Instantiate(descriptionPrefab, root); + spawnedDescription.SetActive(true); + spawnedDescription.transform.SetAsLastSibling(); + + esDesPrefab detail = spawnedDescription.GetComponent(); + if (detail != null) + detail.Bind(boundEntry.skillName, boundEntry.skillIcon, boundEntry.skillDescription, boundEntry.skillSummary); + + RectTransform spawnedRect = spawnedDescription.GetComponent(); + if (spawnedRect == null) + return; + + Canvas canvas = root.GetComponentInParent(); + Camera eventCamera = null; + if (canvas != null && canvas.renderMode != RenderMode.ScreenSpaceOverlay) + eventCamera = canvas.worldCamera; + + Vector2 localPoint; + RectTransformUtility.ScreenPointToLocalPointInRectangle(root, Input.mousePosition, eventCamera, out localPoint); + localPoint.x += descriptionOffsetX; + spawnedRect.anchoredPosition = localPoint; + } + + private RectTransform ResolveDescriptionRoot() + { + Canvas canvas = GetComponentInParent(); + if (canvas == null) + return null; + + Canvas rootCanvas = canvas.rootCanvas != null ? canvas.rootCanvas : canvas; + return rootCanvas.transform as RectTransform; + } + + private void HideDescription() + { + if (spawnedDescription == null) + return; + + if (Application.isPlaying) + Destroy(spawnedDescription); + else + DestroyImmediate(spawnedDescription); + + spawnedDescription = null; + } + + private void OnDisable() + { + if (hoverCoroutine != null) + { + StopCoroutine(hoverCoroutine); + hoverCoroutine = null; + } + + HideDescription(); + } +} diff --git a/Assets/playerInfoDisplay/uls/lrPrefab.cs.meta b/Assets/playerInfoDisplay/uls/lrPrefab.cs.meta new file mode 100644 index 00000000..6fb98923 --- /dev/null +++ b/Assets/playerInfoDisplay/uls/lrPrefab.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 427d68583c7d9ab4588888b68dc7a8d2 \ No newline at end of file diff --git a/Assets/playerInfoDisplay/uls/uLevel_skills.cs b/Assets/playerInfoDisplay/uls/uLevel_skills.cs new file mode 100644 index 00000000..385b80d6 --- /dev/null +++ b/Assets/playerInfoDisplay/uls/uLevel_skills.cs @@ -0,0 +1,415 @@ +using UnityEngine; +using UnityEngine.UI; + +public class uLevel_skills : MonoBehaviour +{ + public userLevel_skills_SO ulsSO; + public Player_SO pso; + + [Header("objs")] + public GameObject uSkillBarPrefab; + public Transform uSkillBarParent; + + [Header("current selected skill details")] + public Image btm_skillImage; + public Image skillIcon_Profile; + public Text skill_thisSkillName; + public Text skill_thisSkillSummary; + + [Header("change")] + public Slider need_progress; + public Text need_text; + public Text need_howmuchCoins; + public Button yesChangeButton; + public Button noCancelButton; + + private readonly System.Collections.Generic.List spawnedBars = new System.Collections.Generic.List(); + private bool hasStarted = false; + private int pendingSkillIndex = -1; + private Color defaultNeedCoinsColor = Color.white; + private const int SkillSwitchCooldownMatches = 3; + private const int SkillSwitchMinimumCost = 200; + + private void Start() + { + hasStarted = true; + CacheUiDefaults(); + RegisterButtons(); + PlayerSkillService.RegisterSkillAsset(ulsSO); + RefreshSkillBars(); + } + + private void OnEnable() + { + CacheUiDefaults(); + RegisterButtons(); + PlayerSkillService.RegisterSkillAsset(ulsSO); + if (hasStarted) + { + RefreshSkillBars(); + } + } + + private void OnDestroy() + { + UnregisterButtons(); + } + + public void SetPlayerSo(Player_SO playerSo) + { + pso = playerSo; + } + + public void RefreshSkillBars() + { + EnsurePlayerSo(); + + if (uSkillBarParent == null || uSkillBarPrefab == null || ulsSO == null) + return; + + NormalizeSelectionState(); + ClearExistingBars(); + spawnedBars.Clear(); + + for (int i = 0; i < ulsSO.skills.Count; i++) + { + var entry = ulsSO.skills[i]; + if (entry == null) + continue; + + GameObject instance = Instantiate(uSkillBarPrefab, uSkillBarParent); + instance.SetActive(true); + + lrPrefab bar = instance.GetComponent(); + if (bar == null) + continue; + + bar.Bind(this, ulsSO, i, entry, IsSkillUnlocked(entry)); + spawnedBars.Add(bar); + } + + RefreshDetailPanel(); + RefreshChangeUi(); + } + + public void ToggleSkill(int index) + { + if (ulsSO == null || index < 0 || index >= ulsSO.skills.Count) + return; + + var entry = ulsSO.skills[index]; + if (entry == null || !IsSkillUnlocked(entry)) + return; + + int currentEnabledIndex = GetEnabledSkillIndex(); + if (index == currentEnabledIndex) + { + pendingSkillIndex = -1; + RefreshDetailPanel(); + RefreshChangeUi(); + RefreshStatusesOnly(); + return; + } + + pendingSkillIndex = pendingSkillIndex == index ? -1 : index; + RefreshDetailPanel(); + RefreshChangeUi(); + RefreshStatusesOnly(); + } + + public bool IsSkillPreselected(int index) + { + return pendingSkillIndex >= 0 && pendingSkillIndex == index; + } + + public bool IsSkillUnlocked(userLevel_skills_SO.UserLevelSkillEntry entry) + { + EnsurePlayerSo(); + + if (entry == null) + return false; + + int currentExp = pso != null ? Mathf.Max(0, pso.player_currentEXP) : 0; + return currentExp >= Mathf.Max(0, entry.thisLevelNeedExps); + } + + private void RefreshStatusesOnly() + { + for (int i = 0; i < spawnedBars.Count; i++) + { + if (spawnedBars[i] == null) + continue; + + spawnedBars[i].RefreshVisualState(); + } + } + + private void RefreshDetailPanel() + { + if (ulsSO == null || ulsSO.skills == null || ulsSO.skills.Count == 0) + { + SetDetailPanel(null); + return; + } + + int detailIndex = pendingSkillIndex >= 0 ? pendingSkillIndex : GetEnabledSkillIndex(); + if (detailIndex < 0 || detailIndex >= ulsSO.skills.Count) + { + SetDetailPanel(null); + return; + } + + SetDetailPanel(ulsSO.skills[detailIndex]); + } + + private void SetDetailPanel(userLevel_skills_SO.UserLevelSkillEntry entry) + { + if (btm_skillImage != null) + { + btm_skillImage.sprite = entry != null ? entry.skillIcon : null; + } + + if (skillIcon_Profile != null) + { + skillIcon_Profile.sprite = entry != null ? entry.skillIcon : null; + } + + if (skill_thisSkillName != null) + { + skill_thisSkillName.text = entry != null ? (entry.skillName ?? string.Empty) : string.Empty; + } + + if (skill_thisSkillSummary != null) + { + skill_thisSkillSummary.text = entry != null ? (entry.skillDescription ?? string.Empty) : string.Empty; + } + } + + private void RefreshChangeUi() + { + int cooldownRemaining = PlayerSkillService.GetSkillSwitchCooldownRemainingMatches(); + int currentEnabledIndex = GetEnabledSkillIndex(); + bool hasPendingSelection = pendingSkillIndex >= 0 && pendingSkillIndex != currentEnabledIndex; + + if (need_text != null) + { + need_text.text = cooldownRemaining > 0 + ? $"还需要{cooldownRemaining}场比赛" + : "可以切换技能"; + } + + if (need_progress != null) + { + need_progress.minValue = 0f; + need_progress.maxValue = 1f; + need_progress.value = cooldownRemaining > 0 + ? Mathf.Clamp01((float)(SkillSwitchCooldownMatches - cooldownRemaining) / SkillSwitchCooldownMatches) + : 1f; + } + + int switchCost = GetSkillSwitchCost(); + bool hasEnoughCoins = HasEnoughCoinsForSwitch(switchCost); + + if (need_howmuchCoins != null) + { + need_howmuchCoins.text = switchCost.ToString(); + need_howmuchCoins.color = hasEnoughCoins ? defaultNeedCoinsColor : Color.red; + } + + if (yesChangeButton != null) + { + yesChangeButton.interactable = hasPendingSelection && cooldownRemaining <= 0 && hasEnoughCoins; + } + + if (noCancelButton != null) + { + noCancelButton.interactable = pendingSkillIndex >= 0; + } + } + + private int GetSkillSwitchCost() + { + int currentCoins = Application.isPlaying + ? PlayerEconomyLedger.EnsureInstance().GetCoins() + : (pso != null ? Mathf.Max(0, pso.Coins) : 0); + int percentCost = Mathf.CeilToInt(currentCoins * 0.01f); + return Mathf.Max(SkillSwitchMinimumCost, percentCost); + } + + private bool HasEnoughCoinsForSwitch(int amount) + { + if (amount <= 0) + return true; + + return Application.isPlaying + ? PlayerEconomyLedger.EnsureInstance().HasEnoughCoins(amount) + : (pso != null && pso.Coins >= amount); + } + + private void HandleConfirmSwitchClicked() + { + int currentEnabledIndex = GetEnabledSkillIndex(); + if (pendingSkillIndex < 0 || pendingSkillIndex == currentEnabledIndex || ulsSO == null) + { + return; + } + + if (PlayerSkillService.GetSkillSwitchCooldownRemainingMatches() > 0) + { + RefreshChangeUi(); + return; + } + + int switchCost = GetSkillSwitchCost(); + bool spent = Application.isPlaying + ? PlayerEconomyLedger.EnsureInstance().TrySpendCoins(switchCost) + : (pso != null && pso.TrySpendCoins(switchCost)); + if (!spent) + { + RefreshChangeUi(); + return; + } + + PlayerSkillService.ConfirmSkillSelection(ulsSO, pendingSkillIndex); + pendingSkillIndex = -1; + MarkSkillsDirty(); + RefreshStatusesOnly(); + RefreshDetailPanel(); + RefreshChangeUi(); + } + + private void HandleCancelPreselectClicked() + { + pendingSkillIndex = -1; + RefreshStatusesOnly(); + RefreshDetailPanel(); + RefreshChangeUi(); + } + + private void ClearExistingBars() + { + for (int i = uSkillBarParent.childCount - 1; i >= 0; i--) + { + Transform child = uSkillBarParent.GetChild(i); + if (Application.isPlaying) + Destroy(child.gameObject); + else + DestroyImmediate(child.gameObject); + } + } + + private void MarkSkillsDirty() + { +#if UNITY_EDITOR + if (!Application.isPlaying && ulsSO != null) + UnityEditor.EditorUtility.SetDirty(ulsSO); +#endif + } + + private void EnsurePlayerSo() + { + if (pso == null) + pso = Resources.Load("playerdata/playerData_uniqueData"); + } + + private void CacheUiDefaults() + { + if (need_howmuchCoins != null) + { + defaultNeedCoinsColor = need_howmuchCoins.color; + } + } + + private void RegisterButtons() + { + if (yesChangeButton != null) + { + yesChangeButton.onClick.RemoveListener(HandleConfirmSwitchClicked); + yesChangeButton.onClick.AddListener(HandleConfirmSwitchClicked); + } + + if (noCancelButton != null) + { + noCancelButton.onClick.RemoveListener(HandleCancelPreselectClicked); + noCancelButton.onClick.AddListener(HandleCancelPreselectClicked); + } + } + + private void UnregisterButtons() + { + if (yesChangeButton != null) + { + yesChangeButton.onClick.RemoveListener(HandleConfirmSwitchClicked); + } + + if (noCancelButton != null) + { + noCancelButton.onClick.RemoveListener(HandleCancelPreselectClicked); + } + } + + private int GetEnabledSkillIndex() + { + if (ulsSO == null || ulsSO.skills == null) + return -1; + + for (int i = 0; i < ulsSO.skills.Count; i++) + { + var entry = ulsSO.skills[i]; + if (entry != null && entry.isEnabled) + return i; + } + + return -1; + } + + private void NormalizeSelectionState() + { + if (ulsSO == null || ulsSO.skills == null || ulsSO.skills.Count == 0) + return; + + int selectedIndex = -1; + for (int i = 0; i < ulsSO.skills.Count; i++) + { + var entry = ulsSO.skills[i]; + if (entry == null || !entry.isEnabled) + continue; + + if (selectedIndex < 0) + { + selectedIndex = i; + } + else + { + entry.isEnabled = false; + } + } + + if (selectedIndex < 0) + { + for (int i = 0; i < ulsSO.skills.Count; i++) + { + var entry = ulsSO.skills[i]; + if (entry == null) + continue; + + selectedIndex = i; + entry.isEnabled = true; + break; + } + } + + for (int i = 0; i < ulsSO.skills.Count; i++) + { + var entry = ulsSO.skills[i]; + if (entry == null) + continue; + + entry.isEnabled = (i == selectedIndex); + } + + MarkSkillsDirty(); + PlayerSkillService.RegisterSkillAsset(ulsSO); + pendingSkillIndex = -1; + } +} diff --git a/Assets/playerInfoDisplay/uls/uLevel_skills.cs.meta b/Assets/playerInfoDisplay/uls/uLevel_skills.cs.meta new file mode 100644 index 00000000..6c62f592 --- /dev/null +++ b/Assets/playerInfoDisplay/uls/uLevel_skills.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 522d48b038e44bd4289b57ea155ae0b9 \ No newline at end of file diff --git a/Assets/playerInfoDisplay/uls/ulsSO.asset b/Assets/playerInfoDisplay/uls/ulsSO.asset new file mode 100644 index 00000000..42832b1d --- /dev/null +++ b/Assets/playerInfoDisplay/uls/ulsSO.asset @@ -0,0 +1,92 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 19a25568f1e1a8b4093dce8a6753be0e, type: 3} + m_Name: ulsSO + m_EditorClassIdentifier: + skills: + - userLevel: 0 + skillName: "\u8D5B\u524D\u51C6\u5907" + skillDescription: "\u4F60\u5DF2\u6765\u5230\u672C\u7D22\u5C3C\u514B\u4E16\u754C\u3002\u8D5B\u524D\u51C6\u5907\u65F6\uFF0C\u4F60\u53EF\u4EE5\u65E0\u9650\u5236\u5730\u8FDB\u5165\u65B0\u624B\u6559\u7A0B\u3002" + skillSummary: "\u5378\u4E0B\u5B83\u65F6\u4F60\u5DF2\u4E0D\u518D\u662F\u65B0\u624B" + isEnabled: 1 + skillIcon: {fileID: 0} + thisLevelNeedExps: 0 + - userLevel: 1 + skillName: "\u8BB0\u5FC6\u8D2D\u4E70\u8BA1\u5212" + skillDescription: "\u5141\u8BB8\u4F60\u4EE510\u91D1\u5E01\u8D2D\u4E701\u4E2A\u8BB0\u5FC6\u788E\u7247\u3002\u88C5\u5907\u6B64\u6280\u80FD\u65F6\u53EF\u4E8E\u5546\u5E97\u89E3\u9501\u4E00\u4E2A\u8D2D\u4E70\u9009\u9879\u3002" + skillSummary: "\u4ECE\u8001\u5E08\u90A3\u91CC\u65B0\u5B66\u4E86\u4EC0\u4E48\uFF1F" + isEnabled: 0 + skillIcon: {fileID: 0} + thisLevelNeedExps: 200 + - userLevel: 2 + skillName: "\u8BB0\u5FC6\u5F52\u8FD8\u8BA1\u5212" + skillDescription: "\u5141\u8BB8\u4F60\u5C061\u4E2A\u8BB0\u5FC6\u788E\u7247\u4EE54\u91D1\u5E01\u552E\u51FA\u3002\u88C5\u5907\u6B64\u6280\u80FD\u65F6\u53EF\u4E8E\u5546\u5E97\u89E3\u9501\u4E00\u4E2A\u8D2D\u4E70\u9009\u9879\u3002" + skillSummary: "\u8001\u5E08\u6559\u7ED9\u4F60\u7684\u53C8\u8FD8\u56DE\u53BB\u4E86\u5417\uFF1F" + isEnabled: 0 + skillIcon: {fileID: 0} + thisLevelNeedExps: 300 + - userLevel: 3 + skillName: "\u6311\u6218\u8005\u6A21\u578B" + skillDescription: "\u5141\u8BB8\u8BBE\u7F6E\u4E00\u4E2A\u81EA\u5B9A\u7684\u767E\u5206\u6BD4\u9ED1\u5E55\u6765\u906E\u4F4F\u8F68\u9053\u3002\u6700\u5C11\u906E\u632120%\uFF0C\u6700\u591A\u906E\u632190%\u3002\u6BCF\u906E\u63211%\uFF0C\u63D0\u4F9B1.5%\u7ED3\u7B97\u5956\u52B1\u52A0\u6210\u3002" + skillSummary: "\u9AD8\u98CE\u9669\u9AD8\u56DE\u62A5\uFF0C\u597D\u5947\u5FC3\u5BB3\u6B7B\u732B\u3002" + isEnabled: 0 + skillIcon: {fileID: 0} + thisLevelNeedExps: 400 + - userLevel: 4 + skillName: "\u8D5B\u540E\u611F\u609F" + skillDescription: "\u6BCF\u8FDB\u884C10\u573A\u6BD4\u8D5B\u53EF\u83B7\u5F97\u4E00\u4EF6\u968F\u673A\u7C7B\u578B\u968F\u673A\u5C5E\u6027\u7684\u8BB0\u5FC6\u3002\u5728\u66F4\u6362\u6280\u80FD\u65F6\u6E05\u96F6\u8BA1\u6570\u5668\u3002" + skillSummary: + isEnabled: 0 + skillIcon: {fileID: 0} + thisLevelNeedExps: 500 + - userLevel: 5 + skillName: "\u6211\u7231\u53D1\u660E" + skillDescription: "\u4F60\u7684\u8BB0\u5FC6\u878D\u5408\u548C\u52A0\u901F\u6240\u9700\u7684\u8D27\u5E01\u51CF\u534A\u3002" + skillSummary: + isEnabled: 0 + skillIcon: {fileID: 0} + thisLevelNeedExps: 600 + - userLevel: 6 + skillName: "\u8FFD\u68A6\u4E4B\u8DEF" + skillDescription: "\u7ED3\u7B97\u65F6\uFF0C\u83B7\u5F97\u5076\u50CF\u5206\u65701\u2030\u7684\u8BB0\u5FC6\u788E\u7247\u3002" + skillSummary: + isEnabled: 0 + skillIcon: {fileID: 0} + thisLevelNeedExps: 700 + - userLevel: 7 + skillName: "\u6D1E\u5BDF" + skillDescription: "\u4F60\u53EF\u4EE5\u770B\u5230\u89D2\u8272\u672A\u89E3\u9501\u7684\u6280\u80FD\u53CA\u5176\u4ECB\u7ECD\u3002" + skillSummary: "\u4F60\u7684\u76EE\u5149\u6781\u5177\u6218\u7565\u524D\u77BB\u6027\u3002" + isEnabled: 0 + skillIcon: {fileID: 0} + thisLevelNeedExps: 800 + - userLevel: 8 + skillName: "95\u6298" + skillDescription: "\u6D88\u8D39\u8BB0\u5FC6\u788E\u7247\u548Ccoins\u65F6\u767E\u5206\u6BD4\u8FD4\u8FD8\u3002\u4F60\u6BCF\u62E5\u6709\u4E00\u4E2A\u5076\u50CF\uFF0C\u589E\u52A0\u6D88\u8D39\u8FD4\u8FD8\u7684\u6BD4\u4F8B0.5%\u3002\u6700\u591A\u5408\u8BA1\u8FD4\u8FD85%\u3002" + skillSummary: + isEnabled: 0 + skillIcon: {fileID: 0} + thisLevelNeedExps: 900 + - userLevel: 9 + skillName: "\u5229\u6DA6\u63D0\u53D6\u5668" + skillDescription: "\u7ED3\u7B97\u65F6\uFF0C\u83B7\u5F97\u5076\u50CF\u5206\u65702\u2030\u7684\u91D1\u5E01\u3002" + skillSummary: "\u6B7B\u4E0E\u7A0E" + isEnabled: 0 + skillIcon: {fileID: 0} + thisLevelNeedExps: 1100 + - userLevel: 10 + skillName: "\u9876\u5CF0\u76F8\u89C1" + skillDescription: "\u6E38\u620F\u4E2D\u4F60\u7684\u89C6\u89D2\u9AD8\u5EA6\u63D0\u9AD810%\u3002" + skillSummary: "\u611F\u6069\u6559\u7EC3\u3002" + isEnabled: 0 + skillIcon: {fileID: 0} + thisLevelNeedExps: 1500 diff --git a/Assets/playerInfoDisplay/uls/ulsSO.asset.meta b/Assets/playerInfoDisplay/uls/ulsSO.asset.meta new file mode 100644 index 00000000..7f08634c --- /dev/null +++ b/Assets/playerInfoDisplay/uls/ulsSO.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: acf1a85d46975694aba2cdc12b9b3dfb +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/playerInfoDisplay/uls/userLevel_skills_SO.cs b/Assets/playerInfoDisplay/uls/userLevel_skills_SO.cs new file mode 100644 index 00000000..894c863f --- /dev/null +++ b/Assets/playerInfoDisplay/uls/userLevel_skills_SO.cs @@ -0,0 +1,20 @@ +using UnityEngine; +using System.Collections.Generic; + +[CreateAssetMenu(fileName = "userLevel_skills", menuName = "Player/UserLevel Skills SO")] +public class userLevel_skills_SO : ScriptableObject +{ + [System.Serializable] + public class UserLevelSkillEntry + { + public int userLevel; + public string skillName; + [TextArea(3, 10)] public string skillDescription; + public string skillSummary; + public bool isEnabled; + public Sprite skillIcon; + public int thisLevelNeedExps; + } + + public List skills = new List(); +} diff --git a/Assets/playerInfoDisplay/uls/userLevel_skills_SO.cs.meta b/Assets/playerInfoDisplay/uls/userLevel_skills_SO.cs.meta new file mode 100644 index 00000000..8fdfc024 --- /dev/null +++ b/Assets/playerInfoDisplay/uls/userLevel_skills_SO.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 19a25568f1e1a8b4093dce8a6753be0e \ No newline at end of file diff --git a/Assets/scripts/Combat/AllyCombatant.cs b/Assets/scripts/Combat/AllyCombatant.cs index 8518f362..bdb0f52b 100644 --- a/Assets/scripts/Combat/AllyCombatant.cs +++ b/Assets/scripts/Combat/AllyCombatant.cs @@ -15,6 +15,7 @@ using TMPro; /// public class AllyCombatant : MonoBehaviour, ICombatant { + private static AllyHero_SO[] cachedAllAllyHeroes; public int slotIndex = 0; // Documentation text normalized. // runtime stats @@ -989,8 +990,8 @@ public class AllyCombatant : MonoBehaviour, ICombatant if (id > 0) { - var all = Resources.LoadAll(""); - foreach (var a in all) + EnsureAllyHeroCache(); + foreach (var a in cachedAllAllyHeroes) { if (a != null && a.ally_heroID == id) { @@ -1049,6 +1050,12 @@ public class AllyCombatant : MonoBehaviour, ICombatant } } + private static void EnsureAllyHeroCache() + { + if (cachedAllAllyHeroes != null) return; + cachedAllAllyHeroes = Resources.LoadAll("") ?? Array.Empty(); + } + // Documentation text normalized. private static AllyHero_SO.AllyLevelInfo GetEffectiveLevelForExp(AllyHero_SO so, int exp) { diff --git a/Assets/scripts/Combat/EnemyCombatant.cs b/Assets/scripts/Combat/EnemyCombatant.cs index 26684310..6a3c925b 100644 --- a/Assets/scripts/Combat/EnemyCombatant.cs +++ b/Assets/scripts/Combat/EnemyCombatant.cs @@ -414,6 +414,8 @@ public class EnemyCombatant : MonoBehaviour, ICombatant } } + AwardBountyScoreToLivingAllies(); + // Finally mark dead isDead = true; @@ -510,6 +512,62 @@ public class EnemyCombatant : MonoBehaviour, ICombatant public bool IsDead => isDead; // New: allow EffectSystem/SkillBuilder to adjust enemy max HP safely + private void AwardBountyScoreToLivingAllies() + { + if (sourceData == null) + return; + + float difficultyLevel = ResolveCurrentDifficultyLevel(); + var stats = sourceData.GetStatsByDifficultyID(_currentDifficultyID); + int calculatedMaxHp = Mathf.Max(0, stats.enemy_maxHP); + float totalBounty = calculatedMaxHp * 0.05f * difficultyLevel + sourceData.enemyBountyBonus; + if (totalBounty <= 0f) + return; + + AllyCombatant[] allies = UnityEngine.Object.FindObjectsByType(FindObjectsInactive.Include, FindObjectsSortMode.None); + List livingAllies = new List(); + for (int i = 0; i < allies.Length; i++) + { + AllyCombatant ally = allies[i]; + if (ally == null) + continue; + if (ally.IsDead || ally.maxHP <= 0 || !ally.gameObject.activeInHierarchy) + continue; + livingAllies.Add(ally); + } + + if (livingAllies.Count == 0) + return; + + int awardPerAlly = Mathf.CeilToInt(totalBounty / livingAllies.Count); + if (awardPerAlly <= 0) + return; + + for (int i = 0; i < livingAllies.Count; i++) + { + livingAllies[i].AddScoreDirect(awardPerAlly); + } + } + + private float ResolveCurrentDifficultyLevel() + { + BeatmapManager beatmapManager = BeatmapManager.Instance; + if (beatmapManager == null || beatmapManager.assignedSongData == null || beatmapManager.assignedSongData.chartFiles == null) + return 1f; + + List chartFiles = beatmapManager.assignedSongData.chartFiles; + for (int i = 0; i < chartFiles.Count; i++) + { + ChartFileEntry entry = chartFiles[i]; + if (entry == null || entry.difficulty != _currentDifficultyID) + continue; + + return Mathf.Max(0f, entry.difficultyLEVEL); + } + + return 1f; + } + public void SetMaxHP(int newMax, bool keepCurrentRatio = true) { if (newMax < 1) newMax = 1; diff --git a/Assets/scripts/Data/EnemyData_SO.cs b/Assets/scripts/Data/EnemyData_SO.cs index 4ea19d73..c4063f21 100644 --- a/Assets/scripts/Data/EnemyData_SO.cs +++ b/Assets/scripts/Data/EnemyData_SO.cs @@ -1,4 +1,4 @@ -using UnityEngine; +using UnityEngine; using System.Collections.Generic; using Spine.Unity; @@ -45,6 +45,9 @@ public class EnemyData_SO : ScriptableObject [Header("Inspector")] public EnemyType enemyType = EnemyType.Simple; + [Header("Reward")] + [Tooltip("Flat bounty score bonus added on top of the HP-based bounty formula.")] + public int enemyBountyBonus = 0; public enum EnemyType { @@ -132,3 +135,4 @@ public class EnemyData_SO : ScriptableObject [Range(0f, 1f)] public float manaGainOnDamagePercent = 0.2f; // default 20% } + diff --git a/Assets/scripts/_runtimecache/PlayerEconomyLedger.cs b/Assets/scripts/_runtimecache/PlayerEconomyLedger.cs index b74ff522..0877a782 100644 --- a/Assets/scripts/_runtimecache/PlayerEconomyLedger.cs +++ b/Assets/scripts/_runtimecache/PlayerEconomyLedger.cs @@ -69,6 +69,10 @@ public sealed class PlayerEconomyLedger : MonoBehaviour PlayerEconomyPayload loadedPayload; loadedFromSave = PlayerEconomyStorage.TryLoad(out loadedPayload); payload = loadedPayload; + if (payload == null) + { + payload = PlayerEconomyStorage.CreateDefaultPayload(); + } initialized = true; SaveNow(); } @@ -165,6 +169,11 @@ public sealed class PlayerEconomyLedger : MonoBehaviour payload.coins -= amount; SaveNow(); DailyTaskEventHub.ReportSpendCoins(amount); + int refundAmount = PlayerSkillService.GetCoinRefundAmount(amount); + if (refundAmount > 0) + { + AddCoins(refundAmount); + } return true; } @@ -183,6 +192,11 @@ public sealed class PlayerEconomyLedger : MonoBehaviour payload.material -= amount; SaveNow(); + int refundAmount = PlayerSkillService.GetMaterialRefundAmount(amount); + if (refundAmount > 0) + { + AddMaterial(refundAmount); + } return true; } diff --git a/Assets/scripts/_runtimecache/PlayerEconomyStorage.cs b/Assets/scripts/_runtimecache/PlayerEconomyStorage.cs index daec4a47..96082276 100644 --- a/Assets/scripts/_runtimecache/PlayerEconomyStorage.cs +++ b/Assets/scripts/_runtimecache/PlayerEconomyStorage.cs @@ -85,7 +85,7 @@ public static class PlayerEconomyStorage { version = 1, lastUpdatedUtcTicks = DateTime.UtcNow.Ticks, - coins = 0, + coins = 999999, material = 0 }; } diff --git a/Assets/scripts/_runtimecache/PlayerSkillService.cs b/Assets/scripts/_runtimecache/PlayerSkillService.cs new file mode 100644 index 00000000..e6c65bbd --- /dev/null +++ b/Assets/scripts/_runtimecache/PlayerSkillService.cs @@ -0,0 +1,652 @@ +using System; +using System.Collections.Generic; +using Bansonic; +using UnityEngine; +using UnityEngine.SceneManagement; + +[Serializable] +public class PlayerSkillSaveData +{ + public int selectedSkillIndex = -1; + public int postMatchRewardCounter = 0; + public int skillSwitchCooldownRemainingMatches = 0; +} + +public sealed class PlayerSkillService : MonoBehaviour +{ + private const string SaveCategory = "player_skills"; + private const string SaveKey = "runtime"; + private const string SkillAssetEditorPath = "Assets/playerInfoDisplay/uls/ulsSO.asset"; + private const int MemoryBuySkillIndex = 1; + private const int MemorySellSkillIndex = 2; + private const int PostMatchEquipmentSkillIndex = 4; + private const int SmeltDiscountSkillIndex = 5; + private const int ScoreToMaterialSkillIndex = 6; + private const int RevealLockedIdolSkillsSkillIndex = 7; + private const int SpendRefundSkillIndex = 8; + private const int ScoreToCoinsSkillIndex = 9; + private const int CameraAngleSkillIndex = 10; + private const int MemoryBuyStoreItemId = 799001; + private const int MemorySellStoreItemId = 799002; + private const int RandomMemoryStoreItemId = 78141; + private const float SpendRefundPerOwnedHero = 0.005f; + private const float MaxSpendRefundRate = 0.05f; + + public static PlayerSkillService Instance { get; private set; } + + private bool initialized; + private PlayerSkillSaveData saveData; + private userLevel_skills_SO registeredSkillAsset; + private storeItemSO cachedRandomMemoryRewardItem; + + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] + private static void Bootstrap() + { + EnsureInstance(); + } + + public static PlayerSkillService EnsureInstance() + { + if (Instance != null) + { + return Instance; + } + + GameObject host = new GameObject("__runtime_player_skill_bridge"); + host.hideFlags = HideFlags.HideInHierarchy | HideFlags.HideInInspector; + DontDestroyOnLoad(host); + Instance = host.AddComponent(); + return Instance; + } + + public static void RegisterSkillAsset(userLevel_skills_SO skillAsset) + { + EnsureInstance().RegisterAssetInternal(skillAsset); + } + + public static bool IsSkillEnabled(int skillIndex) + { + return EnsureInstance().IsSkillEnabledInternal(skillIndex); + } + + public static int GetSelectedSkillIndex() + { + return EnsureInstance().GetSelectedSkillIndexInternal(); + } + + public static int GetSkillSwitchCooldownRemainingMatches() + { + return EnsureInstance().GetSkillSwitchCooldownRemainingMatchesInternal(); + } + + public static void ConfirmSkillSelection(userLevel_skills_SO skillAsset, int selectedIndex) + { + EnsureInstance().ConfirmSkillSelectionInternal(skillAsset, selectedIndex); + } + + public static int ModifySmeltCoinCost(int baseCost) + { + if (!IsSkillEnabled(SmeltDiscountSkillIndex)) + { + return Mathf.Max(0, baseCost); + } + + return Mathf.CeilToInt(Mathf.Max(0, baseCost) * 0.5f); + } + + public static int GetCoinRefundAmount(int spentCoins) + { + return EnsureInstance().GetRefundAmount(spentCoins); + } + + public static int GetMaterialRefundAmount(int spentMaterial) + { + return EnsureInstance().GetRefundAmount(spentMaterial); + } + + public static void NotifySettlementCompleted(int idolScore) + { + EnsureInstance().HandleSettlementCompletedInternal(idolScore); + } + + public static void AppendDynamicStoreItems(List target, Sprite coinSprite, Sprite materialSprite) + { + EnsureInstance().AppendDynamicStoreItemsInternal(target, coinSprite, materialSprite); + } + + public static bool IsPlayerSkillStoreItem(storeItemSO item) + { + return item != null && (item.itemID == MemoryBuyStoreItemId || item.itemID == MemorySellStoreItemId); + } + + public static bool TryPurchasePlayerSkillStoreItem(storeItemSO item, int amount, out string failureMessage, out gItemGet.ItemEntry rewardEntry) + { + return EnsureInstance().TryPurchasePlayerSkillStoreItemInternal(item, amount, out failureMessage, out rewardEntry); + } + + public static void ClearPersistentState() + { + EnsureInstance().ClearPersistentStateInternal(); + } + + private void Awake() + { + if (Instance != null && Instance != this) + { + Destroy(gameObject); + return; + } + + Instance = this; + DontDestroyOnLoad(gameObject); + InitializeIfNeeded(); + } + + private void OnEnable() + { + SceneManager.sceneLoaded += HandleSceneLoaded; + } + + private void OnDisable() + { + SceneManager.sceneLoaded -= HandleSceneLoaded; + } + + private void OnApplicationPause(bool pauseStatus) + { + if (pauseStatus) + { + SaveNow(); + } + } + + private void OnApplicationQuit() + { + SaveNow(); + } + + private void InitializeIfNeeded() + { + if (initialized) + { + return; + } + + initialized = true; + if (!SecureSaveVault.TryLoadJson(SaveCategory, SaveKey, out saveData) || saveData == null) + { + saveData = new PlayerSkillSaveData(); + } + + ResolveSkillAssetIfNeeded(); + SyncSelectionFromAsset(); + ApplySceneBindings(); + } + + private void RegisterAssetInternal(userLevel_skills_SO skillAsset) + { + InitializeIfNeeded(); + + if (skillAsset == null) + { + return; + } + + registeredSkillAsset = skillAsset; + SyncSelectionFromAsset(); + ApplySceneBindings(); + } + + private bool IsSkillEnabledInternal(int skillIndex) + { + InitializeIfNeeded(); + ResolveSkillAssetIfNeeded(); + SyncSelectionFromAsset(); + return saveData != null && saveData.selectedSkillIndex == skillIndex; + } + + private int GetSelectedSkillIndexInternal() + { + InitializeIfNeeded(); + ResolveSkillAssetIfNeeded(); + SyncSelectionFromAsset(); + return saveData != null ? saveData.selectedSkillIndex : -1; + } + + private int GetSkillSwitchCooldownRemainingMatchesInternal() + { + InitializeIfNeeded(); + return saveData != null ? Mathf.Max(0, saveData.skillSwitchCooldownRemainingMatches) : 0; + } + + private int GetRefundAmount(int spendAmount) + { + if (spendAmount <= 0 || !IsSkillEnabledInternal(SpendRefundSkillIndex)) + { + return 0; + } + + float refundRate = Mathf.Min(GetOwnedHeroCount() * SpendRefundPerOwnedHero, MaxSpendRefundRate); + if (refundRate <= 0f) + { + return 0; + } + + return Mathf.FloorToInt(spendAmount * refundRate); + } + + private void HandleSettlementCompletedInternal(int idolScore) + { + InitializeIfNeeded(); + ResolveSkillAssetIfNeeded(); + SyncSelectionFromAsset(); + + if (saveData.skillSwitchCooldownRemainingMatches > 0) + { + saveData.skillSwitchCooldownRemainingMatches = Mathf.Max(0, saveData.skillSwitchCooldownRemainingMatches - 1); + } + + List grantedEntries = new List(); + + if (IsSkillEnabledInternal(PostMatchEquipmentSkillIndex)) + { + saveData.postMatchRewardCounter = Mathf.Max(0, saveData.postMatchRewardCounter) + 1; + if (saveData.postMatchRewardCounter >= 10) + { + saveData.postMatchRewardCounter = 0; + equipmentSO generated = GrantRandomMemoryFromConfiguredSource(); + if (generated != null) + { + grantedEntries.Add(gItemGet.FromEquipment(generated, 1)); + } + } + } + + if (idolScore > 0 && IsSkillEnabledInternal(ScoreToMaterialSkillIndex)) + { + int grantedMaterial = Mathf.FloorToInt(idolScore * 0.001f); + if (grantedMaterial > 0) + { + PlayerEconomyLedger.EnsureInstance().AddMaterial(grantedMaterial); + grantedEntries.Add(gItemGet.Create("\u8bb0\u5fc6\u788e\u7247", null, grantedMaterial, ItemRarity.Uncommon)); + } + } + + if (idolScore > 0 && IsSkillEnabledInternal(ScoreToCoinsSkillIndex)) + { + int grantedCoins = Mathf.FloorToInt(idolScore * 0.002f); + if (grantedCoins > 0) + { + PlayerEconomyLedger.EnsureInstance().AddCoins(grantedCoins); + grantedEntries.Add(gItemGet.Create("\u91d1\u5e01", null, grantedCoins, new Color32(240, 196, 74, 255))); + } + } + + SaveNow(); + + if (grantedEntries.Count > 0) + { + gItemGet.display(grantedEntries); + } + } + + private void AppendDynamicStoreItemsInternal(List target, Sprite coinSprite, Sprite materialSprite) + { + InitializeIfNeeded(); + ResolveSkillAssetIfNeeded(); + SyncSelectionFromAsset(); + + if (target == null) + { + return; + } + + if (IsSkillEnabledInternal(MemoryBuySkillIndex)) + { + target.Add(CreateMemoryBuyStoreItem(materialSprite)); + } + + if (IsSkillEnabledInternal(MemorySellSkillIndex)) + { + target.Add(CreateMemorySellStoreItem(coinSprite)); + } + } + + private bool TryPurchasePlayerSkillStoreItemInternal(storeItemSO item, int amount, out string failureMessage, out gItemGet.ItemEntry rewardEntry) + { + failureMessage = string.Empty; + rewardEntry = default; + + if (item == null) + { + failureMessage = "\u5546\u54c1\u6570\u636e\u4e22\u5931"; + return false; + } + + int purchaseAmount = Mathf.Max(1, amount); + if (item.itemID == MemoryBuyStoreItemId) + { + int totalCost = purchaseAmount * 10; + if (!PlayerEconomyLedger.EnsureInstance().TrySpendCoins(totalCost)) + { + failureMessage = "\u8d27\u5e01\u4e0d\u8db3"; + return false; + } + + PlayerEconomyLedger.EnsureInstance().AddMaterial(purchaseAmount); + rewardEntry = gItemGet.Create("\u8bb0\u5fc6\u788e\u7247", item.itemIcon, purchaseAmount, ItemRarity.Uncommon); + return true; + } + + if (item.itemID == MemorySellStoreItemId) + { + if (!PlayerEconomyLedger.EnsureInstance().TrySpendMaterial(purchaseAmount)) + { + failureMessage = "\u8bb0\u5fc6\u788e\u7247\u4e0d\u8db3"; + return false; + } + + int grantedCoins = purchaseAmount * 4; + PlayerEconomyLedger.EnsureInstance().AddCoins(grantedCoins); + rewardEntry = gItemGet.Create("\u91d1\u5e01", item.itemIcon, grantedCoins, new Color32(240, 196, 74, 255)); + return true; + } + + failureMessage = "\u5f53\u524d\u672a\u914d\u7f6e\u53d1\u653e\u903b\u8f91"; + return false; + } + + private void ConfirmSkillSelectionInternal(userLevel_skills_SO skillAsset, int selectedIndex) + { + InitializeIfNeeded(); + if (skillAsset == null || skillAsset.skills == null || selectedIndex < 0 || selectedIndex >= skillAsset.skills.Count) + { + return; + } + + registeredSkillAsset = skillAsset; + + for (int i = 0; i < skillAsset.skills.Count; i++) + { + userLevel_skills_SO.UserLevelSkillEntry entry = skillAsset.skills[i]; + if (entry == null) + { + continue; + } + + entry.isEnabled = (i == selectedIndex); + } + + if (saveData.selectedSkillIndex != selectedIndex) + { + saveData.postMatchRewardCounter = 0; + saveData.skillSwitchCooldownRemainingMatches = 3; + } + + saveData.selectedSkillIndex = selectedIndex; + +#if UNITY_EDITOR + if (!Application.isPlaying) + { + UnityEditor.EditorUtility.SetDirty(skillAsset); + } +#endif + + SaveNow(); + ApplySceneBindings(); + } + + private void ClearPersistentStateInternal() + { + saveData = new PlayerSkillSaveData(); + SecureSaveVault.Delete(SaveCategory, SaveKey); + ApplySceneBindings(); + } + + private void HandleSceneLoaded(Scene scene, LoadSceneMode mode) + { + ApplySceneBindings(); + } + + private void ApplySceneBindings() + { + bool revealLockedSkills = IsSkillEnabledInternal(RevealLockedIdolSkillsSkillIndex); + + idolSkillsHub[] hubs = Resources.FindObjectsOfTypeAll(); + for (int i = 0; i < hubs.Length; i++) + { + idolSkillsHub hub = hubs[i]; + if (hub == null || !IsSceneInstance(hub)) + { + continue; + } + + if (hub.display_ungotten != revealLockedSkills) + { + hub.display_ungotten = revealLockedSkills; + if (hub.gameObject.activeInHierarchy) + { + hub.Rebuild(); + } + } + } + + storeSystem[] stores = Resources.FindObjectsOfTypeAll(); + for (int i = 0; i < stores.Length; i++) + { + if (stores[i] != null && IsSceneInstance(stores[i])) + { + stores[i].RefreshPlayerSkillItems(); + } + } + + equipSmelt[] smelters = Resources.FindObjectsOfTypeAll(); + for (int i = 0; i < smelters.Length; i++) + { + if (smelters[i] != null && IsSceneInstance(smelters[i])) + { + smelters[i].RefreshPlayerSkillAdjustedUi(); + } + } + + effectEventController.RefreshPlayerSkillCameraOffset(); + } + + private void ResolveSkillAssetIfNeeded() + { + if (registeredSkillAsset != null) + { + return; + } + + uLevel_skills[] skillPanels = Resources.FindObjectsOfTypeAll(); + for (int i = 0; i < skillPanels.Length; i++) + { + if (skillPanels[i] != null && skillPanels[i].ulsSO != null) + { + registeredSkillAsset = skillPanels[i].ulsSO; + return; + } + } + + userLevel_skills_SO[] loadedAssets = Resources.FindObjectsOfTypeAll(); + for (int i = 0; i < loadedAssets.Length; i++) + { + if (loadedAssets[i] != null) + { + registeredSkillAsset = loadedAssets[i]; + return; + } + } + +#if UNITY_EDITOR + registeredSkillAsset = UnityEditor.AssetDatabase.LoadAssetAtPath(SkillAssetEditorPath); +#endif + } + + private void SyncSelectionFromAsset() + { + if (saveData == null || registeredSkillAsset == null || registeredSkillAsset.skills == null || registeredSkillAsset.skills.Count == 0) + { + return; + } + + int enabledIndex = -1; + for (int i = 0; i < registeredSkillAsset.skills.Count; i++) + { + userLevel_skills_SO.UserLevelSkillEntry entry = registeredSkillAsset.skills[i]; + if (entry != null && entry.isEnabled) + { + enabledIndex = i; + break; + } + } + + if (enabledIndex == saveData.selectedSkillIndex) + { + return; + } + + if (saveData.selectedSkillIndex >= 0) + { + saveData.postMatchRewardCounter = 0; + } + + saveData.selectedSkillIndex = enabledIndex; + SaveNow(); + } + + private storeItemSO CreateMemoryBuyStoreItem(Sprite materialSprite) + { + storeItemSO item = ScriptableObject.CreateInstance(); + item.hideFlags = HideFlags.DontSave; + item.itemID = MemoryBuyStoreItemId; + item.itemName = "1\u8bb0\u5fc6\u788e\u7247"; + item.itemIcon = materialSprite; + item.itemRarity = ItemRarity.Uncommon; + item.itemSinglePurchaseQty = 1; + item.itemPurchaseQuota = -1; + item.itemDescription = "\u82b1\u8d3910\u91d1\u5e01\u8d2d\u4e701\u4e2a\u8bb0\u5fc6\u788e\u7247\u3002"; + item.itemDetailedDescription = "\u73a9\u5bb6\u6280\u80fd\u201c\u8bb0\u5fc6\u8d2d\u4e70\u8ba1\u5212\u201d\u751f\u6548\u4e2d\u3002\u82b1\u8d3910\u91d1\u5e01\u8d2d\u4e701\u4e2a\u8bb0\u5fc6\u788e\u7247\u3002"; + item.isOnShelf = true; + item.canbepurchased = true; + item.itemType = storeItemSO.ItemType.consumable; + item.costRequirements = new List + { + new storeItemSO.CostRequirement + { + currencyType = storeItemSO.CurrencyType.coins, + amount = 10 + } + }; + item.unlockRequirements = new List(); + return item; + } + + private storeItemSO CreateMemorySellStoreItem(Sprite coinSprite) + { + storeItemSO item = ScriptableObject.CreateInstance(); + item.hideFlags = HideFlags.DontSave; + item.itemID = MemorySellStoreItemId; + item.itemName = "4\u91d1\u5e01"; + item.itemIcon = coinSprite; + item.itemRarity = ItemRarity.Common; + item.itemSinglePurchaseQty = 1; + item.itemPurchaseQuota = -1; + item.itemDescription = "\u6d88\u80171\u4e2a\u8bb0\u5fc6\u788e\u7247\uff0c\u6362\u53d64\u91d1\u5e01\u3002"; + item.itemDetailedDescription = "\u73a9\u5bb6\u6280\u80fd\u201c\u8bb0\u5fc6\u5f52\u8fd8\u8ba1\u5212\u201d\u751f\u6548\u4e2d\u3002\u6d88\u80171\u4e2a\u8bb0\u5fc6\u788e\u7247\uff0c\u6362\u53d64\u91d1\u5e01\u3002"; + item.isOnShelf = true; + item.canbepurchased = true; + item.itemType = storeItemSO.ItemType.consumable; + item.costRequirements = new List + { + new storeItemSO.CostRequirement + { + currencyType = storeItemSO.CurrencyType.material, + amount = 1 + } + }; + item.unlockRequirements = new List(); + return item; + } + + private equipmentSO GrantRandomMemoryFromConfiguredSource() + { + storeItemSO randomMemoryItem = ResolveRandomMemoryRewardItem(); + if (randomMemoryItem == null || randomMemoryItem.associatedSelectableEquipmentRewardSource == null) + { + return null; + } + + smeltStageRewardSO rewardSource = randomMemoryItem.associatedSelectableEquipmentRewardSource; + int rewardIndex = Mathf.Max(0, randomMemoryItem.associatedSelectableEquipmentRewardIndex); + if (rewardSource.rewardRequirements == null || rewardIndex >= rewardSource.rewardRequirements.Length) + { + return null; + } + + return equipmentGenerator.GenerateFromSmeltReward(rewardSource, rewardSource.rewardRequirements[rewardIndex]); + } + + private storeItemSO ResolveRandomMemoryRewardItem() + { + if (cachedRandomMemoryRewardItem != null) + { + return cachedRandomMemoryRewardItem; + } + + storeItemSO[] items = Resources.LoadAll("so/storeSO"); + for (int i = 0; i < items.Length; i++) + { + if (items[i] != null && items[i].itemID == RandomMemoryStoreItemId) + { + cachedRandomMemoryRewardItem = items[i]; + break; + } + } + + return cachedRandomMemoryRewardItem; + } + + private int GetOwnedHeroCount() + { + HashSet heroIds = new HashSet(); + AllyHero_SO[] heroes = Resources.LoadAll(string.Empty); + if (heroes == null) + { + return 0; + } + + for (int i = 0; i < heroes.Length; i++) + { + AllyHero_SO hero = heroes[i]; + if (hero != null && hero.isUnlocked) + { + heroIds.Add(hero.ally_heroID); + } + } + + return heroIds.Count; + } + + private bool IsSceneInstance(Component component) + { + if (component == null || component.gameObject == null) + { + return false; + } + + Scene scene = component.gameObject.scene; + return scene.IsValid() && scene.isLoaded; + } + + private void SaveNow() + { + if (!initialized) + { + return; + } + + SecureSaveVault.SaveJson(SaveCategory, SaveKey, saveData); + } +} diff --git a/Assets/scripts/_runtimecache/PlayerSkillService.cs.meta b/Assets/scripts/_runtimecache/PlayerSkillService.cs.meta new file mode 100644 index 00000000..39df9420 --- /dev/null +++ b/Assets/scripts/_runtimecache/PlayerSkillService.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3fc9125cbd0b7134ea8ac541779cb715 \ No newline at end of file diff --git a/Assets/scripts/dailyTask/dailyTaskManager.cs b/Assets/scripts/dailyTask/dailyTaskManager.cs index fb4807ad..7546020e 100644 --- a/Assets/scripts/dailyTask/dailyTaskManager.cs +++ b/Assets/scripts/dailyTask/dailyTaskManager.cs @@ -38,6 +38,7 @@ public class dailyTaskManager : MonoBehaviour private readonly List spawnedTaskItems = new List(); private readonly Dictionary rewardSpriteByItemId = new Dictionary(); + private readonly Dictionary rewardStoreItemByItemId = new Dictionary(); private void Start() { @@ -157,6 +158,7 @@ public class dailyTaskManager : MonoBehaviour private void OnSingleRewardClicked(string taskID) { + var rewardEntry = BuildRewardEntryForTask(taskID); string failureMessage; if (!DailyTaskService.EnsureInstance().TryClaimReward(taskID, playerData, out failureMessage)) { @@ -168,15 +170,57 @@ public class dailyTaskManager : MonoBehaviour return; } + if (rewardEntry.HasValue) + { + gItemGet.display(rewardEntry.Value); + } + RefreshTaskUi(); } private void OnOneKeyRewardClicked() { - string failureMessage; - int claimedCount = DailyTaskService.EnsureInstance().ClaimAllAvailableRewards(playerData, out failureMessage); + var taskService = DailyTaskService.EnsureInstance(); + var tasks = taskService.GetActiveTaskViews(); + var grantedEntries = new List(); + string failureMessage = string.Empty; + int claimedCount = 0; + + for (int i = 0; i < tasks.Count; i++) + { + var taskView = tasks[i]; + if (taskView == null || taskView.runtimeEntry == null || taskView.definition == null) + { + continue; + } + + if (!taskView.runtimeEntry.isCompleted || taskView.runtimeEntry.isClaimed) + { + continue; + } + + string claimError; + if (!taskService.TryClaimReward(taskView.runtimeEntry.taskID, playerData, out claimError)) + { + if (claimedCount <= 0 && string.IsNullOrEmpty(failureMessage)) + { + failureMessage = claimError; + } + + continue; + } + + claimedCount += 1; + grantedEntries.Add(BuildRewardEntry(taskView.definition)); + } + if (claimedCount <= 0) { + if (string.IsNullOrEmpty(failureMessage)) + { + failureMessage = "暂无可领取奖励"; + } + if (!string.IsNullOrEmpty(failureMessage)) { gNotice.warning.display(failureMessage); @@ -185,6 +229,11 @@ public class dailyTaskManager : MonoBehaviour return; } + if (grantedEntries.Count > 0) + { + gItemGet.display(grantedEntries); + } + RefreshTaskUi(); } @@ -274,17 +323,23 @@ public class dailyTaskManager : MonoBehaviour private void CacheRewardSpritesFromStoreItems() { rewardSpriteByItemId.Clear(); + rewardStoreItemByItemId.Clear(); var rewardStoreItems = Resources.LoadAll("so/storeSO"); for (int i = 0; i < rewardStoreItems.Length; i++) { var itemSO = rewardStoreItems[i]; - if (itemSO == null || itemSO.itemIcon == null) + if (itemSO == null) { continue; } - rewardSpriteByItemId[itemSO.itemID] = itemSO.itemIcon; + if (itemSO.itemIcon != null) + { + rewardSpriteByItemId[itemSO.itemID] = itemSO.itemIcon; + } + + rewardStoreItemByItemId[itemSO.itemID] = itemSO; } } @@ -299,6 +354,80 @@ public class dailyTaskManager : MonoBehaviour return rewardSpriteByItemId.TryGetValue(itemId, out sprite) ? sprite : null; } + private gItemGet.ItemEntry? BuildRewardEntryForTask(string taskID) + { + if (string.IsNullOrWhiteSpace(taskID)) + { + return null; + } + + var tasks = DailyTaskService.EnsureInstance().GetActiveTaskViews(); + for (int i = 0; i < tasks.Count; i++) + { + var taskView = tasks[i]; + if (taskView == null || taskView.runtimeEntry == null || taskView.definition == null) + { + continue; + } + + if (string.Equals(taskView.runtimeEntry.taskID, taskID, System.StringComparison.Ordinal)) + { + return BuildRewardEntry(taskView.definition); + } + } + + return null; + } + + private gItemGet.ItemEntry BuildRewardEntry(userTasksPool.TaskDefinition definition) + { + if (definition == null) + { + return gItemGet.Create("未知奖励", null, 1, ItemRarity.None); + } + + switch (definition.rewardType) + { + case userTasksPool.RewardType.coins: + return gItemGet.Create("Coins", coinRewardSprite, Mathf.Max(1, definition.rewardAmount), ItemRarity.Common); + + case userTasksPool.RewardType.expBottle: + { + int itemId = GetExpBottleRewardItemId(definition.rewardExpBottleKind); + storeItemSO itemSO; + if (rewardStoreItemByItemId.TryGetValue(itemId, out itemSO) && itemSO != null) + { + return gItemGet.FromStoreItem(itemSO, Mathf.Max(1, definition.rewardAmount)); + } + + return gItemGet.Create( + ExpBottleCatalog.GetDisplayName(definition.rewardExpBottleKind), + GetRewardSpriteByItemId(itemId), + Mathf.Max(1, definition.rewardAmount), + ItemRarity.None); + } + + case userTasksPool.RewardType.dushMaterial: + { + int itemId = GetDushMaterialRewardItemId(definition.rewardDushMaterialKind); + storeItemSO itemSO; + if (rewardStoreItemByItemId.TryGetValue(itemId, out itemSO) && itemSO != null) + { + return gItemGet.FromStoreItem(itemSO, Mathf.Max(1, definition.rewardAmount)); + } + + return gItemGet.Create( + DushMaterialCatalog.GetDisplayName(definition.rewardDushMaterialKind), + GetRewardSpriteByItemId(itemId), + Mathf.Max(1, definition.rewardAmount), + ItemRarity.None); + } + + default: + return gItemGet.Create("未知奖励", null, Mathf.Max(1, definition.rewardAmount), ItemRarity.None); + } + } + private static int GetExpBottleRewardItemId(ExpBottleKind kind) { switch (kind) diff --git a/Assets/scripts/gamePlay_gameplay/Animation_GenerateJudgementSituationPrefab.cs b/Assets/scripts/gamePlay_gameplay/Animation_GenerateJudgementSituationPrefab.cs index ca61286e..b59993f3 100644 --- a/Assets/scripts/gamePlay_gameplay/Animation_GenerateJudgementSituationPrefab.cs +++ b/Assets/scripts/gamePlay_gameplay/Animation_GenerateJudgementSituationPrefab.cs @@ -3,6 +3,11 @@ using System.Collections; public class Animation_GenerateJudgementSituationPrefab : MonoBehaviour { + private sealed class PooledJudgeTag : MonoBehaviour + { + public GameObject prefabSource; + } + public static Animation_GenerateJudgementSituationPrefab Instance; [Header("Inspector")] @@ -42,6 +47,9 @@ public class Animation_GenerateJudgementSituationPrefab : MonoBehaviour // Track last scene to detect scene changes private int lastSceneIndex = -1; + private Coroutine prewarmJudgeCoroutine; + private readonly System.Collections.Generic.Dictionary> judgePools + = new System.Collections.Generic.Dictionary>(); private void Awake() { @@ -147,7 +155,10 @@ public class Animation_GenerateJudgementSituationPrefab : MonoBehaviour if (JudgeManager.IsDebugEnabled) Debug.Log($"[Animation_Generate] Spawning judge prefab: color={color}, result={judgeResult}, prefab={prefabToUse.name}"); - GameObject instance = Instantiate(prefabToUse, spawnPoint); + GameObject instance = GetPooledJudge(prefabToUse, spawnPoint); + if (instance == null) + return; + instance.transform.localPosition = Vector3.zero; // Documentation text normalized. @@ -159,6 +170,52 @@ public class Animation_GenerateJudgementSituationPrefab : MonoBehaviour StartCoroutine(AnimateSprite(instance)); } + public void PrewarmJudgePrefabs(int perPrefab = 1) + { + if (!Application.isPlaying) + return; + + if (prewarmJudgeCoroutine != null) + { + StopCoroutine(prewarmJudgeCoroutine); + } + + prewarmJudgeCoroutine = StartCoroutine(PrewarmJudgePrefabsRoutine(Mathf.Max(1, perPrefab))); + } + + public IEnumerator PrewarmJudgePrefabsRoutine(int perPrefab = 1) + { + GameObject[] prefabs = + { + perfect_judge_prefab, + great_judge_prefab, + good_judge_prefab, + miss_judge_prefab + }; + + int count = Mathf.Max(1, perPrefab); + foreach (GameObject prefab in prefabs) + { + if (prefab == null) + continue; + + for (int i = 0; i < count; i++) + { + GameObject instance = null; + try + { + instance = CreatePooledJudge(prefab); + ReturnJudgeToPool(instance); + } + catch { } + + yield return null; + } + } + + prewarmJudgeCoroutine = null; + } + private IEnumerator AnimateSprite(GameObject obj) { if (obj == null) yield break; @@ -232,7 +289,76 @@ public class Animation_GenerateJudgementSituationPrefab : MonoBehaviour // Documentation text normalized. - if (obj != null) Destroy(obj); + if (obj != null) ReturnJudgeToPool(obj); + } + + private GameObject GetPooledJudge(GameObject prefab, Transform parent) + { + if (prefab == null || parent == null) + return null; + + if (!judgePools.TryGetValue(prefab, out var pool)) + { + pool = new System.Collections.Generic.Stack(); + judgePools[prefab] = pool; + } + + GameObject instance = null; + while (pool.Count > 0 && instance == null) + { + instance = pool.Pop(); + } + + if (instance == null) + { + instance = CreatePooledJudge(prefab); + } + + if (instance == null) + return null; + + instance.transform.SetParent(parent, false); + instance.SetActive(true); + return instance; + } + + private GameObject CreatePooledJudge(GameObject prefab) + { + if (prefab == null) + return null; + + GameObject instance = Instantiate(prefab, transform); + var tag = instance.GetComponent(); + if (tag == null) + tag = instance.AddComponent(); + tag.prefabSource = prefab; + instance.SetActive(false); + return instance; + } + + private void ReturnJudgeToPool(GameObject instance) + { + if (instance == null) + return; + + var tag = instance.GetComponent(); + if (tag == null || tag.prefabSource == null) + { + Destroy(instance); + return; + } + + if (!judgePools.TryGetValue(tag.prefabSource, out var pool)) + { + pool = new System.Collections.Generic.Stack(); + judgePools[tag.prefabSource] = pool; + } + + instance.transform.SetParent(transform, false); + instance.transform.localPosition = new Vector3(99999f, 99999f, 0f); + instance.transform.localRotation = Quaternion.identity; + instance.SetActive(false); + pool.Push(instance); } private Transform GetSpawnPoint(string color) diff --git a/Assets/scripts/gamePlay_gameplay/Beatmap.cs b/Assets/scripts/gamePlay_gameplay/Beatmap.cs index 145e0f98..1c146bca 100644 --- a/Assets/scripts/gamePlay_gameplay/Beatmap.cs +++ b/Assets/scripts/gamePlay_gameplay/Beatmap.cs @@ -9,6 +9,7 @@ public class NoteData public string color; // Documentation text normalized. public string type; // Documentation text normalized. public float length; // Documentation text normalized. + public string noteFunction; // New fields for judgement recording // judgeOffsetMs: signed offset in milliseconds recorded at judgement time diff --git a/Assets/scripts/gamePlay_gameplay/GameManager.cs b/Assets/scripts/gamePlay_gameplay/GameManager.cs index 5d2ccd71..927a572c 100644 --- a/Assets/scripts/gamePlay_gameplay/GameManager.cs +++ b/Assets/scripts/gamePlay_gameplay/GameManager.cs @@ -326,6 +326,9 @@ public class GameManager : MonoBehaviour { Debug.Log("GameManager Start() initialized"); + // Move first-hit one-time setup cost into scene load instead of the first judged note. + StartCoroutine(PrewarmGameplayFirstHitPath()); + // --- Initialize Statistics --- currentSong = BeatmapManager.pendingSongData ?? SongDataHolder.SelectedSongData; if (currentSong != null && !GameConfig.autoPlayEnabled) @@ -489,6 +492,34 @@ public class GameManager : MonoBehaviour } } + private IEnumerator PrewarmGameplayFirstHitPath() + { + yield return null; + + try + { + Note.PrewarmRuntimeCaches(); + HoldNote.PrewarmRuntimeCaches(); + + var judgeFx = Animation_GenerateJudgementSituationPrefab.Instance + ?? FindAnyObjectByType(); + judgeFx?.PrewarmJudgePrefabs(1); + + var fxEvent = effectEventController.Instance ?? FindAnyObjectByType(); + if (fxEvent != null && fxEvent.isActiveAndEnabled) + { + // Cache target and pre-create SmoothShake via OnEnable/Awake path already present. + } + + var globalFx = globalNoteEffect.Instance ?? FindAnyObjectByType(); + globalFx?.PrewarmRuntime(); + } + catch (System.Exception ex) + { + Debug.LogWarning($"[GameManager] Gameplay prewarm failed: {ex}"); + } + } + private void Update() { // Detect Space or yellow note key to request start (only before gameplay starts) diff --git a/Assets/scripts/gamePlay_gameplay/HoldNote.cs b/Assets/scripts/gamePlay_gameplay/HoldNote.cs index a858a952..e2c61c80 100644 --- a/Assets/scripts/gamePlay_gameplay/HoldNote.cs +++ b/Assets/scripts/gamePlay_gameplay/HoldNote.cs @@ -99,6 +99,18 @@ public class HoldNote : BaseNote return beatmapManagerCache; } + public static void PrewarmRuntimeCaches() + { + GetBeatmapManagerCached(); + if (allyCache == null || allyCache.Length < 10) + allyCache = new AllyCombatant[10]; + + for (int i = 0; i < 5; i++) + { + GetAllyForTrackCached(i); + } + } + private static float JudgeToPmMultiplier(string judgeResult) { switch (judgeResult) @@ -326,9 +338,10 @@ public class HoldNote : BaseNote } private float cachedTravelTime = 1.0f; // Cached travel time for distance optimization + private bool isSyncNote; public void Setup(int id, int trackIndex, float speed, float time, float delay, - bool isEnd, float scheduledEnd, string color, KeyCode key, string type, float travelTimeSeconds, NoteJudgeConfig judgeConfig, NoteData noteData) + bool isEnd, float scheduledEnd, string color, KeyCode key, string type, float travelTimeSeconds, NoteJudgeConfig judgeConfig, NoteData noteData, bool isSync = false) { this.id = id; // Ensure singletons are up to date if they were re-initialized (e.g. on scene reload) @@ -347,6 +360,7 @@ public class HoldNote : BaseNote this.key = key; this.type = type; this.judgeConfig = judgeConfig; + this.isSyncNote = isSync; this.noteID = id.ToString(); this.keyToPress = key; @@ -659,6 +673,13 @@ public class HoldNote : BaseNote InputManager.Instance?.ShowJudgeResult(trackIndex, result); teamUIController.Instance?.OnJudgeResult(result); JudgeSoundManager.Instance?.PlayJudgeSound(result); + + if (isSyncNote) + { + effectEventController.TryTriggerMultiNoteShake(); + } + + globalNoteEffect.TryTrigger(noteData != null ? noteData.noteFunction : null); } private void OnTriggerEnter2D(Collider2D collision) @@ -975,6 +996,16 @@ public class HoldNote : BaseNote { ScheduleReturnToPool(0.2f); } + + if (segment == NoteSegment.Start && isSyncNote && result != "Miss") + { + effectEventController.TryTriggerMultiNoteShake(); + } + + if (segment == NoteSegment.Start && result != "Miss") + { + globalNoteEffect.TryTrigger(noteData != null ? noteData.noteFunction : null); + } } private IEnumerator DelayedReturn() diff --git a/Assets/scripts/gamePlay_gameplay/Note.cs b/Assets/scripts/gamePlay_gameplay/Note.cs index 85f45f31..fb9aaec8 100644 --- a/Assets/scripts/gamePlay_gameplay/Note.cs +++ b/Assets/scripts/gamePlay_gameplay/Note.cs @@ -11,6 +11,7 @@ public class Note : BaseNote private bool hasLock = false; // track whether we hold the track lock private NoteData noteData; + private bool isSyncNote; [Header("Inspector")] public NoteJudgeConfig judgeConfig; // Documentation text normalized. @@ -42,6 +43,18 @@ public class Note : BaseNote return beatmapManagerCache; } + public static void PrewarmRuntimeCaches() + { + GetBeatmapManagerCached(); + if (allyCache == null || allyCache.Length < 10) + allyCache = new AllyCombatant[10]; + + for (int i = 0; i < 5; i++) + { + GetAllyForTrackCached(i); + } + } + private static float JudgeToPmMultiplier(string judgeResult) { switch (judgeResult) @@ -150,7 +163,7 @@ public class Note : BaseNote controller = GetComponent(); } - public void Setup(KeyCode key, int trackIndex, float speed, float hitTime, string color, NoteJudgeConfig judgeConfig, NoteData data) + public void Setup(KeyCode key, int trackIndex, float speed, float hitTime, string color, NoteJudgeConfig judgeConfig, NoteData data, bool isSync = false) { keyToPress = key; noteColor = color; @@ -161,6 +174,7 @@ public class Note : BaseNote hasLock = false; this.judgeConfig = judgeConfig; this.noteData = data; + this.isSyncNote = isSync; // Set miss deadline: hitTime + missRange (the latest time to judge before auto-miss) float missRange = (judgeConfig?.missRange ?? 0.5f); @@ -279,6 +293,13 @@ public class Note : BaseNote try { SkillBuilder.Instance?.NotifyNoteHit(TrackIndex, judgeResult, SkillDefinition.NoteTypeTrigger.Tap); } catch { } LogTapJudge(judgeResult, 0f, false, true, pressTime); + if (isSyncNote) + { + effectEventController.TryTriggerMultiNoteShake(); + } + + globalNoteEffect.TryTrigger(noteData != null ? noteData.noteFunction : null); + Judge(); } @@ -437,6 +458,13 @@ public class Note : BaseNote try { SkillBuilder.Instance?.NotifyNoteHit(TrackIndex, judgeResult, SkillDefinition.NoteTypeTrigger.Tap); } catch { } LogTapJudge(judgeResult, rawOffsetMs, rewrittenToPerfect, false, pressTime); + + if (isSyncNote && judgeResult != "Miss") + { + effectEventController.TryTriggerMultiNoteShake(); + } + + globalNoteEffect.TryTrigger(noteData != null ? noteData.noteFunction : null); } Judge(); diff --git a/Assets/scripts/gamePlay_gameplay/NoteSpawner.cs b/Assets/scripts/gamePlay_gameplay/NoteSpawner.cs index 1707f8bd..f1d4c3c3 100644 --- a/Assets/scripts/gamePlay_gameplay/NoteSpawner.cs +++ b/Assets/scripts/gamePlay_gameplay/NoteSpawner.cs @@ -390,7 +390,7 @@ public class NoteSpawner : MonoBehaviour if (noteScript != null) { // Setup note script with timing parameters - noteScript.Setup(key, noteData.trackIndex, noteSpeed, realtimeHit, noteData.color, judgeConfig, noteData); + noteScript.Setup(key, noteData.trackIndex, noteSpeed, realtimeHit, noteData.color, judgeConfig, noteData, isSync); // Configure controller for absolute positioning (replaces relative Translate) if (noteController != null) @@ -476,7 +476,7 @@ public class NoteSpawner : MonoBehaviour if (holdNote != null) { // pass realtime hit time (startTime + note.time) and delay 0, include globalHitDelay - holdNote.Setup(holdNoteId, noteData.trackIndex, noteSpeed, baseHit, 0f, false, scheduledEndTime, noteData.color, key, "start", travelTime, judgeConfig, noteData); + holdNote.Setup(holdNoteId, noteData.trackIndex, noteSpeed, baseHit, 0f, false, scheduledEndTime, noteData.color, key, "start", travelTime, judgeConfig, noteData, isSync); // 使用流速倍率 sm 直接进行缩放,确保长条音符在 0.5-2.0 范围内依然能完美衔接 float visualScale = sm; @@ -508,7 +508,7 @@ public class NoteSpawner : MonoBehaviour if (holdSeg != null) { // Documentation text normalized. - holdSeg.Setup(holdNoteId, noteData.trackIndex, noteSpeed, baseHit, segmentDelay, false, scheduledEndTime, noteData.color, key, "middle", travelTime, judgeConfig, noteData); + holdSeg.Setup(holdNoteId, noteData.trackIndex, noteSpeed, baseHit, segmentDelay, false, scheduledEndTime, noteData.color, key, "middle", travelTime, judgeConfig, noteData, false); // 应用与开始段一致的流速缩放 float visualScaleMid = sm; @@ -540,7 +540,7 @@ public class NoteSpawner : MonoBehaviour HoldNote holdEnd = endObj.GetComponent(); if (holdEnd != null) { - holdEnd.Setup(holdNoteId, noteData.trackIndex, noteSpeed, baseHit, endDelay, true, scheduledEndTime, noteData.color, key, "end", travelTime, judgeConfig, noteData); + holdEnd.Setup(holdNoteId, noteData.trackIndex, noteSpeed, baseHit, endDelay, true, scheduledEndTime, noteData.color, key, "end", travelTime, judgeConfig, noteData, false); // 同样应用流速缩放 float visualScaleEnd = sm; diff --git a/Assets/scripts/gamePlay_gameplay/effectEventController.cs b/Assets/scripts/gamePlay_gameplay/effectEventController.cs new file mode 100644 index 00000000..716fc19f --- /dev/null +++ b/Assets/scripts/gamePlay_gameplay/effectEventController.cs @@ -0,0 +1,314 @@ +using SmoothShakeFree; +using UnityEngine; + +public class effectEventController : MonoBehaviour +{ + public enum CameraOffsetAxis + { + X, + Y, + Z + } + + public static effectEventController Instance { get; private set; } + + [Header("Multi Note Screen Shake")] + public bool enableMultiNoteScreenShake = true; + public float multiNoteScreenShakeAmplitude = 0.08f; + + [Header("Camera Drift")] + public bool enableCameraDrift = false; + public Vector2 cameraDriftRange = new Vector2(0.15f, 0.08f); + public float cameraDriftSpeed = 0.3f; + + [Header("Player Skill 10 Camera Offset")] + public float playerSkillCameraOffsetAmount = 0.6f; + public CameraOffsetAxis playerSkillCameraOffsetAxis = CameraOffsetAxis.Y; + + private Transform cachedShakeTarget; + private Transform cachedCameraDriftPivot; + private Transform cachedCameraSkillPivot; + private Vector3 cameraDriftBaseLocalPosition; + private Vector3 cameraSkillBaseLocalPosition; + private float cameraDriftSeedX; + private float cameraDriftSeedY; + + private void Awake() + { + if (Instance == null) + { + Instance = this; + cameraDriftSeedX = Random.Range(0f, 1000f); + cameraDriftSeedY = Random.Range(1000f, 2000f); + CacheShakeTarget(); + return; + } + + if (Instance != this) + { + Destroy(gameObject); + } + } + + private void OnEnable() + { + CacheShakeTarget(); + ResetCameraDriftIfNeeded(); + } + + private void Update() + { + UpdateCameraDrift(); + UpdatePlayerSkillCameraOffset(); + } + + private void CacheShakeTarget() + { + if (Camera.main != null) + { + cachedShakeTarget = Camera.main.transform; + PrewarmShakeComponent(); + EnsureCameraDriftPivot(); + EnsureCameraSkillPivot(); + } + } + + private void PrewarmShakeComponent() + { + if (cachedShakeTarget == null) + return; + + SmoothShake shake = cachedShakeTarget.GetComponent(); + if (shake == null) + { + shake = cachedShakeTarget.gameObject.AddComponent(); + } + + if (shake.positionShake == null) shake.positionShake = new Shaker(); + if (shake.rotationShake == null) shake.rotationShake = new Shaker(); + if (shake.shakers == null || shake.shakers.Length != 2) + shake.shakers = new[] { shake.positionShake, shake.rotationShake }; + if (shake.sum == null || shake.sum.Length != 2) + shake.sum = new Vector3[2]; + } + + private void EnsureCameraDriftPivot() + { + if (cachedShakeTarget == null) + return; + + if (cachedCameraDriftPivot != null) + return; + + Transform currentParent = cachedShakeTarget.parent; + if (currentParent != null && currentParent.name == "__effect_event_camera_drift_pivot") + { + cachedCameraDriftPivot = currentParent; + cameraDriftBaseLocalPosition = cachedCameraDriftPivot.localPosition; + return; + } + + GameObject pivotObject = new GameObject("__effect_event_camera_drift_pivot"); + Transform pivot = pivotObject.transform; + + if (currentParent != null) + { + pivot.SetParent(currentParent, false); + pivot.localPosition = cachedShakeTarget.localPosition; + pivot.localRotation = cachedShakeTarget.localRotation; + pivot.localScale = Vector3.one; + } + else + { + pivot.position = cachedShakeTarget.position; + pivot.rotation = cachedShakeTarget.rotation; + } + + cachedShakeTarget.SetParent(pivot, true); + cachedShakeTarget.localRotation = Quaternion.identity; + + cachedCameraDriftPivot = pivot; + cameraDriftBaseLocalPosition = cachedCameraDriftPivot.localPosition; + } + + private void EnsureCameraSkillPivot() + { + if (cachedShakeTarget == null) + return; + + if (cachedCameraSkillPivot != null) + return; + + Transform currentParent = cachedShakeTarget.parent; + if (currentParent != null && currentParent.name == "__effect_event_camera_skill_pivot") + { + cachedCameraSkillPivot = currentParent; + cameraSkillBaseLocalPosition = cachedCameraSkillPivot.localPosition; + return; + } + + GameObject pivotObject = new GameObject("__effect_event_camera_skill_pivot"); + Transform pivot = pivotObject.transform; + + if (currentParent != null) + { + pivot.SetParent(currentParent, false); + pivot.localPosition = cachedShakeTarget.localPosition; + pivot.localRotation = cachedShakeTarget.localRotation; + pivot.localScale = Vector3.one; + } + else + { + pivot.position = cachedShakeTarget.position; + pivot.rotation = cachedShakeTarget.rotation; + pivot.localScale = Vector3.one; + } + + cachedShakeTarget.SetParent(pivot, true); + cachedShakeTarget.localPosition = Vector3.zero; + cachedShakeTarget.localRotation = Quaternion.identity; + + cachedCameraSkillPivot = pivot; + cameraSkillBaseLocalPosition = cachedCameraSkillPivot.localPosition; + } + + private void UpdateCameraDrift() + { + if (cachedShakeTarget == null) + { + CacheShakeTarget(); + } + + if (cachedShakeTarget == null) + return; + + EnsureCameraDriftPivot(); + if (cachedCameraDriftPivot == null) + return; + + if (!enableCameraDrift) + { + ResetCameraDriftIfNeeded(); + return; + } + + float speed = Mathf.Max(0f, cameraDriftSpeed); + float time = Time.time * speed; + float offsetX = (Mathf.PerlinNoise(cameraDriftSeedX, time) - 0.5f) * 2f * Mathf.Abs(cameraDriftRange.x); + float offsetY = (Mathf.PerlinNoise(cameraDriftSeedY, time) - 0.5f) * 2f * Mathf.Abs(cameraDriftRange.y); + + cachedCameraDriftPivot.localPosition = cameraDriftBaseLocalPosition + new Vector3(offsetX, offsetY, 0f); + } + + private void ResetCameraDriftIfNeeded() + { + if (cachedCameraDriftPivot == null) + return; + + cachedCameraDriftPivot.localPosition = cameraDriftBaseLocalPosition; + } + + private void UpdatePlayerSkillCameraOffset() + { + if (cachedShakeTarget == null) + { + CacheShakeTarget(); + } + + if (cachedShakeTarget == null) + return; + + EnsureCameraSkillPivot(); + if (cachedCameraSkillPivot == null) + return; + + Vector3 targetLocalPosition = cameraSkillBaseLocalPosition; + if (PlayerSkillService.IsSkillEnabled(10)) + { + float offset = playerSkillCameraOffsetAmount; + switch (playerSkillCameraOffsetAxis) + { + case CameraOffsetAxis.X: + targetLocalPosition.x += offset; + break; + case CameraOffsetAxis.Y: + targetLocalPosition.y += offset; + break; + case CameraOffsetAxis.Z: + targetLocalPosition.z += offset; + break; + } + } + + if (cachedCameraSkillPivot.localPosition != targetLocalPosition) + { + cachedCameraSkillPivot.localPosition = targetLocalPosition; + } + } + + public static void RefreshPlayerSkillCameraOffset() + { + effectEventController controller = Instance != null ? Instance : FindAnyObjectByType(); + if (controller == null) + return; + + controller.CacheShakeTarget(); + controller.UpdatePlayerSkillCameraOffset(); + } + + public static void TryTriggerMultiNoteShake() + { + effectEventController controller = Instance != null ? Instance : FindAnyObjectByType(); + if (controller == null) + return; + + controller.TriggerMultiNoteShakeInternal(); + } + + private void TriggerMultiNoteShakeInternal() + { + if (!enableMultiNoteScreenShake) + return; + + if (cachedShakeTarget == null) + { + CacheShakeTarget(); + } + + if (cachedShakeTarget == null) + return; + + float amplitudeValue = Mathf.Max(0f, multiNoteScreenShakeAmplitude); + if (amplitudeValue <= 0f) + return; + + SmoothShake shake = cachedShakeTarget.GetComponent(); + if (shake == null) + { + shake = cachedShakeTarget.gameObject.AddComponent(); + } + + if (shake.positionShake == null) shake.positionShake = new Shaker(); + if (shake.rotationShake == null) shake.rotationShake = new Shaker(); + + shake.positionShake.noiseType = Shaker.NoiseType.SineWave; + shake.positionShake.amplitude = new Vector3(amplitudeValue, amplitudeValue, 0f); + shake.positionShake.frequency = new Vector3(20f, 20f, 0f); + shake.rotationShake.amplitude = Vector3.zero; + shake.rotationShake.frequency = Vector3.zero; + + shake.timeSettings.constantShake = false; + shake.timeSettings.fadeInDuration = 0.03f; + shake.timeSettings.holdDuration = 0.04f; + shake.timeSettings.fadeOutDuration = 0.05f; + + if (shake.timeSettings.fadeInCurve == null || shake.timeSettings.fadeInCurve.length == 0) + shake.timeSettings.fadeInCurve = AnimationCurve.Linear(0f, 0f, 1f, 1f); + if (shake.timeSettings.fadeOutCurve == null || shake.timeSettings.fadeOutCurve.length == 0) + shake.timeSettings.fadeOutCurve = AnimationCurve.Linear(0f, 1f, 1f, 0f); + + shake.shakers = new[] { shake.positionShake, shake.rotationShake }; + shake.sum = new Vector3[2]; + shake.StartShake(); + } +} diff --git a/Assets/scripts/gamePlay_gameplay/effectEventController.cs.meta b/Assets/scripts/gamePlay_gameplay/effectEventController.cs.meta new file mode 100644 index 00000000..772f1609 --- /dev/null +++ b/Assets/scripts/gamePlay_gameplay/effectEventController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f65edb710af433c479467d8c932e5d59 \ No newline at end of file diff --git a/Assets/scripts/gamePlay_gameplay/globalNoteEffect.cs b/Assets/scripts/gamePlay_gameplay/globalNoteEffect.cs new file mode 100644 index 00000000..812026d9 --- /dev/null +++ b/Assets/scripts/gamePlay_gameplay/globalNoteEffect.cs @@ -0,0 +1,361 @@ +using SmoothShakeFree; +using System.Collections; +using UnityEngine; +using UnityEngine.UI; + +public class globalNoteEffect : MonoBehaviour +{ + public static globalNoteEffect Instance { get; private set; } + + [Header("Camera Shake Event")] + public float cameraShakeAmplitude = 0.12f; + + [Header("Flash Blink Event")] + public Image flashBlinkImage; + public float flashBlinkFadeDuration = 0.2f; + + [Header("Camera Dash Event")] + public float targetCameraZPosition = -6.5f; + public AnimationCurve cameraDashCurve = AnimationCurve.EaseInOut(0f, 0f, 1f, 1f); + public float cameraDashDuration = 0.12f; + + [Header("Camera Wave FX")] + public float cameraWaveEnterDuration = 0.12f; + public float cameraWaveRecoverDuration = 0.12f; + + [Header("Camera Glitch FX")] + public float cameraGlitchEnterDuration = 0.08f; + public float cameraGlitchRecoverDuration = 0.12f; + + [Header("Camera Monochrome FX")] + public float cameraMonochromeEnterDuration = 0.1f; + public float cameraMonochromeRecoverDuration = 0.14f; + + [Header("Screenshot Scale FX")] + public float screenshotScaleStartOpacity = 0.5f; + public float screenshotScaleFadeDuration = 0.22f; + public float screenshotScaleEndScale = 1.12f; + + private Transform cachedCameraTransform; + private Coroutine flashBlinkCoroutine; + private Coroutine cameraDashCoroutine; + private float cameraBaseLocalZ; + private bool hasCameraBaseLocalZ; + + private void Awake() + { + if (Instance == null) + { + Instance = this; + } + else if (Instance != this) + { + Destroy(gameObject); + return; + } + + CacheCameraTransform(); + PrewarmRuntime(); + } + + private void Start() + { + SetFlashImageAlpha(0f); + } + + private void OnEnable() + { + CacheCameraTransform(); + SetFlashImageAlpha(0f); + PrewarmRuntime(); + } + + private void LateUpdate() + { + if (cachedCameraTransform == null) + { + CacheCameraTransform(); + } + + if (cachedCameraTransform != null && cameraDashCoroutine == null) + { + cameraBaseLocalZ = cachedCameraTransform.localPosition.z; + hasCameraBaseLocalZ = true; + } + } + + private void CacheCameraTransform() + { + if (Camera.main != null) + { + cachedCameraTransform = Camera.main.transform; + cameraBaseLocalZ = cachedCameraTransform.localPosition.z; + hasCameraBaseLocalZ = true; + } + } + + public void PrewarmRuntime() + { + CacheCameraTransform(); + + if (cachedCameraTransform != null) + { + SmoothShake shake = cachedCameraTransform.GetComponent(); + if (shake == null) + { + shake = cachedCameraTransform.gameObject.AddComponent(); + } + + if (shake.positionShake == null) shake.positionShake = new Shaker(); + if (shake.rotationShake == null) shake.rotationShake = new Shaker(); + if (shake.shakers == null || shake.shakers.Length != 2) + shake.shakers = new[] { shake.positionShake, shake.rotationShake }; + if (shake.sum == null || shake.sum.Length != 2) + shake.sum = new Vector3[2]; + } + + GlobalDistortionRuntimeController.EnsureInstance(); + GlobalGlitchRuntimeController.EnsureInstance(); + GlobalMonochromeRuntimeController.EnsureInstance(); + GlobalAfterimageRuntimeController.EnsureInstance(); + } + + public static void TryTrigger(string noteFunction) + { + if (string.IsNullOrWhiteSpace(noteFunction)) + return; + + globalNoteEffect controller = GetOrCreateInstance(); + if (controller == null) + return; + + controller.TriggerInternal(noteFunction.Trim()); + } + + private static globalNoteEffect GetOrCreateInstance() + { + if (Instance != null) + return Instance; + + globalNoteEffect found = FindAnyObjectByType(); + if (found != null) + { + Instance = found; + return found; + } + + GameObject runtimeObject = new GameObject("__global_note_effect_runtime"); + return runtimeObject.AddComponent(); + } + + private void TriggerInternal(string noteFunction) + { + switch (noteFunction) + { + case "CameraShakeEvent": + TriggerCameraShake(); + break; + case "FlashBlinkEvent": + TriggerFlashBlink(); + break; + case "CameraScaleEvent": + TriggerCameraDash(); + break; + case "CameraWaveFX": + TriggerCameraWaveFx(); + break; + case "CameraGlitchFX": + TriggerCameraGlitchFx(); + break; + case "CameraMonochromeFX": + TriggerCameraMonochromeFx(); + break; + case "ScreenshotScale": + TriggerScreenshotScaleFx(); + break; + } + } + + private void TriggerCameraShake() + { + CacheCameraTransform(); + if (cachedCameraTransform == null) + return; + + float amplitudeValue = Mathf.Max(0f, cameraShakeAmplitude); + if (amplitudeValue <= 0f) + return; + + SmoothShake shake = cachedCameraTransform.GetComponent(); + if (shake == null) + { + shake = cachedCameraTransform.gameObject.AddComponent(); + } + + if (shake.positionShake == null) shake.positionShake = new Shaker(); + if (shake.rotationShake == null) shake.rotationShake = new Shaker(); + + shake.positionShake.noiseType = Shaker.NoiseType.SineWave; + shake.positionShake.amplitude = new Vector3(amplitudeValue, amplitudeValue, 0f); + shake.positionShake.frequency = new Vector3(18f, 18f, 0f); + shake.rotationShake.amplitude = Vector3.zero; + shake.rotationShake.frequency = Vector3.zero; + + shake.timeSettings.constantShake = false; + shake.timeSettings.fadeInDuration = 0.02f; + shake.timeSettings.holdDuration = 0.04f; + shake.timeSettings.fadeOutDuration = 0.05f; + + if (shake.timeSettings.fadeInCurve == null || shake.timeSettings.fadeInCurve.length == 0) + shake.timeSettings.fadeInCurve = AnimationCurve.Linear(0f, 0f, 1f, 1f); + if (shake.timeSettings.fadeOutCurve == null || shake.timeSettings.fadeOutCurve.length == 0) + shake.timeSettings.fadeOutCurve = AnimationCurve.Linear(0f, 1f, 1f, 0f); + + shake.shakers = new[] { shake.positionShake, shake.rotationShake }; + shake.sum = new Vector3[2]; + shake.StartShake(); + } + + private void TriggerFlashBlink() + { + if (flashBlinkImage == null) + return; + + if (flashBlinkCoroutine != null) + { + StopCoroutine(flashBlinkCoroutine); + } + + flashBlinkCoroutine = StartCoroutine(FlashBlinkCoroutine()); + } + + private IEnumerator FlashBlinkCoroutine() + { + SetFlashImageAlpha(1f); + + float duration = Mathf.Max(0.01f, flashBlinkFadeDuration); + float elapsed = 0f; + while (elapsed < duration) + { + elapsed += Time.deltaTime; + float t = Mathf.Clamp01(elapsed / duration); + SetFlashImageAlpha(1f - t); + yield return null; + } + + SetFlashImageAlpha(0f); + flashBlinkCoroutine = null; + } + + private void TriggerCameraDash() + { + CacheCameraTransform(); + if (cachedCameraTransform == null) + return; + + if (cameraDashCoroutine != null) + { + StopCoroutine(cameraDashCoroutine); + if (hasCameraBaseLocalZ) + { + Vector3 resetPosition = cachedCameraTransform.localPosition; + resetPosition.z = cameraBaseLocalZ; + cachedCameraTransform.localPosition = resetPosition; + } + } + + cameraDashCoroutine = StartCoroutine(CameraDashCoroutine()); + } + + private IEnumerator CameraDashCoroutine() + { + if (!hasCameraBaseLocalZ) + { + cameraBaseLocalZ = cachedCameraTransform.localPosition.z; + hasCameraBaseLocalZ = true; + } + + float baseLocalZ = cameraBaseLocalZ; + float targetZ = targetCameraZPosition; + if (Mathf.Approximately(targetZ, baseLocalZ)) + { + targetZ = baseLocalZ + 1.5f; + } + float duration = Mathf.Max(0.01f, cameraDashDuration); + AnimationCurve curve = cameraDashCurve == null || cameraDashCurve.length == 0 + ? AnimationCurve.EaseInOut(0f, 0f, 1f, 1f) + : cameraDashCurve; + + float elapsed = 0f; + while (elapsed < duration) + { + elapsed += Time.deltaTime; + float t = Mathf.Clamp01(elapsed / duration); + float curvedT = curve.Evaluate(t); + Vector3 position = cachedCameraTransform.localPosition; + position.z = Mathf.LerpUnclamped(baseLocalZ, targetZ, curvedT); + cachedCameraTransform.localPosition = position; + yield return null; + } + + elapsed = 0f; + while (elapsed < duration) + { + elapsed += Time.deltaTime; + float t = Mathf.Clamp01(elapsed / duration); + float curvedT = curve.Evaluate(t); + Vector3 position = cachedCameraTransform.localPosition; + position.z = Mathf.LerpUnclamped(targetZ, baseLocalZ, curvedT); + cachedCameraTransform.localPosition = position; + yield return null; + } + + Vector3 finalPosition = cachedCameraTransform.localPosition; + finalPosition.z = baseLocalZ; + cachedCameraTransform.localPosition = finalPosition; + cameraDashCoroutine = null; + } + + private void TriggerCameraWaveFx() + { + GlobalDistortionRuntimeController.TriggerWaveEffect( + Mathf.Max(0.0001f, cameraWaveEnterDuration), + Mathf.Max(0.0001f, cameraWaveRecoverDuration) + ); + } + + private void TriggerCameraGlitchFx() + { + GlobalGlitchRuntimeController.TriggerWaveEffect( + Mathf.Max(0.0001f, cameraGlitchEnterDuration), + Mathf.Max(0.0001f, cameraGlitchRecoverDuration) + ); + } + + private void TriggerCameraMonochromeFx() + { + GlobalMonochromeRuntimeController.Trigger( + Mathf.Max(0.0001f, cameraMonochromeEnterDuration), + Mathf.Max(0.0001f, cameraMonochromeRecoverDuration) + ); + } + + private void TriggerScreenshotScaleFx() + { + GlobalAfterimageRuntimeController.Trigger( + Mathf.Clamp01(screenshotScaleStartOpacity), + Mathf.Max(0.0001f, screenshotScaleFadeDuration), + Mathf.Max(1f, screenshotScaleEndScale) + ); + } + + private void SetFlashImageAlpha(float alpha) + { + if (flashBlinkImage == null) + return; + + Color color = flashBlinkImage.color; + color.a = Mathf.Clamp01(alpha); + flashBlinkImage.color = color; + } +} diff --git a/Assets/scripts/gamePlay_gameplay/globalNoteEffect.cs.meta b/Assets/scripts/gamePlay_gameplay/globalNoteEffect.cs.meta new file mode 100644 index 00000000..908a897c --- /dev/null +++ b/Assets/scripts/gamePlay_gameplay/globalNoteEffect.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7aad6dbb8ac9a574b832837614506af8 \ No newline at end of file diff --git a/Assets/scripts/gamePlay_gameplay/player_effect_prefab/instant/iNumberPrefabController.cs b/Assets/scripts/gamePlay_gameplay/player_effect_prefab/instant/iNumberPrefabController.cs index 20c22651..186f249f 100644 --- a/Assets/scripts/gamePlay_gameplay/player_effect_prefab/instant/iNumberPrefabController.cs +++ b/Assets/scripts/gamePlay_gameplay/player_effect_prefab/instant/iNumberPrefabController.cs @@ -28,11 +28,19 @@ public class iNumberPrefabController : MonoBehaviour private bool _warnedMissingPrefab; private bool _warnedMissingParents; + private Transform pooledRoot; + private readonly System.Collections.Generic.Dictionary> pools + = new System.Collections.Generic.Dictionary>(); + private readonly System.Collections.Generic.Dictionary sourcePrefabs + = new System.Collections.Generic.Dictionary(); private void Awake() { if (Instance == null) Instance = this; else if (Instance != this) { Destroy(gameObject); return; } + + pooledRoot = new GameObject("__instant_number_pool").transform; + pooledRoot.SetParent(transform, false); } private void Start() @@ -150,19 +158,76 @@ public class iNumberPrefabController : MonoBehaviour return; } - var go = Instantiate(prefab, parent, false); - if (go == null) return; + var view = GetPooledInstance(prefab, parent); + if (view != null) view.Play(type, signedValue); + } - if (prefab.scene.IsValid()) + private playerInstantNumbersPrefab GetPooledInstance(GameObject prefab, Transform parent) + { + if (prefab == null || parent == null) + return null; + + if (!pools.TryGetValue(prefab, out var pool)) { - if (prefab.activeSelf) prefab.SetActive(false); + pool = new System.Collections.Generic.Stack(); + pools[prefab] = pool; } - // Ensure the newly created object is active before playing animation - if (!go.activeInHierarchy) go.SetActive(true); + playerInstantNumbersPrefab view = null; + while (pool.Count > 0 && view == null) + { + view = pool.Pop(); + } - var view = go.GetComponent(); - if (view != null) view.Play(type, signedValue); + if (view == null) + { + var go = Instantiate(prefab, parent, false); + if (go == null) + return null; + + view = go.GetComponent(); + if (view == null) + return null; + + sourcePrefabs[view] = prefab; + } + else + { + view.transform.SetParent(parent, false); + view.gameObject.SetActive(true); + } + + view.ResetForReuse(); + return view; + } + + public static bool ReturnInstance(playerInstantNumbersPrefab view) + { + if (Instance == null || view == null) + return false; + + return Instance.ReturnInstanceInternal(view); + } + + private bool ReturnInstanceInternal(playerInstantNumbersPrefab view) + { + if (view == null) + return false; + + if (!sourcePrefabs.TryGetValue(view, out var prefab) || prefab == null) + return false; + + if (!pools.TryGetValue(prefab, out var pool)) + { + pool = new System.Collections.Generic.Stack(); + pools[prefab] = pool; + } + + view.transform.SetParent(pooledRoot, false); + view.ResetForReuse(); + view.gameObject.SetActive(false); + pool.Push(view); + return true; } private void WarnMissingPrefabOnce() diff --git a/Assets/scripts/gamePlay_gameplay/player_effect_prefab/instant/playerInstantNumbersPrefab.cs b/Assets/scripts/gamePlay_gameplay/player_effect_prefab/instant/playerInstantNumbersPrefab.cs index 821f76b0..5279350e 100644 --- a/Assets/scripts/gamePlay_gameplay/player_effect_prefab/instant/playerInstantNumbersPrefab.cs +++ b/Assets/scripts/gamePlay_gameplay/player_effect_prefab/instant/playerInstantNumbersPrefab.cs @@ -51,14 +51,33 @@ public class playerInstantNumbersPrefab : MonoBehaviour _canvasGroup.alpha = 1f; } + private void OnDisable() + { + if (_animationCoroutine != null) + { + StopCoroutine(_animationCoroutine); + _animationCoroutine = null; + } + } + public void Play(iNumberPrefabController.InstantNumberType type, int signedValue) { + ResetForReuse(); ApplyVisual(type, signedValue); if (_animationCoroutine != null) StopCoroutine(_animationCoroutine); _animationCoroutine = StartCoroutine(Animate()); } + public void ResetForReuse() + { + if (_canvasGroup != null) _canvasGroup.alpha = 1f; + transform.localRotation = Quaternion.identity; + transform.localScale = Vector3.one; + if (_rectTransform != null) _rectTransform.anchoredPosition = Vector2.zero; + else transform.localPosition = Vector3.zero; + } + private void ApplyVisual(iNumberPrefabController.InstantNumberType type, int signedValue) { if (numberText != null) @@ -178,6 +197,10 @@ public class playerInstantNumbersPrefab : MonoBehaviour yield return null; } - Destroy(gameObject); + _animationCoroutine = null; + if (!iNumberPrefabController.ReturnInstance(this)) + { + Destroy(gameObject); + } } } diff --git a/Assets/scripts/gamePlay_gameplay/settlementController.cs b/Assets/scripts/gamePlay_gameplay/settlementController.cs index 37b3ed43..d1d32523 100644 --- a/Assets/scripts/gamePlay_gameplay/settlementController.cs +++ b/Assets/scripts/gamePlay_gameplay/settlementController.cs @@ -524,6 +524,8 @@ public class settlementController : MonoBehaviour targetTotalScore = targetPmScore + targetIdolScore; targetTotalPercent = (float)targetTotalScore / Mathf.Max(1, _1000000) * 100f; + PlayerSkillService.NotifySettlementCompleted(targetIdolScore); + finalScore_Text.text = targetTotalScore.ToString(); pmScoreSum_Text.text = targetPmScore.ToString(); diff --git a/Assets/scripts/gameplay_teamUI/teamUIController.cs b/Assets/scripts/gameplay_teamUI/teamUIController.cs index 3f5977a8..85b14423 100644 --- a/Assets/scripts/gameplay_teamUI/teamUIController.cs +++ b/Assets/scripts/gameplay_teamUI/teamUIController.cs @@ -370,45 +370,7 @@ public class teamUIController : MonoBehaviour #else // Runtime: prefer runtimeResourcesFolderPath, fallback to selectedProjectFolderPath string resourcesPath = ResolveResourcesRelativePath(!string.IsNullOrEmpty(runtimeResourcesFolderPath) ? runtimeResourcesFolderPath : selectedProjectFolderPath); - - List runtimeDiscovered = new List(); - if (!string.IsNullOrEmpty(resourcesPath)) - { - resourcesPath = resourcesPath.Trim('/'); - try - { - var arr = Resources.LoadAll(resourcesPath); - if (arr != null && arr.Length > 0) - runtimeDiscovered.AddRange(arr); - - // If nothing loaded from the specific folder, fallback to loading all and filter by name later - if (runtimeDiscovered.Count == 0) - { - var arrAll = Resources.LoadAll(""); - if (arrAll != null && arrAll.Length > 0) // Fixed: changed arr.Length to arrAll.Length - { - runtimeDiscovered.AddRange(arrAll); - Debug.LogWarning($"[teamUIController] (Runtime) Resources.LoadAll returned 0 in '{resourcesPath}', fell back to loading all ScriptableObjects ({arrAll.Length})"); - } - } - - Debug.Log($"[teamUIcontroller] (Runtime) Loaded {runtimeDiscovered.Count} objects from Resources/{resourcesPath}"); - } - catch (System.Exception ex) - { - Debug.LogWarning($"[teamUIController] (Runtime) Resources.LoadAll failed for '{resourcesPath}': {ex.Message}"); - var arrAll = Resources.LoadAll(""); - if (arrAll != null && arrAll.Length > 0) // Fixed: changed arr.Length to arrAll.Length - runtimeDiscovered.AddRange(arrAll); - } - } - else - { - var arr = Resources.LoadAll(""); - if (arr != null && arr.Length > 0) - runtimeDiscovered.AddRange(arr); - Debug.Log($"[teamUIController] (Runtime) Loaded {arr?.Length ?? 0} objects from Resources (project-wide)"); - } + List runtimeDiscovered = GetOrBuildRuntimeAllyDiscovered(resourcesPath); TeamCharacterList globalList = null; if (teamSettingPanel.Instance != null) @@ -549,9 +511,7 @@ public class teamUIController : MonoBehaviour // attempt to set teammate image from underlying AllyHero_SO if possible try { - var ahList = Resources.LoadAll(""); - AllyHero_SO matched = null; - foreach (var a in ahList) if (a != null && a.ally_heroID == id) { matched = a; break; } + AllyHero_SO matched = GetCachedRuntimeAllyHero(id); if (matched != null) { var sprite = matched.ally_heroProfile != null ? matched.ally_heroProfile : matched.ally_heroImage; @@ -570,6 +530,77 @@ public class teamUIController : MonoBehaviour #endif } + private List GetOrBuildRuntimeAllyDiscovered(string resourcesPath) + { + resourcesPath = (resourcesPath ?? string.Empty).Trim('/'); + if (_runtimeAllyDiscovered != null && _runtimeAllyResourcesPath == resourcesPath) + return _runtimeAllyDiscovered; + + var runtimeDiscovered = new List(); + if (!string.IsNullOrEmpty(resourcesPath)) + { + try + { + var arr = Resources.LoadAll(resourcesPath); + if (arr != null && arr.Length > 0) + runtimeDiscovered.AddRange(arr); + + if (runtimeDiscovered.Count == 0) + { + var arrAll = Resources.LoadAll(""); + if (arrAll != null && arrAll.Length > 0) + { + runtimeDiscovered.AddRange(arrAll); + Debug.LogWarning($"[teamUIController] (Runtime) Resources.LoadAll returned 0 in '{resourcesPath}', fell back to loading all ScriptableObjects ({arrAll.Length})"); + } + } + + Debug.Log($"[teamUIcontroller] (Runtime) Loaded {runtimeDiscovered.Count} objects from Resources/{resourcesPath}"); + } + catch (System.Exception ex) + { + Debug.LogWarning($"[teamUIController] (Runtime) Resources.LoadAll failed for '{resourcesPath}': {ex.Message}"); + var arrAll = Resources.LoadAll(""); + if (arrAll != null && arrAll.Length > 0) + runtimeDiscovered.AddRange(arrAll); + } + } + else + { + var arr = Resources.LoadAll(""); + if (arr != null && arr.Length > 0) + runtimeDiscovered.AddRange(arr); + Debug.Log($"[teamUIController] (Runtime) Loaded {arr?.Length ?? 0} objects from Resources (project-wide)"); + } + + _runtimeAllyResourcesPath = resourcesPath; + _runtimeAllyDiscovered = runtimeDiscovered; + _cachedRuntimeAllyHeroes = null; + _runtimeAllyHeroById = null; + return runtimeDiscovered; + } + + private AllyHero_SO GetCachedRuntimeAllyHero(int id) + { + if (id <= 0) return null; + + if (_runtimeAllyHeroById != null && _runtimeAllyHeroById.TryGetValue(id, out var cached)) + return cached; + + if (_cachedRuntimeAllyHeroes == null) + { + _cachedRuntimeAllyHeroes = Resources.LoadAll("") ?? System.Array.Empty(); + _runtimeAllyHeroById = new Dictionary(); + foreach (var hero in _cachedRuntimeAllyHeroes) + { + if (hero == null) continue; + _runtimeAllyHeroById[hero.ally_heroID] = hero; + } + } + + return _runtimeAllyHeroById.TryGetValue(id, out var heroFound) ? heroFound : null; + } + // ResolveResourcesRelativePath helper method is missing, assuming it exists externally or is part of a base class / extension. // Since the user is providing the full class, I will assume it's either defined outside this snippet or is implicitly handled, // but the code within #if UNITY_EDITOR is what matters for the file content. @@ -815,6 +846,10 @@ public class teamUIController : MonoBehaviour private const string EnemyDieAnimationName = "die"; private string _runtimeEnemyResourcesPath; private List _runtimeEnemyDiscovered; + private string _runtimeAllyResourcesPath; + private List _runtimeAllyDiscovered; + private AllyHero_SO[] _cachedRuntimeAllyHeroes; + private Dictionary _runtimeAllyHeroById; // For total enemy health bar private int totalMaxHP = 0; // Documentation text normalized. @@ -1031,6 +1066,8 @@ public class teamUIController : MonoBehaviour public bool isEnemy_active = true; [Tooltip("Documentation text normalized.")] public Image currentEnemy_characterImage; + [Tooltip("Shown on currentEnemy_characterImage after the last enemy is defeated. If empty, falls back to the last enemy SO sprite.")] + public Sprite allEnemiesDefeatedSprite; [Tooltip("Documentation text normalized.")] public Image currentEnemy_healthImage; [Tooltip("Documentation text normalized.")] @@ -1055,6 +1092,10 @@ public class teamUIController : MonoBehaviour public TextMeshProUGUI currentEnemy_manaRate; [Tooltip("Documentation text normalized.")] public TextMeshProUGUI currentEnemy_current_scoreText; // rate : now score / max score + [Tooltip("Hidden after all enemies are defeated.")] + public GameObject currentEnemy_bountyObject; + [Tooltip("Displays the current enemy bounty score.")] + public Text currentEnemy_bountyText; [Tooltip("Documentation text normalized.")] [SerializeField] private int enemy_id; [Tooltip("Documentation text normalized.")] @@ -1067,6 +1108,9 @@ public class teamUIController : MonoBehaviour [SerializeField] private Image spine_to_put_referenceImage; [SerializeField] private Color spineHurtFlashColor = new Color(1f, 0.2f, 0.2f, 1f); [SerializeField] private float spineUniformHeight = 0f; + private Coroutine enemyBountyTextCoroutine; + private bool enemyBountyTransitionActive = false; + private int currentDisplayedEnemyBounty = 0; public float SpineUniformHeight { get => spineUniformHeight; @@ -1598,8 +1642,10 @@ public class teamUIController : MonoBehaviour } if (currentEnemy_characterImage != null) { - // Set the sprite from SO - var sprite = so.enemy_Image != null ? so.enemy_Image : (so.enemy_Profile != null ? so.enemy_Profile : null); + // Use the configured victory sprite first, otherwise fall back to the defeated enemy sprite. + var sprite = allEnemiesDefeatedSprite != null + ? allEnemiesDefeatedSprite + : (so.enemy_Image != null ? so.enemy_Image : (so.enemy_Profile != null ? so.enemy_Profile : null)); currentEnemy_characterImage.sprite = sprite; // Apply grayscale material @@ -1716,6 +1762,7 @@ public class teamUIController : MonoBehaviour if (currentEnemy_manaImage != null) currentEnemy_manaImage.fillAmount = 0f; if (currentEnemy_fademanaImage != null) currentEnemy_fademanaImage.fillAmount = 0f; if (currentEnemy_typeText != null) currentEnemy_typeText.text = "(普通敌人)"; + HideEnemyBountyUiImmediate(); UpdateEnemyListText(); // Documentation text normalized. UpdateAllEnemyTotalHealthUIImmediate(); @@ -1756,6 +1803,8 @@ public class teamUIController : MonoBehaviour if (currentEnemy_manaImage != null) currentEnemy_manaImage.fillAmount = 0f; if (currentEnemy_fademanaImage != null) currentEnemy_fademanaImage.fillAmount = 0f; if (currentEnemy_typeText != null) currentEnemy_typeText.text = "(普通敌人)"; + if (!enemyBountyTransitionActive) + HideEnemyBountyUiImmediate(); UpdateEnemyListText(); // Update total health bar to 0 UpdateAllEnemyTotalHealthUIImmediate(); @@ -1834,6 +1883,23 @@ public class teamUIController : MonoBehaviour // ensure UI parent is visible if (objectFather_enemy != null) objectFather_enemy.SetActive(true); + int currentEnemyBounty = CalculateEnemyBountyScore(so); + if (currentEnemy_bountyObject != null) + currentEnemy_bountyObject.SetActive(true); + if (enemyCurrentCount == 0 && currentDisplayedEnemyBounty == 0 && !enemyBountyTransitionActive) + { + if (enemyBountyTextCoroutine != null) + { + StopCoroutine(enemyBountyTextCoroutine); + enemyBountyTextCoroutine = null; + } + SetEnemyBountyDisplayImmediate(currentEnemyBounty); + } + else + { + AnimateEnemyBountyRise(currentEnemyBounty); + } + // reset previous values so Update picks up initial state prevEnemyHP = enemyCombatantInstance.currentHP; prevEnemyMana = enemyCombatantInstance.currentMana; @@ -1992,6 +2058,16 @@ public class teamUIController : MonoBehaviour } if (delay > 0f) { + int nextIndex = enemyCurrentCount + 1; + if (nextIndex >= recognizedEnemySOs.Length) + { + AnimateEnemyBountyToZero(true); + } + else + { + AnimateEnemyBountyToZero(false); + } + if (_enemySpineDeathCoroutine != null) { StopCoroutine(_enemySpineDeathCoroutine); @@ -2004,6 +2080,16 @@ public class teamUIController : MonoBehaviour } } + int nextEnemyIndex = enemyCurrentCount + 1; + if (nextEnemyIndex >= recognizedEnemySOs.Length) + { + AnimateEnemyBountyToZero(true); + } + else + { + AnimateEnemyBountyToZero(false); + } + enemyCurrentCount++; SpawnNextEnemy(); } @@ -2014,6 +2100,113 @@ public class teamUIController : MonoBehaviour UpdateEnemyUIImmediate(); } + private int CalculateEnemyBountyScore(EnemyData_SO so) + { + if (so == null) + return 0; + + int difficultyID = BeatmapManager.Instance != null ? BeatmapManager.Instance.assignedDifficulty : 0; + EnemyData_SO.EnemyDifficultyStats stats = so.GetStatsByDifficultyID(difficultyID); + int calculatedMaxHp = Mathf.Max(0, stats.enemy_maxHP); + float difficultyLevel = ResolveCurrentDifficultyLevel(difficultyID); + float totalBounty = calculatedMaxHp * 0.05f * difficultyLevel + so.enemyBountyBonus; + return Mathf.Max(0, Mathf.CeilToInt(totalBounty)); + } + + private float ResolveCurrentDifficultyLevel(int difficultyID) + { + BeatmapManager beatmapManager = BeatmapManager.Instance; + if (beatmapManager == null || beatmapManager.assignedSongData == null || beatmapManager.assignedSongData.chartFiles == null) + return 1f; + + List chartFiles = beatmapManager.assignedSongData.chartFiles; + for (int i = 0; i < chartFiles.Count; i++) + { + ChartFileEntry entry = chartFiles[i]; + if (entry == null || entry.difficulty != difficultyID) + continue; + + return Mathf.Max(0f, entry.difficultyLEVEL); + } + + return 1f; + } + + private void SetEnemyBountyDisplayImmediate(int value) + { + currentDisplayedEnemyBounty = Mathf.Max(0, value); + if (currentEnemy_bountyText != null) + currentEnemy_bountyText.text = currentDisplayedEnemyBounty.ToString(); + } + + private void HideEnemyBountyUiImmediate() + { + if (enemyBountyTextCoroutine != null) + { + StopCoroutine(enemyBountyTextCoroutine); + enemyBountyTextCoroutine = null; + } + + enemyBountyTransitionActive = false; + SetEnemyBountyDisplayImmediate(0); + if (currentEnemy_bountyObject != null) + currentEnemy_bountyObject.SetActive(false); + } + + private void AnimateEnemyBountyRise(int targetValue) + { + if (enemyBountyTextCoroutine != null) + StopCoroutine(enemyBountyTextCoroutine); + + if (currentEnemy_bountyObject != null) + currentEnemy_bountyObject.SetActive(true); + + enemyBountyTransitionActive = true; + enemyBountyTextCoroutine = StartCoroutine(AnimateEnemyBountyValueRoutine(0, Mathf.Max(0, targetValue), 1f, false)); + } + + private void AnimateEnemyBountyToZero(bool hideAfterZero) + { + if (enemyBountyTextCoroutine != null) + StopCoroutine(enemyBountyTextCoroutine); + + if (currentEnemy_bountyObject != null) + currentEnemy_bountyObject.SetActive(true); + + enemyBountyTransitionActive = true; + enemyBountyTextCoroutine = StartCoroutine(AnimateEnemyBountyValueRoutine(currentDisplayedEnemyBounty, 0, 1f, hideAfterZero)); + } + + private IEnumerator AnimateEnemyBountyValueRoutine(int startValue, int endValue, float duration, bool deactivateAtEnd) + { + enemyBountyTransitionActive = true; + SetEnemyBountyDisplayImmediate(startValue); + + if (duration <= 0f) + { + SetEnemyBountyDisplayImmediate(endValue); + } + else + { + float elapsed = 0f; + while (elapsed < duration) + { + elapsed += Time.deltaTime; + float t = Mathf.Clamp01(elapsed / duration); + int value = Mathf.RoundToInt(Mathf.Lerp(startValue, endValue, t)); + SetEnemyBountyDisplayImmediate(value); + yield return null; + } + SetEnemyBountyDisplayImmediate(endValue); + } + + enemyBountyTransitionActive = false; + enemyBountyTextCoroutine = null; + + if (deactivateAtEnd && currentEnemy_bountyObject != null) + currentEnemy_bountyObject.SetActive(false); + } + // Documentation text normalized. // ========================================================= @@ -2066,6 +2259,15 @@ public class teamUIController : MonoBehaviour Debug.Log($"[teamUIController] Re-initializing current enemy instance with new HP: {stats.enemy_maxHP}"); enemyCombatantInstance.InitializeFromSO(currentSO, diffID); UpdateEnemyUIImmediate(); + + // The first enemy can be spawned before BeatmapManager finishes writing + // the calculated HP back into the enemy SO. Refresh bounty text here so it + // reflects the final computed max HP rather than the pre-calculation value. + int refreshedBounty = CalculateEnemyBountyScore(currentSO); + if (currentEnemy_bountyObject != null) + currentEnemy_bountyObject.SetActive(true); + if (!enemyBountyTransitionActive) + SetEnemyBountyDisplayImmediate(refreshedBounty); } } } diff --git a/Assets/scripts/rendering.meta b/Assets/scripts/rendering.meta new file mode 100644 index 00000000..ddc8c1c9 --- /dev/null +++ b/Assets/scripts/rendering.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 90bd6951a29795d4a943028d2150ce08 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/scripts/rendering/Editor.meta b/Assets/scripts/rendering/Editor.meta new file mode 100644 index 00000000..e6da1cf9 --- /dev/null +++ b/Assets/scripts/rendering/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3211f9d28619bb347a531aa2252d51eb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/scripts/rendering/Editor/GlobalAfterimageInstaller.cs b/Assets/scripts/rendering/Editor/GlobalAfterimageInstaller.cs new file mode 100644 index 00000000..0dc7ab58 --- /dev/null +++ b/Assets/scripts/rendering/Editor/GlobalAfterimageInstaller.cs @@ -0,0 +1,159 @@ +#if UNITY_EDITOR +using System.Reflection; +using UnityEditor; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.Universal; + +[InitializeOnLoad] +public static class GlobalAfterimageInstaller +{ + private const string RendererDataPath = "Assets/Settings/Renderer2D.asset"; + private const string GameplayVolumeProfilePath = "Assets/Scenes/gamePlay_gamePlay/gpGV.asset"; + private static bool installScheduled; + + static GlobalAfterimageInstaller() + { + ScheduleInstall(); + } + + [MenuItem("Bansonic/Rendering/Install Global Afterimage")] + public static void EnsureInstalledMenu() + { + EnsureInstalled(); + } + + private static void ScheduleInstall() + { + if (installScheduled) + return; + + installScheduled = true; + EditorApplication.delayCall += RunScheduledInstall; + } + + private static void RunScheduledInstall() + { + installScheduled = false; + EnsureInstalled(); + } + + private static void EnsureInstalled() + { + if (EditorApplication.isCompiling || BuildPipeline.isBuildingPlayer) + { + ScheduleInstall(); + return; + } + + if (IsUnsafeSelectionActive()) + { + ScheduleInstall(); + return; + } + + EnsureRendererFeatureInstalled(); + EnsureVolumeOverrideInstalled(); + } + + private static void EnsureRendererFeatureInstalled() + { + ScriptableRendererData rendererData = AssetDatabase.LoadAssetAtPath(RendererDataPath); + if (rendererData == null) + return; + + if (!rendererData.TryGetRendererFeature(out GlobalAfterimageRendererFeature feature)) + { + feature = ScriptableObject.CreateInstance(); + feature.name = "Global Afterimage Renderer Feature"; + AssetDatabase.AddObjectToAsset(feature, rendererData); + rendererData.rendererFeatures.Add(feature); + rendererData.SetDirty(); + EditorUtility.SetDirty(feature); + EditorUtility.SetDirty(rendererData); + TryValidateRendererFeatures(rendererData); + AssetDatabase.SaveAssets(); + AssetDatabase.ImportAsset(RendererDataPath); + return; + } + + if (feature.renderPassEvent != RenderPassEvent.AfterRenderingPostProcessing) + { + feature.renderPassEvent = RenderPassEvent.AfterRenderingPostProcessing; + rendererData.SetDirty(); + EditorUtility.SetDirty(feature); + EditorUtility.SetDirty(rendererData); + AssetDatabase.SaveAssets(); + } + } + + private static void EnsureVolumeOverrideInstalled() + { + VolumeProfile profile = AssetDatabase.LoadAssetAtPath(GameplayVolumeProfilePath); + if (profile == null) + return; + + RemoveNullVolumeComponents(profile); + + if (profile.TryGet(out _)) + return; + + GlobalAfterimageVolume component = profile.Add(true); + component.active = false; + component.opacity.overrideState = true; + component.opacity.value = 0f; + component.scale.overrideState = true; + component.scale.value = 1.05f; + component.affectSceneView.overrideState = true; + component.affectSceneView.value = false; + EditorUtility.SetDirty(component); + EditorUtility.SetDirty(profile); + AssetDatabase.SaveAssets(); + } + + private static void RemoveNullVolumeComponents(VolumeProfile profile) + { + SerializedObject serializedObject = new SerializedObject(profile); + SerializedProperty componentsProperty = serializedObject.FindProperty("components"); + if (componentsProperty == null || !componentsProperty.isArray) + return; + + bool removed = false; + for (int i = componentsProperty.arraySize - 1; i >= 0; i--) + { + SerializedProperty element = componentsProperty.GetArrayElementAtIndex(i); + if (element.objectReferenceValue != null) + continue; + + componentsProperty.DeleteArrayElementAtIndex(i); + removed = true; + } + + if (!removed) + return; + + serializedObject.ApplyModifiedPropertiesWithoutUndo(); + EditorUtility.SetDirty(profile); + AssetDatabase.SaveAssets(); + } + + private static void TryValidateRendererFeatures(ScriptableRendererData rendererData) + { + MethodInfo validateMethod = typeof(ScriptableRendererData).GetMethod("ValidateRendererFeatures", BindingFlags.Instance | BindingFlags.NonPublic); + validateMethod?.Invoke(rendererData, null); + } + + private static bool IsUnsafeSelectionActive() + { + Object activeObject = Selection.activeObject; + if (activeObject is VolumeProfile || activeObject is Volume) + return true; + + GameObject activeGameObject = Selection.activeGameObject; + if (activeGameObject == null) + return false; + + return activeGameObject.TryGetComponent(out _); + } +} +#endif diff --git a/Assets/scripts/rendering/Editor/GlobalAfterimageInstaller.cs.meta b/Assets/scripts/rendering/Editor/GlobalAfterimageInstaller.cs.meta new file mode 100644 index 00000000..0576a878 --- /dev/null +++ b/Assets/scripts/rendering/Editor/GlobalAfterimageInstaller.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e5a6ce7542914bd428842b45057360d0 \ No newline at end of file diff --git a/Assets/scripts/rendering/Editor/GlobalDistortionInstaller.cs b/Assets/scripts/rendering/Editor/GlobalDistortionInstaller.cs new file mode 100644 index 00000000..1e991bc8 --- /dev/null +++ b/Assets/scripts/rendering/Editor/GlobalDistortionInstaller.cs @@ -0,0 +1,167 @@ +#if UNITY_EDITOR +using System.Reflection; +using UnityEditor; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.Universal; + +[InitializeOnLoad] +public static class GlobalDistortionInstaller +{ + private const string RendererDataPath = "Assets/Settings/Renderer2D.asset"; + private const string GameplayVolumeProfilePath = "Assets/Scenes/gamePlay_gamePlay/gpGV.asset"; + private static bool installScheduled; + + static GlobalDistortionInstaller() + { + ScheduleInstall(); + } + + [MenuItem("Bansonic/Rendering/Install Global Distortion")] + public static void EnsureInstalledMenu() + { + EnsureInstalled(); + } + + private static void ScheduleInstall() + { + if (installScheduled) + return; + + installScheduled = true; + EditorApplication.delayCall += RunScheduledInstall; + } + + private static void RunScheduledInstall() + { + installScheduled = false; + EnsureInstalled(); + } + + private static void EnsureInstalled() + { + if (EditorApplication.isCompiling || BuildPipeline.isBuildingPlayer) + { + ScheduleInstall(); + return; + } + + if (IsUnsafeSelectionActive()) + { + ScheduleInstall(); + return; + } + + EnsureRendererFeatureInstalled(); + EnsureVolumeOverrideInstalled(); + } + + private static void EnsureRendererFeatureInstalled() + { + ScriptableRendererData rendererData = AssetDatabase.LoadAssetAtPath(RendererDataPath); + if (rendererData == null) + return; + + if (!rendererData.TryGetRendererFeature(out GlobalDistortionRendererFeature feature)) + { + feature = ScriptableObject.CreateInstance(); + feature.name = "Global Distortion Renderer Feature"; + AssetDatabase.AddObjectToAsset(feature, rendererData); + rendererData.rendererFeatures.Add(feature); + rendererData.SetDirty(); + EditorUtility.SetDirty(feature); + EditorUtility.SetDirty(rendererData); + TryValidateRendererFeatures(rendererData); + AssetDatabase.SaveAssets(); + AssetDatabase.ImportAsset(RendererDataPath); + return; + } + + if (feature.renderPassEvent != RenderPassEvent.AfterRenderingPostProcessing) + { + feature.renderPassEvent = RenderPassEvent.AfterRenderingPostProcessing; + rendererData.SetDirty(); + EditorUtility.SetDirty(feature); + EditorUtility.SetDirty(rendererData); + AssetDatabase.SaveAssets(); + } + } + + private static void EnsureVolumeOverrideInstalled() + { + VolumeProfile profile = AssetDatabase.LoadAssetAtPath(GameplayVolumeProfilePath); + if (profile == null) + return; + + RemoveNullVolumeComponents(profile); + + if (profile.TryGet(out _)) + return; + + GlobalDistortionVolume component = profile.Add(true); + component.active = false; + component.intensity.overrideState = true; + component.intensity.value = 0f; + component.noiseStrength.overrideState = true; + component.noiseStrength.value = 0.16f; + component.radialStrength.overrideState = true; + component.radialStrength.value = 0.35f; + component.noiseScale.overrideState = true; + component.noiseScale.value = 12f; + component.center.overrideState = true; + component.center.value = new Vector2(0.5f, 0.5f); + component.edgeFade.overrideState = true; + component.edgeFade.value = 1.25f; + component.affectSceneView.overrideState = true; + component.affectSceneView.value = false; + EditorUtility.SetDirty(component); + EditorUtility.SetDirty(profile); + AssetDatabase.SaveAssets(); + } + + private static void RemoveNullVolumeComponents(VolumeProfile profile) + { + SerializedObject serializedObject = new SerializedObject(profile); + SerializedProperty componentsProperty = serializedObject.FindProperty("components"); + if (componentsProperty == null || !componentsProperty.isArray) + return; + + bool removed = false; + for (int i = componentsProperty.arraySize - 1; i >= 0; i--) + { + SerializedProperty element = componentsProperty.GetArrayElementAtIndex(i); + if (element.objectReferenceValue != null) + continue; + + componentsProperty.DeleteArrayElementAtIndex(i); + removed = true; + } + + if (!removed) + return; + + serializedObject.ApplyModifiedPropertiesWithoutUndo(); + EditorUtility.SetDirty(profile); + AssetDatabase.SaveAssets(); + } + + private static void TryValidateRendererFeatures(ScriptableRendererData rendererData) + { + MethodInfo validateMethod = typeof(ScriptableRendererData).GetMethod("ValidateRendererFeatures", BindingFlags.Instance | BindingFlags.NonPublic); + validateMethod?.Invoke(rendererData, null); + } + + private static bool IsUnsafeSelectionActive() + { + Object activeObject = Selection.activeObject; + if (activeObject is VolumeProfile || activeObject is Volume) + return true; + + GameObject activeGameObject = Selection.activeGameObject; + if (activeGameObject == null) + return false; + + return activeGameObject.TryGetComponent(out _); + } +} +#endif diff --git a/Assets/scripts/rendering/Editor/GlobalDistortionInstaller.cs.meta b/Assets/scripts/rendering/Editor/GlobalDistortionInstaller.cs.meta new file mode 100644 index 00000000..9ead5735 --- /dev/null +++ b/Assets/scripts/rendering/Editor/GlobalDistortionInstaller.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8da344594051c8647abdb52bec165007 \ No newline at end of file diff --git a/Assets/scripts/rendering/Editor/GlobalGlitchInstaller.cs b/Assets/scripts/rendering/Editor/GlobalGlitchInstaller.cs new file mode 100644 index 00000000..c7e3de68 --- /dev/null +++ b/Assets/scripts/rendering/Editor/GlobalGlitchInstaller.cs @@ -0,0 +1,167 @@ +#if UNITY_EDITOR +using System.Reflection; +using UnityEditor; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.Universal; + +[InitializeOnLoad] +public static class GlobalGlitchInstaller +{ + private const string RendererDataPath = "Assets/Settings/Renderer2D.asset"; + private const string GameplayVolumeProfilePath = "Assets/Scenes/gamePlay_gamePlay/gpGV.asset"; + private static bool installScheduled; + + static GlobalGlitchInstaller() + { + ScheduleInstall(); + } + + [MenuItem("Bansonic/Rendering/Install Global Glitch")] + public static void EnsureInstalledMenu() + { + EnsureInstalled(); + } + + private static void ScheduleInstall() + { + if (installScheduled) + return; + + installScheduled = true; + EditorApplication.delayCall += RunScheduledInstall; + } + + private static void RunScheduledInstall() + { + installScheduled = false; + EnsureInstalled(); + } + + private static void EnsureInstalled() + { + if (EditorApplication.isCompiling || BuildPipeline.isBuildingPlayer) + { + ScheduleInstall(); + return; + } + + if (IsUnsafeSelectionActive()) + { + ScheduleInstall(); + return; + } + + EnsureRendererFeatureInstalled(); + EnsureVolumeOverrideInstalled(); + } + + private static void EnsureRendererFeatureInstalled() + { + ScriptableRendererData rendererData = AssetDatabase.LoadAssetAtPath(RendererDataPath); + if (rendererData == null) + return; + + if (!rendererData.TryGetRendererFeature(out GlobalGlitchRendererFeature feature)) + { + feature = ScriptableObject.CreateInstance(); + feature.name = "Global Glitch Renderer Feature"; + AssetDatabase.AddObjectToAsset(feature, rendererData); + rendererData.rendererFeatures.Add(feature); + rendererData.SetDirty(); + EditorUtility.SetDirty(feature); + EditorUtility.SetDirty(rendererData); + TryValidateRendererFeatures(rendererData); + AssetDatabase.SaveAssets(); + AssetDatabase.ImportAsset(RendererDataPath); + return; + } + + if (feature.renderPassEvent != RenderPassEvent.AfterRenderingPostProcessing) + { + feature.renderPassEvent = RenderPassEvent.AfterRenderingPostProcessing; + rendererData.SetDirty(); + EditorUtility.SetDirty(feature); + EditorUtility.SetDirty(rendererData); + AssetDatabase.SaveAssets(); + } + } + + private static void EnsureVolumeOverrideInstalled() + { + VolumeProfile profile = AssetDatabase.LoadAssetAtPath(GameplayVolumeProfilePath); + if (profile == null) + return; + + RemoveNullVolumeComponents(profile); + + if (profile.TryGet(out _)) + return; + + GlobalGlitchVolume component = profile.Add(true); + component.active = false; + component.intensity.overrideState = true; + component.intensity.value = 0f; + component.blockStrength.overrideState = true; + component.blockStrength.value = 0.45f; + component.colorSplit.overrideState = true; + component.colorSplit.value = 0.01f; + component.jitterAmount.overrideState = true; + component.jitterAmount.value = 0.4f; + component.stripFrequency.overrideState = true; + component.stripFrequency.value = 48f; + component.scanlineStrength.overrideState = true; + component.scanlineStrength.value = 0.18f; + component.affectSceneView.overrideState = true; + component.affectSceneView.value = false; + EditorUtility.SetDirty(component); + EditorUtility.SetDirty(profile); + AssetDatabase.SaveAssets(); + } + + private static void RemoveNullVolumeComponents(VolumeProfile profile) + { + SerializedObject serializedObject = new SerializedObject(profile); + SerializedProperty componentsProperty = serializedObject.FindProperty("components"); + if (componentsProperty == null || !componentsProperty.isArray) + return; + + bool removed = false; + for (int i = componentsProperty.arraySize - 1; i >= 0; i--) + { + SerializedProperty element = componentsProperty.GetArrayElementAtIndex(i); + if (element.objectReferenceValue != null) + continue; + + componentsProperty.DeleteArrayElementAtIndex(i); + removed = true; + } + + if (!removed) + return; + + serializedObject.ApplyModifiedPropertiesWithoutUndo(); + EditorUtility.SetDirty(profile); + AssetDatabase.SaveAssets(); + } + + private static void TryValidateRendererFeatures(ScriptableRendererData rendererData) + { + MethodInfo validateMethod = typeof(ScriptableRendererData).GetMethod("ValidateRendererFeatures", BindingFlags.Instance | BindingFlags.NonPublic); + validateMethod?.Invoke(rendererData, null); + } + + private static bool IsUnsafeSelectionActive() + { + Object activeObject = Selection.activeObject; + if (activeObject is VolumeProfile || activeObject is Volume) + return true; + + GameObject activeGameObject = Selection.activeGameObject; + if (activeGameObject == null) + return false; + + return activeGameObject.TryGetComponent(out _); + } +} +#endif diff --git a/Assets/scripts/rendering/Editor/GlobalGlitchInstaller.cs.meta b/Assets/scripts/rendering/Editor/GlobalGlitchInstaller.cs.meta new file mode 100644 index 00000000..c1d6e3b6 --- /dev/null +++ b/Assets/scripts/rendering/Editor/GlobalGlitchInstaller.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f7effde50fff3c34c8c188a696cf3bcf \ No newline at end of file diff --git a/Assets/scripts/rendering/Editor/GlobalMonochromeInstaller.cs b/Assets/scripts/rendering/Editor/GlobalMonochromeInstaller.cs new file mode 100644 index 00000000..4bc8e7b9 --- /dev/null +++ b/Assets/scripts/rendering/Editor/GlobalMonochromeInstaller.cs @@ -0,0 +1,157 @@ +#if UNITY_EDITOR +using System.Reflection; +using UnityEditor; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.Universal; + +[InitializeOnLoad] +public static class GlobalMonochromeInstaller +{ + private const string RendererDataPath = "Assets/Settings/Renderer2D.asset"; + private const string GameplayVolumeProfilePath = "Assets/Scenes/gamePlay_gamePlay/gpGV.asset"; + private static bool installScheduled; + + static GlobalMonochromeInstaller() + { + ScheduleInstall(); + } + + [MenuItem("Bansonic/Rendering/Install Global Monochrome")] + public static void EnsureInstalledMenu() + { + EnsureInstalled(); + } + + private static void ScheduleInstall() + { + if (installScheduled) + return; + + installScheduled = true; + EditorApplication.delayCall += RunScheduledInstall; + } + + private static void RunScheduledInstall() + { + installScheduled = false; + EnsureInstalled(); + } + + private static void EnsureInstalled() + { + if (EditorApplication.isCompiling || BuildPipeline.isBuildingPlayer) + { + ScheduleInstall(); + return; + } + + if (IsUnsafeSelectionActive()) + { + ScheduleInstall(); + return; + } + + EnsureRendererFeatureInstalled(); + EnsureVolumeOverrideInstalled(); + } + + private static void EnsureRendererFeatureInstalled() + { + ScriptableRendererData rendererData = AssetDatabase.LoadAssetAtPath(RendererDataPath); + if (rendererData == null) + return; + + if (!rendererData.TryGetRendererFeature(out GlobalMonochromeRendererFeature feature)) + { + feature = ScriptableObject.CreateInstance(); + feature.name = "Global Monochrome Renderer Feature"; + AssetDatabase.AddObjectToAsset(feature, rendererData); + rendererData.rendererFeatures.Add(feature); + rendererData.SetDirty(); + EditorUtility.SetDirty(feature); + EditorUtility.SetDirty(rendererData); + TryValidateRendererFeatures(rendererData); + AssetDatabase.SaveAssets(); + AssetDatabase.ImportAsset(RendererDataPath); + return; + } + + if (feature.renderPassEvent != RenderPassEvent.AfterRenderingPostProcessing) + { + feature.renderPassEvent = RenderPassEvent.AfterRenderingPostProcessing; + rendererData.SetDirty(); + EditorUtility.SetDirty(feature); + EditorUtility.SetDirty(rendererData); + AssetDatabase.SaveAssets(); + } + } + + private static void EnsureVolumeOverrideInstalled() + { + VolumeProfile profile = AssetDatabase.LoadAssetAtPath(GameplayVolumeProfilePath); + if (profile == null) + return; + + RemoveNullVolumeComponents(profile); + + if (profile.TryGet(out _)) + return; + + GlobalMonochromeVolume component = profile.Add(true); + component.active = false; + component.intensity.overrideState = true; + component.intensity.value = 0f; + component.affectSceneView.overrideState = true; + component.affectSceneView.value = false; + EditorUtility.SetDirty(component); + EditorUtility.SetDirty(profile); + AssetDatabase.SaveAssets(); + } + + private static void RemoveNullVolumeComponents(VolumeProfile profile) + { + SerializedObject serializedObject = new SerializedObject(profile); + SerializedProperty componentsProperty = serializedObject.FindProperty("components"); + if (componentsProperty == null || !componentsProperty.isArray) + return; + + bool removed = false; + for (int i = componentsProperty.arraySize - 1; i >= 0; i--) + { + SerializedProperty element = componentsProperty.GetArrayElementAtIndex(i); + if (element.objectReferenceValue != null) + continue; + + componentsProperty.DeleteArrayElementAtIndex(i); + removed = true; + } + + if (!removed) + return; + + serializedObject.ApplyModifiedPropertiesWithoutUndo(); + EditorUtility.SetDirty(profile); + AssetDatabase.SaveAssets(); + } + + private static void TryValidateRendererFeatures(ScriptableRendererData rendererData) + { + MethodInfo validateMethod = typeof(ScriptableRendererData).GetMethod("ValidateRendererFeatures", BindingFlags.Instance | BindingFlags.NonPublic); + validateMethod?.Invoke(rendererData, null); + } + + private static bool IsUnsafeSelectionActive() + { + Object activeObject = Selection.activeObject; + if (activeObject is VolumeProfile || activeObject is Volume) + return true; + + GameObject activeGameObject = Selection.activeGameObject; + if (activeGameObject == null) + return false; + + return activeGameObject.TryGetComponent(out _); + } +} +#endif diff --git a/Assets/scripts/rendering/Editor/GlobalMonochromeInstaller.cs.meta b/Assets/scripts/rendering/Editor/GlobalMonochromeInstaller.cs.meta new file mode 100644 index 00000000..c648b59d --- /dev/null +++ b/Assets/scripts/rendering/Editor/GlobalMonochromeInstaller.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9530a18d124454244a6fc70d833e3182 \ No newline at end of file diff --git a/Assets/scripts/rendering/GlobalAfterimageRendererFeature.cs b/Assets/scripts/rendering/GlobalAfterimageRendererFeature.cs new file mode 100644 index 00000000..876e5113 --- /dev/null +++ b/Assets/scripts/rendering/GlobalAfterimageRendererFeature.cs @@ -0,0 +1,178 @@ +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.RenderGraphModule; +using UnityEngine.Rendering.RenderGraphModule.Util; +using UnityEngine.Rendering.Universal; + +public class GlobalAfterimageRendererFeature : ScriptableRendererFeature +{ + [Tooltip("When the custom afterimage pass should execute.")] + public RenderPassEvent renderPassEvent = RenderPassEvent.AfterRenderingPostProcessing; + + private Material material; + private GlobalAfterimagePass pass; + + public override void Create() + { + if (pass == null) + pass = new GlobalAfterimagePass(); + + pass.renderPassEvent = renderPassEvent; + EnsureMaterial(); + } + + public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) + { + if (!EnsureMaterial()) + return; + + Camera camera = renderingData.cameraData.camera; + if (camera == null) + return; + + if (renderingData.cameraData.cameraType == CameraType.Preview || renderingData.cameraData.cameraType == CameraType.Reflection) + return; + + if (!renderingData.cameraData.postProcessEnabled) + return; + + GlobalAfterimageVolume settings = VolumeManager.instance.stack.GetComponent(); + bool hasVolume = settings != null && settings.active; + float runtimeOpacity = GlobalAfterimageRuntimeController.RuntimeOpacity; + float baseOpacity = hasVolume ? settings.opacity.value : 0f; + float finalOpacity = Mathf.Clamp01(Mathf.Max(baseOpacity, runtimeOpacity)); + if (finalOpacity <= 0.0001f) + return; + + if (camera.cameraType == CameraType.SceneView && hasVolume && !settings.affectSceneView.value) + return; + + float runtimeScale = Mathf.Max(1f, GlobalAfterimageRuntimeController.RuntimeScale); + float baseScale = hasVolume ? settings.scale.value : 1.05f; + float finalScale = Mathf.Max(baseScale, runtimeScale); + bool captureRequested = GlobalAfterimageRuntimeController.ConsumeCaptureRequest(); + + pass.Setup(material, finalOpacity, finalScale, captureRequested, renderingData.cameraData.cameraTargetDescriptor); + renderer.EnqueuePass(pass); + } + + protected override void Dispose(bool disposing) + { + if (pass != null) + { + pass.Dispose(); + pass = null; + } + + if (material != null) + { + CoreUtils.Destroy(material); + material = null; + } + } + + private bool EnsureMaterial() + { + if (material != null) + return true; + + Shader shader = Shader.Find("Hidden/Bansonic/GlobalAfterimage"); + if (shader == null) + return false; + + material = CoreUtils.CreateEngineMaterial(shader); + return material != null; + } + + private sealed class GlobalAfterimagePass : ScriptableRenderPass + { + private static readonly int OpacityId = Shader.PropertyToID("_AfterimageOpacity"); + private static readonly int ScaleId = Shader.PropertyToID("_AfterimageScale"); + private static readonly int SnapshotTexId = Shader.PropertyToID("_SnapshotTex"); + + private Material passMaterial; + private float opacity; + private float scale; + private bool captureRequested; + private RenderTextureDescriptor descriptor; + private RTHandle compatibilityCopy; + private RTHandle snapshotTexture; + + public void Setup(Material material, float passOpacity, float passScale, bool passCaptureRequested, RenderTextureDescriptor targetDescriptor) + { + passMaterial = material; + opacity = passOpacity; + scale = Mathf.Max(1f, passScale); + captureRequested = passCaptureRequested; + descriptor = targetDescriptor; + descriptor.msaaSamples = 1; + descriptor.depthBufferBits = 0; + requiresIntermediateTexture = true; + RenderingUtils.ReAllocateHandleIfNeeded(ref snapshotTexture, descriptor, FilterMode.Bilinear, TextureWrapMode.Clamp, name: "_GlobalAfterimageSnapshot"); + } + + public void Dispose() + { + compatibilityCopy?.Release(); + compatibilityCopy = null; + snapshotTexture?.Release(); + snapshotTexture = null; + } + + public override void RecordRenderGraph(RenderGraph renderGraph, ContextContainer frameData) + { + if (passMaterial == null || snapshotTexture == null) + return; + + UniversalResourceData resourceData = frameData.Get(); + if (resourceData.isActiveTargetBackBuffer) + return; + + ApplyMaterialProperties(); + + TextureHandle source = resourceData.activeColorTexture; + TextureHandle importedSnapshot = renderGraph.ImportTexture(snapshotTexture); + if (captureRequested) + { + renderGraph.AddBlitPass(source, importedSnapshot, Vector2.one, Vector2.zero, passName: "Global Afterimage Capture"); + } + + TextureDesc tempDesc = renderGraph.GetTextureDesc(source); + tempDesc.name = "CameraColor-GlobalAfterimageTemp"; + tempDesc.clearBuffer = false; + TextureHandle tempTexture = renderGraph.CreateTexture(tempDesc); + + RenderGraphUtils.BlitMaterialParameters effectParameters = new(source, tempTexture, passMaterial, 0); + renderGraph.AddBlitPass(effectParameters, passName: "Global Afterimage Effect"); + renderGraph.AddBlitPass(tempTexture, resourceData.activeColorTexture, Vector2.one, Vector2.zero, passName: "Global Afterimage Restore"); + } + + public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) + { + if (passMaterial == null || snapshotTexture == null) + return; + + ApplyMaterialProperties(); + RenderingUtils.ReAllocateHandleIfNeeded(ref compatibilityCopy, descriptor, FilterMode.Bilinear, TextureWrapMode.Clamp, name: "_GlobalAfterimageCompatibilityCopy"); + + CommandBuffer cmd = CommandBufferPool.Get("Global Afterimage Pass"); + if (captureRequested) + { + Blitter.BlitCameraTexture(cmd, renderingData.cameraData.renderer.cameraColorTargetHandle, snapshotTexture); + } + + Blitter.BlitCameraTexture(cmd, renderingData.cameraData.renderer.cameraColorTargetHandle, compatibilityCopy); + Blitter.BlitCameraTexture(cmd, compatibilityCopy, renderingData.cameraData.renderer.cameraColorTargetHandle, passMaterial, 0); + context.ExecuteCommandBuffer(cmd); + CommandBufferPool.Release(cmd); + } + + private void ApplyMaterialProperties() + { + passMaterial.SetFloat(OpacityId, opacity); + passMaterial.SetFloat(ScaleId, scale); + if (snapshotTexture != null) + passMaterial.SetTexture(SnapshotTexId, snapshotTexture); + } + } +} diff --git a/Assets/scripts/rendering/GlobalAfterimageRendererFeature.cs.meta b/Assets/scripts/rendering/GlobalAfterimageRendererFeature.cs.meta new file mode 100644 index 00000000..6c04395d --- /dev/null +++ b/Assets/scripts/rendering/GlobalAfterimageRendererFeature.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a28c239b9c2736e489a75bd286167cb9 \ No newline at end of file diff --git a/Assets/scripts/rendering/GlobalAfterimageRuntimeController.cs b/Assets/scripts/rendering/GlobalAfterimageRuntimeController.cs new file mode 100644 index 00000000..12f50d2e --- /dev/null +++ b/Assets/scripts/rendering/GlobalAfterimageRuntimeController.cs @@ -0,0 +1,125 @@ +using UnityEngine; + +public class GlobalAfterimageRuntimeController : MonoBehaviour +{ + public static GlobalAfterimageRuntimeController Instance { get; private set; } + + [Header("Runtime Afterimage Defaults")] + public float defaultStartOpacity = 0.5f; + public float defaultFadeDuration = 0.22f; + public float defaultEndScale = 1.12f; + public bool useUnscaledTime = true; + public bool triggerOnEnable = false; + + private static float sRuntimeOpacity; + private static float sRuntimeScale = 1f; + private static bool sCaptureRequested; + + private float activeStartOpacity; + private float activeFadeDuration; + private float activeEndScale = 1f; + private float activeElapsed; + private bool activeAfterimage; + + public static float RuntimeOpacity => sRuntimeOpacity; + public static float RuntimeScale => sRuntimeScale; + public static bool HasActiveAfterimage => sRuntimeOpacity > 0.0001f; + + private void Awake() + { + if (Instance == null) + { + Instance = this; + return; + } + + if (Instance != this) + Destroy(gameObject); + } + + private void OnEnable() + { + if (triggerOnEnable) + TriggerAfterimage(); + } + + private void Update() + { + float delta = useUnscaledTime ? Time.unscaledDeltaTime : Time.deltaTime; + UpdateAfterimage(delta); + } + + public void TriggerAfterimage() + { + TriggerAfterimage(defaultStartOpacity, defaultFadeDuration, defaultEndScale); + } + + public void TriggerAfterimage(float startOpacity, float fadeDuration, float endScale) + { + activeStartOpacity = Mathf.Clamp01(startOpacity); + activeFadeDuration = Mathf.Max(0.0001f, fadeDuration); + activeEndScale = Mathf.Max(1f, endScale); + activeElapsed = 0f; + activeAfterimage = activeStartOpacity > 0.0001f; + + sRuntimeOpacity = activeStartOpacity; + sRuntimeScale = 1f; + sCaptureRequested = activeAfterimage; + } + + private void UpdateAfterimage(float delta) + { + if (!activeAfterimage) + { + sRuntimeOpacity = 0f; + sRuntimeScale = 1f; + return; + } + + activeElapsed += delta; + float normalized = Mathf.Clamp01(activeElapsed / activeFadeDuration); + sRuntimeOpacity = Mathf.Lerp(activeStartOpacity, 0f, normalized); + sRuntimeScale = Mathf.Lerp(1f, activeEndScale, normalized); + + if (normalized < 1f) + return; + + activeAfterimage = false; + sRuntimeOpacity = 0f; + sRuntimeScale = 1f; + } + + public static bool ConsumeCaptureRequest() + { + bool requested = sCaptureRequested; + sCaptureRequested = false; + return requested; + } + + public static GlobalAfterimageRuntimeController EnsureInstance() + { + if (Instance != null) + return Instance; + + GlobalAfterimageRuntimeController existing = FindFirstObjectByType(); + if (existing != null) + { + Instance = existing; + return existing; + } + + GameObject runtimeObject = new GameObject("__global_afterimage_runtime"); + Instance = runtimeObject.AddComponent(); + return Instance; + } + + public static void Trigger(float startOpacity, float fadeDuration, float endScale) + { + EnsureInstance().TriggerAfterimage(startOpacity, fadeDuration, endScale); + } + + public static void TriggerDefault() + { + EnsureInstance().TriggerAfterimage(); + } +} diff --git a/Assets/scripts/rendering/GlobalAfterimageRuntimeController.cs.meta b/Assets/scripts/rendering/GlobalAfterimageRuntimeController.cs.meta new file mode 100644 index 00000000..6cacef5e --- /dev/null +++ b/Assets/scripts/rendering/GlobalAfterimageRuntimeController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e0fcba34ceffcf34daf70334648d161f \ No newline at end of file diff --git a/Assets/scripts/rendering/GlobalAfterimageVolume.cs b/Assets/scripts/rendering/GlobalAfterimageVolume.cs new file mode 100644 index 00000000..848ae80c --- /dev/null +++ b/Assets/scripts/rendering/GlobalAfterimageVolume.cs @@ -0,0 +1,24 @@ +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.Universal; + +[Serializable] +[VolumeComponentMenu("Post-processing/Bansonic/Global Afterimage")] +[SupportedOnRenderPipeline(typeof(UniversalRenderPipelineAsset))] +public sealed class GlobalAfterimageVolume : VolumeComponent, IPostProcessComponent +{ + [Tooltip("Base afterimage opacity from the volume profile.")] + public ClampedFloatParameter opacity = new ClampedFloatParameter(0f, 0f, 1f); + + [Tooltip("Scale multiplier of the copied image.")] + public ClampedFloatParameter scale = new ClampedFloatParameter(1.05f, 1f, 2f); + + [Tooltip("Whether this effect should run in SceneView cameras.")] + public BoolParameter affectSceneView = new BoolParameter(false); + + public bool IsActive() => opacity.value > 0.0001f; + + [Obsolete("Unused #from(2023.1)", false)] + public bool IsTileCompatible() => false; +} diff --git a/Assets/scripts/rendering/GlobalAfterimageVolume.cs.meta b/Assets/scripts/rendering/GlobalAfterimageVolume.cs.meta new file mode 100644 index 00000000..01259993 --- /dev/null +++ b/Assets/scripts/rendering/GlobalAfterimageVolume.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2b5b0fcb28cb9254bbcd2a498e0fe228 \ No newline at end of file diff --git a/Assets/scripts/rendering/GlobalDistortionRendererFeature.cs b/Assets/scripts/rendering/GlobalDistortionRendererFeature.cs new file mode 100644 index 00000000..d035ebcb --- /dev/null +++ b/Assets/scripts/rendering/GlobalDistortionRendererFeature.cs @@ -0,0 +1,185 @@ +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.RenderGraphModule; +using UnityEngine.Rendering.RenderGraphModule.Util; +using UnityEngine.Rendering.Universal; + +public class GlobalDistortionRendererFeature : ScriptableRendererFeature +{ + [Tooltip("When the custom distortion pass should execute.")] + public RenderPassEvent renderPassEvent = RenderPassEvent.AfterRenderingPostProcessing; + + private Material material; + private GlobalDistortionPass pass; + + public override void Create() + { + if (pass == null) + pass = new GlobalDistortionPass(); + + pass.renderPassEvent = renderPassEvent; + EnsureMaterial(); + } + + public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) + { + if (!EnsureMaterial()) + return; + + Camera camera = renderingData.cameraData.camera; + if (camera == null) + return; + + if (renderingData.cameraData.cameraType == CameraType.Preview || renderingData.cameraData.cameraType == CameraType.Reflection) + return; + + if (!renderingData.cameraData.postProcessEnabled) + return; + + GlobalDistortionVolume settings = VolumeManager.instance.stack.GetComponent(); + bool hasVolume = settings != null && settings.active; + float runtimeIntensity = GlobalDistortionRuntimeController.RuntimeIntensity; + float baseIntensity = hasVolume ? settings.intensity.value : 0f; + float finalIntensity = Mathf.Clamp01(baseIntensity + runtimeIntensity); + if (finalIntensity <= 0.0001f) + return; + + if (camera.cameraType == CameraType.SceneView && hasVolume && !settings.affectSceneView.value) + return; + + pass.Setup( + material, + finalIntensity, + hasVolume ? settings.noiseStrength.value : 0.16f, + hasVolume ? settings.radialStrength.value : 0.35f, + hasVolume ? settings.noiseScale.value : 12f, + hasVolume ? settings.center.value : new Vector2(0.5f, 0.5f), + hasVolume ? settings.edgeFade.value : 1.25f + ); + + renderer.EnqueuePass(pass); + } + + protected override void Dispose(bool disposing) + { + if (pass != null) + { + pass.Dispose(); + pass = null; + } + + if (material != null) + { + CoreUtils.Destroy(material); + material = null; + } + } + + private bool EnsureMaterial() + { + if (material != null) + return true; + + Shader shader = Shader.Find("Hidden/Bansonic/GlobalDistortion"); + if (shader == null) + return false; + + material = CoreUtils.CreateEngineMaterial(shader); + return material != null; + } + + private sealed class GlobalDistortionPass : ScriptableRenderPass + { + private static readonly int IntensityId = Shader.PropertyToID("_DistortionIntensity"); + private static readonly int NoiseStrengthId = Shader.PropertyToID("_NoiseStrength"); + private static readonly int RadialStrengthId = Shader.PropertyToID("_RadialStrength"); + private static readonly int NoiseScaleId = Shader.PropertyToID("_NoiseScale"); + private static readonly int CenterId = Shader.PropertyToID("_DistortionCenter"); + private static readonly int EdgeFadeId = Shader.PropertyToID("_EdgeFade"); + + private Material passMaterial; + private float intensity; + private float noiseStrength; + private float radialStrength; + private float noiseScale; + private Vector2 center; + private float edgeFade; + private RTHandle compatibilityCopy; + + public void Setup(Material material, float passIntensity, float passNoiseStrength, float passRadialStrength, float passNoiseScale, Vector2 passCenter, float passEdgeFade) + { + passMaterial = material; + intensity = passIntensity; + noiseStrength = passNoiseStrength; + radialStrength = passRadialStrength; + noiseScale = passNoiseScale; + center = passCenter; + edgeFade = passEdgeFade; + requiresIntermediateTexture = true; + } + + public void Dispose() + { + compatibilityCopy?.Release(); + compatibilityCopy = null; + } + + public override void RecordRenderGraph(RenderGraph renderGraph, ContextContainer frameData) + { + if (passMaterial == null) + return; + + UniversalResourceData resourceData = frameData.Get(); + if (resourceData.isActiveTargetBackBuffer) + return; + + ApplyMaterialProperties(); + + TextureHandle source = resourceData.activeColorTexture; + TextureDesc tempDesc = renderGraph.GetTextureDesc(source); + tempDesc.name = "CameraColor-GlobalDistortionTemp"; + tempDesc.clearBuffer = false; + + TextureHandle tempTexture = renderGraph.CreateTexture(tempDesc); + RenderGraphUtils.BlitMaterialParameters effectParameters = new(source, tempTexture, passMaterial, 0); + renderGraph.AddBlitPass(effectParameters, passName: "Global Distortion Effect"); + + renderGraph.AddBlitPass( + tempTexture, + resourceData.activeColorTexture, + Vector2.one, + Vector2.zero, + passName: "Global Distortion Restore" + ); + } + + public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) + { + if (passMaterial == null) + return; + + ApplyMaterialProperties(); + + RenderTextureDescriptor descriptor = renderingData.cameraData.cameraTargetDescriptor; + descriptor.msaaSamples = 1; + descriptor.depthBufferBits = 0; + RenderingUtils.ReAllocateHandleIfNeeded(ref compatibilityCopy, descriptor, FilterMode.Bilinear, TextureWrapMode.Clamp, name: "_GlobalDistortionCompatibilityCopy"); + + CommandBuffer cmd = CommandBufferPool.Get("Global Distortion Pass"); + Blitter.BlitCameraTexture(cmd, renderingData.cameraData.renderer.cameraColorTargetHandle, compatibilityCopy); + Blitter.BlitCameraTexture(cmd, compatibilityCopy, renderingData.cameraData.renderer.cameraColorTargetHandle, passMaterial, 0); + context.ExecuteCommandBuffer(cmd); + CommandBufferPool.Release(cmd); + } + + private void ApplyMaterialProperties() + { + passMaterial.SetFloat(IntensityId, intensity); + passMaterial.SetFloat(NoiseStrengthId, noiseStrength); + passMaterial.SetFloat(RadialStrengthId, radialStrength); + passMaterial.SetFloat(NoiseScaleId, noiseScale); + passMaterial.SetVector(CenterId, center); + passMaterial.SetFloat(EdgeFadeId, edgeFade); + } + } +} diff --git a/Assets/scripts/rendering/GlobalDistortionRendererFeature.cs.meta b/Assets/scripts/rendering/GlobalDistortionRendererFeature.cs.meta new file mode 100644 index 00000000..9503f772 --- /dev/null +++ b/Assets/scripts/rendering/GlobalDistortionRendererFeature.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d71f5b59ebb9a7640b177e16adf3d6c7 \ No newline at end of file diff --git a/Assets/scripts/rendering/GlobalDistortionRuntimeController.cs b/Assets/scripts/rendering/GlobalDistortionRuntimeController.cs new file mode 100644 index 00000000..42855362 --- /dev/null +++ b/Assets/scripts/rendering/GlobalDistortionRuntimeController.cs @@ -0,0 +1,238 @@ +using UnityEngine; + +public class GlobalDistortionRuntimeController : MonoBehaviour +{ + public static GlobalDistortionRuntimeController Instance { get; private set; } + + [Header("Runtime Distortion Defaults")] + public float defaultTriggerIntensity = 0.45f; + public float defaultHoldDuration = 0.06f; + public float defaultRecoverDuration = 0.18f; + public AnimationCurve recoveryCurve = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f); + public bool useUnscaledTime = true; + public bool triggerOnEnable = false; + + private static float sPersistentIntensity; + private static float sPulseIntensity; + private static float sWaveIntensity; + + private float activePulseIntensity; + private float holdRemaining; + private float recoverElapsed; + private float recoverDuration; + private bool recovering; + + private float waveTargetIntensity; + private float waveEnterDuration; + private float waveRecoverDuration; + private float waveElapsed; + private WavePhase wavePhase = WavePhase.None; + + public static float RuntimeIntensity => Mathf.Clamp01(sPersistentIntensity + sPulseIntensity + sWaveIntensity); + + private enum WavePhase + { + None, + Enter, + Exit + } + + private void Awake() + { + if (Instance == null) + { + Instance = this; + return; + } + + if (Instance != this) + { + Destroy(gameObject); + } + } + + private void OnEnable() + { + if (triggerOnEnable) + { + TriggerDistortion(); + } + } + + private void Update() + { + float delta = useUnscaledTime ? Time.unscaledDeltaTime : Time.deltaTime; + UpdatePulse(delta); + UpdateWave(delta); + } + + public void TriggerDistortion() + { + TriggerDistortion(defaultTriggerIntensity, defaultHoldDuration, defaultRecoverDuration); + } + + public void TriggerDistortion(float intensity, float holdDuration, float recoveryDurationSeconds) + { + intensity = Mathf.Clamp01(intensity); + holdDuration = Mathf.Max(0f, holdDuration); + recoveryDurationSeconds = Mathf.Max(0f, recoveryDurationSeconds); + + activePulseIntensity = intensity; + holdRemaining = holdDuration; + recoverDuration = recoveryDurationSeconds; + recoverElapsed = 0f; + recovering = recoveryDurationSeconds <= 0f && holdDuration <= 0f; + sPulseIntensity = intensity; + + if (holdDuration <= 0f && recoveryDurationSeconds <= 0f) + { + activePulseIntensity = 0f; + sPulseIntensity = 0f; + recovering = false; + } + } + + public void SetPersistentIntensity(float intensity) + { + sPersistentIntensity = Mathf.Clamp01(intensity); + } + + public void ClearPersistentIntensity() + { + sPersistentIntensity = 0f; + } + + public void TriggerWave(float targetIntensity, float enterDurationSeconds, float recoverDurationSeconds) + { + waveTargetIntensity = Mathf.Clamp01(targetIntensity); + waveEnterDuration = Mathf.Max(0.0001f, enterDurationSeconds); + waveRecoverDuration = Mathf.Max(0.0001f, recoverDurationSeconds); + waveElapsed = 0f; + wavePhase = WavePhase.Enter; + sWaveIntensity = 0f; + } + + private void UpdatePulse(float delta) + { + if (activePulseIntensity <= 0f && !recovering) + { + sPulseIntensity = 0f; + return; + } + + if (holdRemaining > 0f) + { + holdRemaining -= delta; + sPulseIntensity = activePulseIntensity; + if (holdRemaining > 0f) + return; + + recovering = recoverDuration > 0f; + recoverElapsed = 0f; + if (!recovering) + { + activePulseIntensity = 0f; + sPulseIntensity = 0f; + return; + } + } + + if (!recovering) + { + activePulseIntensity = 0f; + sPulseIntensity = 0f; + return; + } + + recoverElapsed += delta; + float normalized = recoverDuration <= 0f ? 1f : Mathf.Clamp01(recoverElapsed / recoverDuration); + float curveValue = recoveryCurve != null && recoveryCurve.length > 0 + ? recoveryCurve.Evaluate(normalized) + : 1f - normalized; + + sPulseIntensity = Mathf.Clamp01(activePulseIntensity * Mathf.Max(0f, curveValue)); + if (normalized < 1f) + return; + + recovering = false; + activePulseIntensity = 0f; + sPulseIntensity = 0f; + } + + private void UpdateWave(float delta) + { + if (wavePhase == WavePhase.None) + { + sWaveIntensity = 0f; + return; + } + + waveElapsed += delta; + + if (wavePhase == WavePhase.Enter) + { + float normalized = Mathf.Clamp01(waveElapsed / waveEnterDuration); + sWaveIntensity = Mathf.LerpUnclamped(0f, waveTargetIntensity, normalized); + if (normalized < 1f) + return; + + sWaveIntensity = waveTargetIntensity; + wavePhase = WavePhase.Exit; + waveElapsed = 0f; + return; + } + + float exitNormalized = Mathf.Clamp01(waveElapsed / waveRecoverDuration); + sWaveIntensity = Mathf.LerpUnclamped(waveTargetIntensity, 0f, exitNormalized); + if (exitNormalized < 1f) + return; + + sWaveIntensity = 0f; + wavePhase = WavePhase.None; + } + + public static GlobalDistortionRuntimeController EnsureInstance() + { + if (Instance != null) + return Instance; + + GlobalDistortionRuntimeController existing = FindFirstObjectByType(); + if (existing != null) + { + Instance = existing; + return existing; + } + + GameObject runtimeObject = new GameObject("__global_distortion_runtime"); + Instance = runtimeObject.AddComponent(); + return Instance; + } + + public static void Trigger(float intensity, float holdDuration, float recoverDurationSeconds) + { + EnsureInstance().TriggerDistortion(intensity, holdDuration, recoverDurationSeconds); + } + + public static void TriggerDefault() + { + EnsureInstance().TriggerDistortion(); + } + + public static void SetPersistent(float intensity) + { + EnsureInstance().SetPersistentIntensity(intensity); + } + + public static void ClearPersistent() + { + if (Instance != null) + Instance.ClearPersistentIntensity(); + else + sPersistentIntensity = 0f; + } + + public static void TriggerWaveEffect(float enterDurationSeconds, float recoverDurationSeconds) + { + EnsureInstance().TriggerWave(1f, enterDurationSeconds, recoverDurationSeconds); + } +} diff --git a/Assets/scripts/rendering/GlobalDistortionRuntimeController.cs.meta b/Assets/scripts/rendering/GlobalDistortionRuntimeController.cs.meta new file mode 100644 index 00000000..37242b18 --- /dev/null +++ b/Assets/scripts/rendering/GlobalDistortionRuntimeController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f8f82b86940efb345a454d1bc55f82ce \ No newline at end of file diff --git a/Assets/scripts/rendering/GlobalDistortionVolume.cs b/Assets/scripts/rendering/GlobalDistortionVolume.cs new file mode 100644 index 00000000..b6d38d03 --- /dev/null +++ b/Assets/scripts/rendering/GlobalDistortionVolume.cs @@ -0,0 +1,36 @@ +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.Universal; + +[Serializable] +[VolumeComponentMenu("Post-processing/Bansonic/Global Distortion")] +[SupportedOnRenderPipeline(typeof(UniversalRenderPipelineAsset))] +public sealed class GlobalDistortionVolume : VolumeComponent, IPostProcessComponent +{ + [Tooltip("Base distortion intensity from the volume profile.")] + public ClampedFloatParameter intensity = new ClampedFloatParameter(0f, 0f, 1f); + + [Tooltip("Noise contribution to the UV distortion.")] + public ClampedFloatParameter noiseStrength = new ClampedFloatParameter(0.16f, 0f, 1f); + + [Tooltip("Radial pull strength from the distortion center.")] + public ClampedFloatParameter radialStrength = new ClampedFloatParameter(0.35f, 0f, 2f); + + [Tooltip("Noise tiling scale.")] + public ClampedFloatParameter noiseScale = new ClampedFloatParameter(12f, 0.1f, 80f); + + [Tooltip("Distortion center in viewport coordinates.")] + public Vector2Parameter center = new Vector2Parameter(new Vector2(0.5f, 0.5f)); + + [Tooltip("How quickly distortion fades towards screen edges.")] + public ClampedFloatParameter edgeFade = new ClampedFloatParameter(1.25f, 0.1f, 8f); + + [Tooltip("Whether this effect should run in SceneView cameras.")] + public BoolParameter affectSceneView = new BoolParameter(false); + + public bool IsActive() => intensity.value > 0.0001f; + + [Obsolete("Unused #from(2023.1)", false)] + public bool IsTileCompatible() => false; +} diff --git a/Assets/scripts/rendering/GlobalDistortionVolume.cs.meta b/Assets/scripts/rendering/GlobalDistortionVolume.cs.meta new file mode 100644 index 00000000..f4c2b7c9 --- /dev/null +++ b/Assets/scripts/rendering/GlobalDistortionVolume.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: fcaf02ee66ed11d4d9c67508e0130935 \ No newline at end of file diff --git a/Assets/scripts/rendering/GlobalGlitchRendererFeature.cs b/Assets/scripts/rendering/GlobalGlitchRendererFeature.cs new file mode 100644 index 00000000..d45268d4 --- /dev/null +++ b/Assets/scripts/rendering/GlobalGlitchRendererFeature.cs @@ -0,0 +1,178 @@ +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.RenderGraphModule; +using UnityEngine.Rendering.RenderGraphModule.Util; +using UnityEngine.Rendering.Universal; + +public class GlobalGlitchRendererFeature : ScriptableRendererFeature +{ + [Tooltip("When the custom glitch pass should execute.")] + public RenderPassEvent renderPassEvent = RenderPassEvent.AfterRenderingPostProcessing; + + private Material material; + private GlobalGlitchPass pass; + + public override void Create() + { + if (pass == null) + pass = new GlobalGlitchPass(); + + pass.renderPassEvent = renderPassEvent; + EnsureMaterial(); + } + + public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) + { + if (!EnsureMaterial()) + return; + + Camera camera = renderingData.cameraData.camera; + if (camera == null) + return; + + if (renderingData.cameraData.cameraType == CameraType.Preview || renderingData.cameraData.cameraType == CameraType.Reflection) + return; + + if (!renderingData.cameraData.postProcessEnabled) + return; + + GlobalGlitchVolume settings = VolumeManager.instance.stack.GetComponent(); + bool hasVolume = settings != null && settings.active; + float runtimeIntensity = GlobalGlitchRuntimeController.RuntimeIntensity; + float baseIntensity = hasVolume ? settings.intensity.value : 0f; + float finalIntensity = Mathf.Clamp01(baseIntensity + runtimeIntensity); + if (finalIntensity <= 0.0001f) + return; + + if (camera.cameraType == CameraType.SceneView && hasVolume && !settings.affectSceneView.value) + return; + + pass.Setup( + material, + finalIntensity, + hasVolume ? settings.blockStrength.value : 0.45f, + hasVolume ? settings.colorSplit.value : 0.01f, + hasVolume ? settings.jitterAmount.value : 0.4f, + hasVolume ? settings.stripFrequency.value : 48f, + hasVolume ? settings.scanlineStrength.value : 0.18f + ); + + renderer.EnqueuePass(pass); + } + + protected override void Dispose(bool disposing) + { + if (pass != null) + { + pass.Dispose(); + pass = null; + } + + if (material != null) + { + CoreUtils.Destroy(material); + material = null; + } + } + + private bool EnsureMaterial() + { + if (material != null) + return true; + + Shader shader = Shader.Find("Hidden/Bansonic/GlobalGlitch"); + if (shader == null) + return false; + + material = CoreUtils.CreateEngineMaterial(shader); + return material != null; + } + + private sealed class GlobalGlitchPass : ScriptableRenderPass + { + private static readonly int IntensityId = Shader.PropertyToID("_GlitchIntensity"); + private static readonly int BlockStrengthId = Shader.PropertyToID("_BlockStrength"); + private static readonly int ColorSplitId = Shader.PropertyToID("_ColorSplit"); + private static readonly int JitterAmountId = Shader.PropertyToID("_JitterAmount"); + private static readonly int StripFrequencyId = Shader.PropertyToID("_StripFrequency"); + private static readonly int ScanlineStrengthId = Shader.PropertyToID("_ScanlineStrength"); + + private Material passMaterial; + private float intensity; + private float blockStrength; + private float colorSplit; + private float jitterAmount; + private float stripFrequency; + private float scanlineStrength; + private RTHandle compatibilityCopy; + + public void Setup(Material material, float passIntensity, float passBlockStrength, float passColorSplit, float passJitterAmount, float passStripFrequency, float passScanlineStrength) + { + passMaterial = material; + intensity = passIntensity; + blockStrength = passBlockStrength; + colorSplit = passColorSplit; + jitterAmount = passJitterAmount; + stripFrequency = passStripFrequency; + scanlineStrength = passScanlineStrength; + requiresIntermediateTexture = true; + } + + public void Dispose() + { + compatibilityCopy?.Release(); + compatibilityCopy = null; + } + + public override void RecordRenderGraph(RenderGraph renderGraph, ContextContainer frameData) + { + if (passMaterial == null) + return; + + UniversalResourceData resourceData = frameData.Get(); + if (resourceData.isActiveTargetBackBuffer) + return; + + ApplyMaterialProperties(); + + TextureHandle source = resourceData.activeColorTexture; + TextureDesc tempDesc = renderGraph.GetTextureDesc(source); + tempDesc.name = "CameraColor-GlobalGlitchTemp"; + tempDesc.clearBuffer = false; + + TextureHandle tempTexture = renderGraph.CreateTexture(tempDesc); + RenderGraphUtils.BlitMaterialParameters effectParameters = new(source, tempTexture, passMaterial, 0); + renderGraph.AddBlitPass(effectParameters, passName: "Global Glitch Effect"); + renderGraph.AddBlitPass(tempTexture, resourceData.activeColorTexture, Vector2.one, Vector2.zero, passName: "Global Glitch Restore"); + } + + public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) + { + if (passMaterial == null) + return; + + ApplyMaterialProperties(); + + RenderTextureDescriptor descriptor = renderingData.cameraData.cameraTargetDescriptor; + descriptor.msaaSamples = 1; + descriptor.depthBufferBits = 0; + RenderingUtils.ReAllocateHandleIfNeeded(ref compatibilityCopy, descriptor, FilterMode.Bilinear, TextureWrapMode.Clamp, name: "_GlobalGlitchCompatibilityCopy"); + + CommandBuffer cmd = CommandBufferPool.Get("Global Glitch Pass"); + Blitter.BlitCameraTexture(cmd, renderingData.cameraData.renderer.cameraColorTargetHandle, compatibilityCopy); + Blitter.BlitCameraTexture(cmd, compatibilityCopy, renderingData.cameraData.renderer.cameraColorTargetHandle, passMaterial, 0); + context.ExecuteCommandBuffer(cmd); + CommandBufferPool.Release(cmd); + } + + private void ApplyMaterialProperties() + { + passMaterial.SetFloat(IntensityId, intensity); + passMaterial.SetFloat(BlockStrengthId, blockStrength); + passMaterial.SetFloat(ColorSplitId, colorSplit); + passMaterial.SetFloat(JitterAmountId, jitterAmount); + passMaterial.SetFloat(StripFrequencyId, stripFrequency); + passMaterial.SetFloat(ScanlineStrengthId, scanlineStrength); + } + } +} diff --git a/Assets/scripts/rendering/GlobalGlitchRendererFeature.cs.meta b/Assets/scripts/rendering/GlobalGlitchRendererFeature.cs.meta new file mode 100644 index 00000000..5bec394d --- /dev/null +++ b/Assets/scripts/rendering/GlobalGlitchRendererFeature.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 84ae0996c2f9f6c43a0d5b735af7f121 \ No newline at end of file diff --git a/Assets/scripts/rendering/GlobalGlitchRuntimeController.cs b/Assets/scripts/rendering/GlobalGlitchRuntimeController.cs new file mode 100644 index 00000000..78d7cdce --- /dev/null +++ b/Assets/scripts/rendering/GlobalGlitchRuntimeController.cs @@ -0,0 +1,234 @@ +using UnityEngine; + +public class GlobalGlitchRuntimeController : MonoBehaviour +{ + public static GlobalGlitchRuntimeController Instance { get; private set; } + + [Header("Runtime Glitch Defaults")] + public float defaultTriggerIntensity = 0.7f; + public float defaultHoldDuration = 0.05f; + public float defaultRecoverDuration = 0.16f; + public AnimationCurve recoveryCurve = AnimationCurve.EaseInOut(0f, 1f, 1f, 0f); + public bool useUnscaledTime = true; + public bool triggerOnEnable = false; + + private static float sPersistentIntensity; + private static float sPulseIntensity; + private static float sWaveIntensity; + + private float activePulseIntensity; + private float holdRemaining; + private float recoverElapsed; + private float recoverDuration; + private bool recovering; + + private float waveTargetIntensity; + private float waveEnterDuration; + private float waveRecoverDuration; + private float waveElapsed; + private WavePhase wavePhase = WavePhase.None; + + public static float RuntimeIntensity => Mathf.Clamp01(sPersistentIntensity + sPulseIntensity + sWaveIntensity); + + private enum WavePhase + { + None, + Enter, + Exit + } + + private void Awake() + { + if (Instance == null) + { + Instance = this; + return; + } + + if (Instance != this) + Destroy(gameObject); + } + + private void OnEnable() + { + if (triggerOnEnable) + TriggerGlitch(); + } + + private void Update() + { + float delta = useUnscaledTime ? Time.unscaledDeltaTime : Time.deltaTime; + UpdatePulse(delta); + UpdateWave(delta); + } + + public void TriggerGlitch() + { + TriggerGlitch(defaultTriggerIntensity, defaultHoldDuration, defaultRecoverDuration); + } + + public void TriggerGlitch(float intensity, float holdDuration, float recoveryDurationSeconds) + { + intensity = Mathf.Clamp01(intensity); + holdDuration = Mathf.Max(0f, holdDuration); + recoveryDurationSeconds = Mathf.Max(0f, recoveryDurationSeconds); + + activePulseIntensity = intensity; + holdRemaining = holdDuration; + recoverDuration = recoveryDurationSeconds; + recoverElapsed = 0f; + recovering = recoveryDurationSeconds <= 0f && holdDuration <= 0f; + sPulseIntensity = intensity; + + if (holdDuration <= 0f && recoveryDurationSeconds <= 0f) + { + activePulseIntensity = 0f; + sPulseIntensity = 0f; + recovering = false; + } + } + + public void SetPersistentIntensity(float intensity) + { + sPersistentIntensity = Mathf.Clamp01(intensity); + } + + public void ClearPersistentIntensity() + { + sPersistentIntensity = 0f; + } + + public void TriggerWave(float targetIntensity, float enterDurationSeconds, float recoverDurationSeconds) + { + waveTargetIntensity = Mathf.Clamp01(targetIntensity); + waveEnterDuration = Mathf.Max(0.0001f, enterDurationSeconds); + waveRecoverDuration = Mathf.Max(0.0001f, recoverDurationSeconds); + waveElapsed = 0f; + wavePhase = WavePhase.Enter; + sWaveIntensity = 0f; + } + + private void UpdatePulse(float delta) + { + if (activePulseIntensity <= 0f && !recovering) + { + sPulseIntensity = 0f; + return; + } + + if (holdRemaining > 0f) + { + holdRemaining -= delta; + sPulseIntensity = activePulseIntensity; + if (holdRemaining > 0f) + return; + + recovering = recoverDuration > 0f; + recoverElapsed = 0f; + if (!recovering) + { + activePulseIntensity = 0f; + sPulseIntensity = 0f; + return; + } + } + + if (!recovering) + { + activePulseIntensity = 0f; + sPulseIntensity = 0f; + return; + } + + recoverElapsed += delta; + float normalized = recoverDuration <= 0f ? 1f : Mathf.Clamp01(recoverElapsed / recoverDuration); + float curveValue = recoveryCurve != null && recoveryCurve.length > 0 + ? recoveryCurve.Evaluate(normalized) + : 1f - normalized; + + sPulseIntensity = Mathf.Clamp01(activePulseIntensity * Mathf.Max(0f, curveValue)); + if (normalized < 1f) + return; + + recovering = false; + activePulseIntensity = 0f; + sPulseIntensity = 0f; + } + + private void UpdateWave(float delta) + { + if (wavePhase == WavePhase.None) + { + sWaveIntensity = 0f; + return; + } + + waveElapsed += delta; + + if (wavePhase == WavePhase.Enter) + { + float normalized = Mathf.Clamp01(waveElapsed / waveEnterDuration); + sWaveIntensity = Mathf.LerpUnclamped(0f, waveTargetIntensity, normalized); + if (normalized < 1f) + return; + + sWaveIntensity = waveTargetIntensity; + wavePhase = WavePhase.Exit; + waveElapsed = 0f; + return; + } + + float exitNormalized = Mathf.Clamp01(waveElapsed / waveRecoverDuration); + sWaveIntensity = Mathf.LerpUnclamped(waveTargetIntensity, 0f, exitNormalized); + if (exitNormalized < 1f) + return; + + sWaveIntensity = 0f; + wavePhase = WavePhase.None; + } + + public static GlobalGlitchRuntimeController EnsureInstance() + { + if (Instance != null) + return Instance; + + GlobalGlitchRuntimeController existing = FindFirstObjectByType(); + if (existing != null) + { + Instance = existing; + return existing; + } + + GameObject runtimeObject = new GameObject("__global_glitch_runtime"); + Instance = runtimeObject.AddComponent(); + return Instance; + } + + public static void Trigger(float intensity, float holdDuration, float recoverDurationSeconds) + { + EnsureInstance().TriggerGlitch(intensity, holdDuration, recoverDurationSeconds); + } + + public static void TriggerDefault() + { + EnsureInstance().TriggerGlitch(); + } + + public static void SetPersistent(float intensity) + { + EnsureInstance().SetPersistentIntensity(intensity); + } + + public static void ClearPersistent() + { + if (Instance != null) + Instance.ClearPersistentIntensity(); + else + sPersistentIntensity = 0f; + } + + public static void TriggerWaveEffect(float enterDurationSeconds, float recoverDurationSeconds) + { + EnsureInstance().TriggerWave(1f, enterDurationSeconds, recoverDurationSeconds); + } +} diff --git a/Assets/scripts/rendering/GlobalGlitchRuntimeController.cs.meta b/Assets/scripts/rendering/GlobalGlitchRuntimeController.cs.meta new file mode 100644 index 00000000..649904be --- /dev/null +++ b/Assets/scripts/rendering/GlobalGlitchRuntimeController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: fc8770c127e6d57478652fa9c3698e91 \ No newline at end of file diff --git a/Assets/scripts/rendering/GlobalGlitchVolume.cs b/Assets/scripts/rendering/GlobalGlitchVolume.cs new file mode 100644 index 00000000..39363c7e --- /dev/null +++ b/Assets/scripts/rendering/GlobalGlitchVolume.cs @@ -0,0 +1,36 @@ +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.Universal; + +[Serializable] +[VolumeComponentMenu("Post-processing/Bansonic/Global Glitch")] +[SupportedOnRenderPipeline(typeof(UniversalRenderPipelineAsset))] +public sealed class GlobalGlitchVolume : VolumeComponent, IPostProcessComponent +{ + [Tooltip("Base glitch intensity from the volume profile.")] + public ClampedFloatParameter intensity = new ClampedFloatParameter(0f, 0f, 1f); + + [Tooltip("How strong the horizontal block tearing is.")] + public ClampedFloatParameter blockStrength = new ClampedFloatParameter(0.45f, 0f, 1f); + + [Tooltip("How much the RGB channels split apart.")] + public ClampedFloatParameter colorSplit = new ClampedFloatParameter(0.01f, 0f, 0.05f); + + [Tooltip("Per-line horizontal jitter amount.")] + public ClampedFloatParameter jitterAmount = new ClampedFloatParameter(0.4f, 0f, 1f); + + [Tooltip("How many horizontal strips are used to drive the glitch pattern.")] + public ClampedFloatParameter stripFrequency = new ClampedFloatParameter(48f, 1f, 240f); + + [Tooltip("Dark scanline contribution.")] + public ClampedFloatParameter scanlineStrength = new ClampedFloatParameter(0.18f, 0f, 1f); + + [Tooltip("Whether this effect should run in SceneView cameras.")] + public BoolParameter affectSceneView = new BoolParameter(false); + + public bool IsActive() => intensity.value > 0.0001f; + + [Obsolete("Unused #from(2023.1)", false)] + public bool IsTileCompatible() => false; +} diff --git a/Assets/scripts/rendering/GlobalGlitchVolume.cs.meta b/Assets/scripts/rendering/GlobalGlitchVolume.cs.meta new file mode 100644 index 00000000..c44b37f4 --- /dev/null +++ b/Assets/scripts/rendering/GlobalGlitchVolume.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 54a30677f5d2e4548881a79f4c3e3972 \ No newline at end of file diff --git a/Assets/scripts/rendering/GlobalMonochromeRendererFeature.cs b/Assets/scripts/rendering/GlobalMonochromeRendererFeature.cs new file mode 100644 index 00000000..dd6afb0f --- /dev/null +++ b/Assets/scripts/rendering/GlobalMonochromeRendererFeature.cs @@ -0,0 +1,144 @@ +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.RenderGraphModule; +using UnityEngine.Rendering.RenderGraphModule.Util; +using UnityEngine.Rendering.Universal; + +public class GlobalMonochromeRendererFeature : ScriptableRendererFeature +{ + [Tooltip("When the custom monochrome pass should execute.")] + public RenderPassEvent renderPassEvent = RenderPassEvent.AfterRenderingPostProcessing; + + private Material material; + private GlobalMonochromePass pass; + + public override void Create() + { + if (pass == null) + pass = new GlobalMonochromePass(); + + pass.renderPassEvent = renderPassEvent; + EnsureMaterial(); + } + + public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) + { + if (!EnsureMaterial()) + return; + + Camera camera = renderingData.cameraData.camera; + if (camera == null) + return; + + if (renderingData.cameraData.cameraType == CameraType.Preview || renderingData.cameraData.cameraType == CameraType.Reflection) + return; + + if (!renderingData.cameraData.postProcessEnabled) + return; + + GlobalMonochromeVolume settings = VolumeManager.instance.stack.GetComponent(); + bool hasVolume = settings != null && settings.active; + float runtimeIntensity = GlobalMonochromeRuntimeController.RuntimeIntensity; + float baseIntensity = hasVolume ? settings.intensity.value : 0f; + float finalIntensity = Mathf.Clamp01(Mathf.Max(baseIntensity, runtimeIntensity)); + if (finalIntensity <= 0.0001f) + return; + + if (camera.cameraType == CameraType.SceneView && hasVolume && !settings.affectSceneView.value) + return; + + pass.Setup(material, finalIntensity); + renderer.EnqueuePass(pass); + } + + protected override void Dispose(bool disposing) + { + if (pass != null) + { + pass.Dispose(); + pass = null; + } + + if (material != null) + { + CoreUtils.Destroy(material); + material = null; + } + } + + private bool EnsureMaterial() + { + if (material != null) + return true; + + Shader shader = Shader.Find("Hidden/Bansonic/GlobalMonochrome"); + if (shader == null) + return false; + + material = CoreUtils.CreateEngineMaterial(shader); + return material != null; + } + + private sealed class GlobalMonochromePass : ScriptableRenderPass + { + private static readonly int IntensityId = Shader.PropertyToID("_MonochromeIntensity"); + + private Material passMaterial; + private float intensity; + private RTHandle compatibilityCopy; + + public void Setup(Material material, float passIntensity) + { + passMaterial = material; + intensity = passIntensity; + requiresIntermediateTexture = true; + } + + public void Dispose() + { + compatibilityCopy?.Release(); + compatibilityCopy = null; + } + + public override void RecordRenderGraph(RenderGraph renderGraph, ContextContainer frameData) + { + if (passMaterial == null) + return; + + UniversalResourceData resourceData = frameData.Get(); + if (resourceData.isActiveTargetBackBuffer) + return; + + passMaterial.SetFloat(IntensityId, intensity); + + TextureHandle source = resourceData.activeColorTexture; + TextureDesc tempDesc = renderGraph.GetTextureDesc(source); + tempDesc.name = "CameraColor-GlobalMonochromeTemp"; + tempDesc.clearBuffer = false; + + TextureHandle tempTexture = renderGraph.CreateTexture(tempDesc); + RenderGraphUtils.BlitMaterialParameters effectParameters = new(source, tempTexture, passMaterial, 0); + renderGraph.AddBlitPass(effectParameters, passName: "Global Monochrome Effect"); + renderGraph.AddBlitPass(tempTexture, resourceData.activeColorTexture, Vector2.one, Vector2.zero, passName: "Global Monochrome Restore"); + } + + public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) + { + if (passMaterial == null) + return; + + passMaterial.SetFloat(IntensityId, intensity); + + RenderTextureDescriptor descriptor = renderingData.cameraData.cameraTargetDescriptor; + descriptor.msaaSamples = 1; + descriptor.depthBufferBits = 0; + RenderingUtils.ReAllocateHandleIfNeeded(ref compatibilityCopy, descriptor, FilterMode.Bilinear, TextureWrapMode.Clamp, name: "_GlobalMonochromeCompatibilityCopy"); + + CommandBuffer cmd = CommandBufferPool.Get("Global Monochrome Pass"); + Blitter.BlitCameraTexture(cmd, renderingData.cameraData.renderer.cameraColorTargetHandle, compatibilityCopy); + Blitter.BlitCameraTexture(cmd, compatibilityCopy, renderingData.cameraData.renderer.cameraColorTargetHandle, passMaterial, 0); + context.ExecuteCommandBuffer(cmd); + CommandBufferPool.Release(cmd); + } + } +} diff --git a/Assets/scripts/rendering/GlobalMonochromeRendererFeature.cs.meta b/Assets/scripts/rendering/GlobalMonochromeRendererFeature.cs.meta new file mode 100644 index 00000000..67c989f1 --- /dev/null +++ b/Assets/scripts/rendering/GlobalMonochromeRendererFeature.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e30db065f184af241b78ce51edc50d96 \ No newline at end of file diff --git a/Assets/scripts/rendering/GlobalMonochromeRuntimeController.cs b/Assets/scripts/rendering/GlobalMonochromeRuntimeController.cs new file mode 100644 index 00000000..f74f3539 --- /dev/null +++ b/Assets/scripts/rendering/GlobalMonochromeRuntimeController.cs @@ -0,0 +1,125 @@ +using UnityEngine; + +public class GlobalMonochromeRuntimeController : MonoBehaviour +{ + public static GlobalMonochromeRuntimeController Instance { get; private set; } + + [Header("Runtime Monochrome Defaults")] + public float defaultEnterDuration = 0.12f; + public float defaultRecoverDuration = 0.12f; + public bool useUnscaledTime = true; + public bool triggerOnEnable = false; + + private static float sRuntimeIntensity; + + private float enterDuration; + private float recoverDuration; + private float elapsed; + private Phase phase = Phase.None; + + public static float RuntimeIntensity => Mathf.Clamp01(sRuntimeIntensity); + + private enum Phase + { + None, + Enter, + Exit + } + + private void Awake() + { + if (Instance == null) + { + Instance = this; + return; + } + + if (Instance != this) + Destroy(gameObject); + } + + private void OnEnable() + { + if (triggerOnEnable) + TriggerMonochrome(); + } + + private void Update() + { + float delta = useUnscaledTime ? Time.unscaledDeltaTime : Time.deltaTime; + UpdateWave(delta); + } + + public void TriggerMonochrome() + { + TriggerMonochrome(defaultEnterDuration, defaultRecoverDuration); + } + + public void TriggerMonochrome(float enterDurationSeconds, float recoverDurationSeconds) + { + enterDuration = Mathf.Max(0.0001f, enterDurationSeconds); + recoverDuration = Mathf.Max(0.0001f, recoverDurationSeconds); + elapsed = 0f; + phase = Phase.Enter; + sRuntimeIntensity = 0f; + } + + private void UpdateWave(float delta) + { + if (phase == Phase.None) + { + sRuntimeIntensity = 0f; + return; + } + + elapsed += delta; + + if (phase == Phase.Enter) + { + float normalized = Mathf.Clamp01(elapsed / enterDuration); + sRuntimeIntensity = Mathf.LerpUnclamped(0f, 1f, normalized); + if (normalized < 1f) + return; + + sRuntimeIntensity = 1f; + elapsed = 0f; + phase = Phase.Exit; + return; + } + + float exitNormalized = Mathf.Clamp01(elapsed / recoverDuration); + sRuntimeIntensity = Mathf.LerpUnclamped(1f, 0f, exitNormalized); + if (exitNormalized < 1f) + return; + + sRuntimeIntensity = 0f; + phase = Phase.None; + } + + public static GlobalMonochromeRuntimeController EnsureInstance() + { + if (Instance != null) + return Instance; + + GlobalMonochromeRuntimeController existing = FindFirstObjectByType(); + if (existing != null) + { + Instance = existing; + return existing; + } + + GameObject runtimeObject = new GameObject("__global_monochrome_runtime"); + Instance = runtimeObject.AddComponent(); + return Instance; + } + + public static void Trigger(float enterDurationSeconds, float recoverDurationSeconds) + { + EnsureInstance().TriggerMonochrome(enterDurationSeconds, recoverDurationSeconds); + } + + public static void TriggerDefault() + { + EnsureInstance().TriggerMonochrome(); + } +} diff --git a/Assets/scripts/rendering/GlobalMonochromeRuntimeController.cs.meta b/Assets/scripts/rendering/GlobalMonochromeRuntimeController.cs.meta new file mode 100644 index 00000000..f68849a4 --- /dev/null +++ b/Assets/scripts/rendering/GlobalMonochromeRuntimeController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d2b5933af9f532c469c81a1942ec2220 \ No newline at end of file diff --git a/Assets/scripts/rendering/GlobalMonochromeVolume.cs b/Assets/scripts/rendering/GlobalMonochromeVolume.cs new file mode 100644 index 00000000..34934058 --- /dev/null +++ b/Assets/scripts/rendering/GlobalMonochromeVolume.cs @@ -0,0 +1,21 @@ +using System; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.Rendering.Universal; + +[Serializable] +[VolumeComponentMenu("Post-processing/Bansonic/Global Monochrome")] +[SupportedOnRenderPipeline(typeof(UniversalRenderPipelineAsset))] +public sealed class GlobalMonochromeVolume : VolumeComponent, IPostProcessComponent +{ + [Tooltip("Base monochrome intensity from the volume profile.")] + public ClampedFloatParameter intensity = new ClampedFloatParameter(0f, 0f, 1f); + + [Tooltip("Whether this effect should run in SceneView cameras.")] + public BoolParameter affectSceneView = new BoolParameter(false); + + public bool IsActive() => intensity.value > 0.0001f; + + [Obsolete("Unused #from(2023.1)", false)] + public bool IsTileCompatible() => false; +} diff --git a/Assets/scripts/rendering/GlobalMonochromeVolume.cs.meta b/Assets/scripts/rendering/GlobalMonochromeVolume.cs.meta new file mode 100644 index 00000000..608f38ef --- /dev/null +++ b/Assets/scripts/rendering/GlobalMonochromeVolume.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 6bf226df2a25ec249a0bda3685d3bcd6 \ No newline at end of file diff --git a/Assets/scripts/settings/userSettings.cs b/Assets/scripts/settings/userSettings.cs index 66379100..2b45ceed 100644 --- a/Assets/scripts/settings/userSettings.cs +++ b/Assets/scripts/settings/userSettings.cs @@ -214,6 +214,9 @@ public class userSettings : MonoBehaviour PlayerRksService.ClearPersistentState(); yield return null; + PlayerSkillService.ClearPersistentState(); + yield return null; + #if UNITY_EDITOR AssetDatabase.SaveAssets(); #endif diff --git a/Assets/storeSystem/storeSystem.cs b/Assets/storeSystem/storeSystem.cs index 2ff05306..350b1896 100644 --- a/Assets/storeSystem/storeSystem.cs +++ b/Assets/storeSystem/storeSystem.cs @@ -106,6 +106,18 @@ public class storeSystem : MonoBehaviour RefreshCurrentView(); } + private void OnEnable() + { + if (cachedItems.Count <= 0) + { + return; + } + + LoadAllStoreItems(); + ApplyPersistedStateToItems(); + RefreshCurrentView(); + } + private void OnDestroy() { CloseActiveCtas(); @@ -333,6 +345,17 @@ public class storeSystem : MonoBehaviour TryCacheStoreItem(itemSO, sourceLabel, uniqueItemIds); } } + + var playerSkillItems = new List(); + PlayerSkillService.AppendDynamicStoreItems(playerSkillItems, coinSprite, materialSprite); + for (int i = 0; i < playerSkillItems.Count; i++) + { + var itemSO = playerSkillItems[i]; + var sourceLabel = string.IsNullOrEmpty(itemSO != null ? itemSO.name : string.Empty) + ? "playerSkillStore" + : "playerSkillStore/" + itemSO.name; + TryCacheStoreItem(itemSO, sourceLabel, uniqueItemIds); + } } private void TryCacheStoreItem(storeItemSO itemSO, string sourceLabel, HashSet uniqueItemIds) @@ -1044,6 +1067,12 @@ public class storeSystem : MonoBehaviour return; } + if (PlayerSkillService.IsPlayerSkillStoreItem(currentSelectedItem)) + { + HandlePlayerSkillStorePurchaseClicked(currentSelectedItem); + return; + } + if (IsSelectableEquipmentRewardItem(currentSelectedItem)) { HandleSelectableEquipmentPurchaseClicked(currentSelectedItem); @@ -1064,6 +1093,32 @@ public class storeSystem : MonoBehaviour } RegisterPurchasedCount(currentSelectedItem.itemID, grantedCount); + gItemGet.display(gItemGet.FromStoreItem(currentSelectedItem, grantedCount)); + RefreshCurrentView(); + } + + private void HandlePlayerSkillStorePurchaseClicked(storeItemSO itemSO) + { + if (itemSO == null) + { + return; + } + + string failureMessage; + gItemGet.ItemEntry rewardEntry; + if (!PlayerSkillService.TryPurchasePlayerSkillStoreItem(itemSO, currentPurchaseAmount, out failureMessage, out rewardEntry)) + { + if (!string.IsNullOrEmpty(failureMessage)) + { + gNotice.warning.display(failureMessage); + } + + RefreshPurchaseSummary(); + return; + } + + RegisterPurchasedCount(itemSO.itemID, currentPurchaseAmount); + gItemGet.display(rewardEntry); RefreshCurrentView(); } @@ -1087,6 +1142,23 @@ public class storeSystem : MonoBehaviour return; } + if (itemSO.costRequirements == null || itemSO.costRequirements.Count == 0) + { + gNotice.warning.display("商品数据丢失"); + return; + } + + var primaryCost = itemSO.costRequirements[0]; + int totalCost = Mathf.Max(0, primaryCost.amount); + string insufficientMessage = primaryCost.currencyType == storeItemSO.CurrencyType.material ? "记忆碎片不足" : "货币不足"; + + if (!HasEnoughCurrency(primaryCost.currencyType, totalCost)) + { + gNotice.warning.display(insufficientMessage); + RefreshPurchaseSummary(); + return; + } + bool requireTypeSelection = RequiresTypeSelection(requirement); bool requireSkillSelection = RequiresSkillSelection(requirement); @@ -1183,6 +1255,7 @@ public class storeSystem : MonoBehaviour } RegisterPurchasedCount(itemSO.itemID, 1); + gItemGet.display(gItemGet.FromEquipment(generated, 1)); RefreshAllEquipBags(); } @@ -1492,6 +1565,18 @@ public class storeSystem : MonoBehaviour } } + public void RefreshPlayerSkillItems() + { + if (!isActiveAndEnabled) + { + return; + } + + LoadAllStoreItems(); + ApplyPersistedStateToItems(); + RefreshCurrentView(); + } + private bool TryGetEntry(int itemID, out StoreRuntimeEntry entry) { entry = null; diff --git a/Assets/敌人全部击败图 (1).png b/Assets/敌人全部击败图 (1).png new file mode 100644 index 00000000..61c2ce0e Binary files /dev/null and b/Assets/敌人全部击败图 (1).png differ diff --git a/Assets/敌人全部击败图 (1).png.meta b/Assets/敌人全部击败图 (1).png.meta new file mode 100644 index 00000000..266f6b73 --- /dev/null +++ b/Assets/敌人全部击败图 (1).png.meta @@ -0,0 +1,156 @@ +fileFormatVersion: 2 +guid: 447cd7c85ceb0a840971ae5209116819 +TextureImporter: + internalIDToNameTable: + - first: + 213: -4764643903848573046 + second: "\u654C\u4EBA\u5168\u90E8\u51FB\u8D25\u56FE (1)_0" + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: "\u654C\u4EBA\u5168\u90E8\u51FB\u8D25\u56FE (1)_0" + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 322 + height: 705 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: a8710e51d9590edb0800000000000000 + internalID: -4764643903848573046 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + "\u654C\u4EBA\u5168\u90E8\u51FB\u8D25\u56FE (1)_0": -4764643903848573046 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/未标题-1 (3).png b/Assets/未标题-1 (3).png new file mode 100644 index 00000000..60376d35 Binary files /dev/null and b/Assets/未标题-1 (3).png differ diff --git a/Assets/未标题-1 (3).png.meta b/Assets/未标题-1 (3).png.meta new file mode 100644 index 00000000..577eb6c4 --- /dev/null +++ b/Assets/未标题-1 (3).png.meta @@ -0,0 +1,598 @@ +fileFormatVersion: 2 +guid: 483a8d87b3322524ead7834c010b24e9 +TextureImporter: + internalIDToNameTable: + - first: + 213: 7922644227337982007 + second: "\u672A\u6807\u9898-1 (3)_0" + - first: + 213: -3727344944229000437 + second: "\u672A\u6807\u9898-1 (3)_1" + - first: + 213: 6405093190258022879 + second: "\u672A\u6807\u9898-1 (3)_2" + - first: + 213: 7742335710663009597 + second: "\u672A\u6807\u9898-1 (3)_3" + - first: + 213: -788375982533258760 + second: "\u672A\u6807\u9898-1 (3)_4" + - first: + 213: 1678321189930411539 + second: "\u672A\u6807\u9898-1 (3)_5" + - first: + 213: 1005478611808467798 + second: "\u672A\u6807\u9898-1 (3)_6" + - first: + 213: 1435017451192041488 + second: "\u672A\u6807\u9898-1 (3)_7" + - first: + 213: 6001606281821046661 + second: "\u672A\u6807\u9898-1 (3)_8" + - first: + 213: 3251476706912914835 + second: "\u672A\u6807\u9898-1 (3)_9" + - first: + 213: 7303012624394995755 + second: "\u672A\u6807\u9898-1 (3)_10" + - first: + 213: -4149066192200750937 + second: "\u672A\u6807\u9898-1 (3)_11" + - first: + 213: -159269881132110272 + second: "\u672A\u6807\u9898-1 (3)_12" + - first: + 213: 5554410588913817362 + second: "\u672A\u6807\u9898-1 (3)_13" + - first: + 213: 4063106373563454711 + second: "\u672A\u6807\u9898-1 (3)_14" + - first: + 213: -7503113433727775723 + second: "\u672A\u6807\u9898-1 (3)_15" + - first: + 213: -7333130567893574837 + second: "\u672A\u6807\u9898-1 (3)_16" + - first: + 213: -8177664134760358331 + second: "\u672A\u6807\u9898-1 (3)_17" + 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: 1 + 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 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_0" + rect: + serializedVersion: 2 + x: 74 + y: 301 + width: 173 + height: 188 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 7309744e2f2e2fd60800000000000000 + internalID: 7922644227337982007 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_1" + rect: + serializedVersion: 2 + x: 81 + y: 250 + width: 18 + height: 19 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: b0bd1e3858fc54cc0800000000000000 + internalID: -3727344944229000437 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_2" + rect: + serializedVersion: 2 + x: 98 + y: 250 + width: 13 + height: 19 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: fd95a96225673e850800000000000000 + internalID: 6405093190258022879 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_3" + rect: + serializedVersion: 2 + x: 111 + y: 250 + width: 13 + height: 19 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: d35e3e5ee4d427b60800000000000000 + internalID: 7742335710663009597 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_4" + rect: + serializedVersion: 2 + x: 128 + y: 250 + width: 16 + height: 19 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 8f1d7ab88302f05f0800000000000000 + internalID: -788375982533258760 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_5" + rect: + serializedVersion: 2 + x: 143 + y: 250 + width: 13 + height: 19 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 31620d8ea389a4710800000000000000 + internalID: 1678321189930411539 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_6" + rect: + serializedVersion: 2 + x: 156 + y: 250 + width: 13 + height: 19 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 65bb81e587d24fd00800000000000000 + internalID: 1005478611808467798 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_7" + rect: + serializedVersion: 2 + x: 168 + y: 250 + width: 13 + height: 19 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 010c9c0d4c43ae310800000000000000 + internalID: 1435017451192041488 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_8" + rect: + serializedVersion: 2 + x: 180 + y: 250 + width: 18 + height: 19 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 58742bd8d1df94350800000000000000 + internalID: 6001606281821046661 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_9" + rect: + serializedVersion: 2 + x: 196 + y: 250 + width: 15 + height: 19 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 39d400f76d09f1d20800000000000000 + internalID: 3251476706912914835 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_10" + rect: + serializedVersion: 2 + x: 211 + y: 250 + width: 13 + height: 19 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: b28c143f943895560800000000000000 + internalID: 7303012624394995755 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_11" + rect: + serializedVersion: 2 + x: 224 + y: 250 + width: 15 + height: 19 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 7a8aa48e74e8b66c0800000000000000 + internalID: -4149066192200750937 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_12" + rect: + serializedVersion: 2 + x: 83 + y: 205 + width: 38 + height: 35 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 04ea3bf03e82acdf0800000000000000 + internalID: -159269881132110272 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_13" + rect: + serializedVersion: 2 + x: 119 + y: 204 + width: 37 + height: 38 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 21750e8800b351d40800000000000000 + internalID: 5554410588913817362 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_14" + rect: + serializedVersion: 2 + x: 155 + y: 204 + width: 36 + height: 37 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 7f410e038bd036830800000000000000 + internalID: 4063106373563454711 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_15" + rect: + serializedVersion: 2 + x: 191 + y: 204 + width: 37 + height: 37 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 51cc131d5169fd790800000000000000 + internalID: -7503113433727775723 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_16" + rect: + serializedVersion: 2 + x: 231 + y: 215 + width: 9 + height: 22 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: b4b1521e99c7b3a90800000000000000 + internalID: -7333130567893574837 + vertices: [] + indices: + edges: [] + weights: [] + - serializedVersion: 2 + name: "\u672A\u6807\u9898-1 (3)_17" + rect: + serializedVersion: 2 + x: 232 + y: 207 + width: 8 + height: 8 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 54e182bebc9138e80800000000000000 + internalID: -8177664134760358331 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + "\u672A\u6807\u9898-1 (3)_0": 7922644227337982007 + "\u672A\u6807\u9898-1 (3)_1": -3727344944229000437 + "\u672A\u6807\u9898-1 (3)_10": 7303012624394995755 + "\u672A\u6807\u9898-1 (3)_11": -4149066192200750937 + "\u672A\u6807\u9898-1 (3)_12": -159269881132110272 + "\u672A\u6807\u9898-1 (3)_13": 5554410588913817362 + "\u672A\u6807\u9898-1 (3)_14": 4063106373563454711 + "\u672A\u6807\u9898-1 (3)_15": -7503113433727775723 + "\u672A\u6807\u9898-1 (3)_16": -7333130567893574837 + "\u672A\u6807\u9898-1 (3)_17": -8177664134760358331 + "\u672A\u6807\u9898-1 (3)_2": 6405093190258022879 + "\u672A\u6807\u9898-1 (3)_3": 7742335710663009597 + "\u672A\u6807\u9898-1 (3)_4": -788375982533258760 + "\u672A\u6807\u9898-1 (3)_5": 1678321189930411539 + "\u672A\u6807\u9898-1 (3)_6": 1005478611808467798 + "\u672A\u6807\u9898-1 (3)_7": 1435017451192041488 + "\u672A\u6807\u9898-1 (3)_8": 6001606281821046661 + "\u672A\u6807\u9898-1 (3)_9": 3251476706912914835 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset index 6a279bea..108847bf 100644 --- a/ProjectSettings/QualitySettings.asset +++ b/ProjectSettings/QualitySettings.asset @@ -319,4 +319,6 @@ QualitySettings: terrainMaxTrees: 50 excludedTargetPlatforms: [] m_TextureMipmapLimitGroupNames: [] - m_PerPlatformDefaultQuality: {} + m_PerPlatformDefaultQuality: + Android: 0 + Standalone: 0