修了很多bug和增加功能,优化不少问题

This commit is contained in:
FloatGaming
2026-02-28 06:59:22 +08:00
parent 508a40bba0
commit e11cc1da7a
345 changed files with 173803 additions and 69332 deletions
@@ -75,6 +75,127 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &190174286879696702
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1921692501854128048}
- component: {fileID: 262362209452459799}
- component: {fileID: 6613517516369744491}
- component: {fileID: 343948993999864441}
m_Layer: 0
m_Name: quit
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1921692501854128048
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 190174286879696702}
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: 1654399111652276055}
m_Father: {fileID: 2318280567031044456}
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: -717.04755, y: -482.26224}
m_SizeDelta: {x: 233.9049, y: 58.5245}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &262362209452459799
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 190174286879696702}
m_CullTransparentMesh: 1
--- !u!114 &6613517516369744491
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 190174286879696702}
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!114 &343948993999864441
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 190174286879696702}
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: 6613517516369744491}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &280150709295593380
GameObject:
m_ObjectHideFlags: 0
@@ -104,7 +225,10 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Children:
- {fileID: 7097432644767091147}
- {fileID: 9145114678613703868}
- {fileID: 1921692501854128048}
m_Father: {fileID: 4008714089197239054}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@@ -791,6 +915,126 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &870542793272152917
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5393087152090690085}
- component: {fileID: 5618328993038728034}
- component: {fileID: 4560576740520322615}
- component: {fileID: 7091982211545804283}
m_Layer: 0
m_Name: pre
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5393087152090690085
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 870542793272152917}
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: 7097432644767091147}
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: -813.7, y: -414}
m_SizeDelta: {x: 56, y: 56}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5618328993038728034
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 870542793272152917}
m_CullTransparentMesh: 1
--- !u!114 &4560576740520322615
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 870542793272152917}
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: -2435675083333652955, guid: 1cf91bb855844a744b125281d64ec5e4, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &7091982211545804283
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 870542793272152917}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 2
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 2618833490949172851, guid: ed80f03282cf5e742b057fe22a4db4e3, type: 3}
m_PressedSprite: {fileID: 2618833490949172851, guid: ed80f03282cf5e742b057fe22a4db4e3, type: 3}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 4560576740520322615}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &935583051684971773
GameObject:
m_ObjectHideFlags: 0
@@ -1030,7 +1274,7 @@ RectTransform:
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.000061035156}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0.00024414062, y: 60}
m_Pivot: {x: 0.5, y: 1}
--- !u!222 &5642671189970141329
@@ -3843,6 +4087,85 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &3712838779758994681
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9145114678613703868}
- component: {fileID: 7945310331760028475}
- component: {fileID: 2548512935408182472}
m_Layer: 0
m_Name: rate
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &9145114678613703868
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3712838779758994681}
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: 2318280567031044456}
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: -717.73883, y: -413.23175}
m_SizeDelta: {x: 130.3551, y: 70}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7945310331760028475
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3712838779758994681}
m_CullTransparentMesh: 1
--- !u!114 &2548512935408182472
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3712838779758994681}
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: 32c60a5dbdfd0b840b32439a41a82cdc, type: 3}
m_FontSize: 48
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 48
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 123
--- !u!1 &3795978275553639482
GameObject:
m_ObjectHideFlags: 0
@@ -4108,7 +4431,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 451, y: -52.00006}
m_AnchoredPosition: {x: 451, y: -52}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0, y: 0}
--- !u!114 &786756074167547563
@@ -4510,17 +4833,25 @@ MonoBehaviour:
market_launch: {fileID: 5379967691629323644}
userGuideButton: {fileID: 6945238783669072533}
guideDisplayImage: {fileID: 2438452334951697137}
preIMGb: {fileID: 7091982211545804283}
aftIMGb: {fileID: 8037158744199989437}
closeGuideButton: {fileID: 343948993999864441}
guideIndexLegacyText: {fileID: 2548512935408182472}
guideMappings:
- sceneName: UI_UI
guideSprite: {fileID: 0}
guideSprites:
- {fileID: 21300000, guid: c10c5ccd5ef540a43b98875bdb553494, type: 3}
- sceneName: selectYourSongFirst
guideSprite: {fileID: 0}
guideSprites:
- {fileID: 21300000, guid: a525a935ecca55d4c9e67de52ba85ecd, type: 3}
- sceneName: Songs_Select
guideSprite: {fileID: 0}
guideSprites:
- {fileID: 21300000, guid: 531ef0da02c73254aa329929f68e604b, type: 3}
- {fileID: 21300000, guid: 2acba780a6197d049a455d1f39f7d77a, type: 3}
- sceneName: gamePlay_gamePlay
guideSprite: {fileID: 0}
guideSprites: []
- sceneName:
guideSprite: {fileID: 0}
guideSprites: []
button_Music: {fileID: 5472029888669800656}
musicPicRoot: {fileID: 0}
showMusicPicInUI: 1
@@ -5028,6 +5359,122 @@ MonoBehaviour:
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\uFF1F"
--- !u!1 &5543199505375390952
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1654399111652276055}
- component: {fileID: 2431777623128093230}
- component: {fileID: 999046735654024853}
m_Layer: 0
m_Name: Text (Legacy)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1654399111652276055
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5543199505375390952}
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: 1921692501854128048}
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 &2431777623128093230
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5543199505375390952}
m_CullTransparentMesh: 1
--- !u!114 &999046735654024853
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5543199505375390952}
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: "\u6211\u77E5\u9053\u4E86"
--- !u!1 &5571597707239434740
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7097432644767091147}
m_Layer: 0
m_Name: bts
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7097432644767091147
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5571597707239434740}
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: 5393087152090690085}
- {fileID: 9091935634797533910}
m_Father: {fileID: 2318280567031044456}
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 &5745207992015071035
GameObject:
m_ObjectHideFlags: 0
@@ -5426,6 +5873,126 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &6307570861276146150
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 9091935634797533910}
- component: {fileID: 8698767885323700901}
- component: {fileID: 3074455677764272783}
- component: {fileID: 8037158744199989437}
m_Layer: 0
m_Name: aft
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &9091935634797533910
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6307570861276146150}
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: 7097432644767091147}
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: -620.3, y: -414}
m_SizeDelta: {x: 56, y: 56}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8698767885323700901
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6307570861276146150}
m_CullTransparentMesh: 1
--- !u!114 &3074455677764272783
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6307570861276146150}
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: -2435675083333652955, guid: 1cf91bb855844a744b125281d64ec5e4, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &8037158744199989437
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6307570861276146150}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 2
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 2618833490949172851, guid: ed80f03282cf5e742b057fe22a4db4e3, type: 3}
m_PressedSprite: {fileID: 2618833490949172851, guid: ed80f03282cf5e742b057fe22a4db4e3, type: 3}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 3074455677764272783}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &6553818634666623283
GameObject:
m_ObjectHideFlags: 0
@@ -2,10 +2,11 @@ using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
using UnityEngine.SceneManagement;
using UnityEngine.EventSystems;
using System.Collections.Generic;
using Bansonic;
public class btmandtopController : MonoBehaviour
public class btmandtopController : MonoBehaviour, ICancelHandler
{
[Header("player unique so")]
public Player_SO player_SO;
@@ -23,13 +24,17 @@ public class btmandtopController : MonoBehaviour
[Header("User Guide")]
[SerializeField] private Button userGuideButton;
[SerializeField] private Image guideDisplayImage;
[SerializeField] private Button preIMGb;
[SerializeField] private Button aftIMGb;
[SerializeField] private Button closeGuideButton;
[SerializeField] private Text guideIndexLegacyText;
[SerializeField] private List<GuideMapping> guideMappings;
[System.Serializable]
public struct GuideMapping
{
public string sceneName;
public Sprite guideSprite;
public List<Sprite> guideSprites;
}
public Button button_Music;
@@ -89,6 +94,8 @@ public class btmandtopController : MonoBehaviour
private Coroutine musicPicFade;
private bool musicPicVisible = true;
private bool navSceneLoading = false;
private readonly Dictionary<string, int> guideIndexByScene = new Dictionary<string, int>();
private string currentGuideScene = string.Empty;
private static readonly List<string> sceneHistory = new List<string>();
private static bool sceneHistoryHooked = false;
@@ -141,6 +148,12 @@ public class btmandtopController : MonoBehaviour
market_launch.onClick.AddListener(instantiateMarket);
if (userGuideButton != null)
userGuideButton.onClick.AddListener(navGuideAction);
if (preIMGb != null)
preIMGb.onClick.AddListener(ShowPreviousGuideImage);
if (aftIMGb != null)
aftIMGb.onClick.AddListener(ShowNextGuideImage);
if (closeGuideButton != null)
closeGuideButton.onClick.AddListener(CloseGuideDisplay);
BindNewBackButtons();
@@ -371,6 +384,12 @@ public class btmandtopController : MonoBehaviour
market_launch.onClick.RemoveListener(instantiateMarket);
if (userGuideButton != null)
userGuideButton.onClick.RemoveListener(navGuideAction);
if (preIMGb != null)
preIMGb.onClick.RemoveListener(ShowPreviousGuideImage);
if (aftIMGb != null)
aftIMGb.onClick.RemoveListener(ShowNextGuideImage);
if (closeGuideButton != null)
closeGuideButton.onClick.RemoveListener(CloseGuideDisplay);
if (button_Music != null)
button_Music.onClick.RemoveListener(ToggleMusicPicLocal);
@@ -392,35 +411,132 @@ public class btmandtopController : MonoBehaviour
if (guideDisplayImage.gameObject.activeSelf)
{
guideDisplayImage.gameObject.SetActive(false);
CloseGuideDisplay();
}
else
{
string currentScene = SceneManager.GetActiveScene().name;
Sprite targetSprite = null;
ShowGuideForScene(currentScene, true);
}
}
if (guideMappings != null)
{
foreach (var mapping in guideMappings)
{
if (mapping.sceneName == currentScene)
{
targetSprite = mapping.guideSprite;
break;
}
}
}
private void CloseGuideDisplay()
{
if (guideDisplayImage == null) return;
guideDisplayImage.gameObject.SetActive(false);
UpdateGuideIndexText(-1, 0);
SetGuideButtonsInteractable(false);
}
if (targetSprite != null)
public void OnCancel(BaseEventData eventData)
{
if (guideDisplayImage != null && guideDisplayImage.gameObject.activeSelf)
CloseGuideDisplay();
}
private void ShowGuideForScene(string sceneName, bool allowStoredIndex)
{
if (!TryGetGuideMapping(sceneName, out var mapping))
{
gNotice.warning.display("未找到指引信息");
return;
}
int count = GetGuideSpriteCount(mapping);
if (count <= 0)
{
gNotice.warning.display("未找到指引信息");
return;
}
int index = 0;
if (allowStoredIndex && guideIndexByScene.TryGetValue(sceneName, out var storedIndex))
index = storedIndex;
index = Mathf.Clamp(index, 0, count - 1);
ApplyGuideSprite(sceneName, mapping, index, count);
}
private void ShowPreviousGuideImage()
{
if (guideDisplayImage == null || !guideDisplayImage.gameObject.activeSelf) return;
if (string.IsNullOrEmpty(currentGuideScene))
currentGuideScene = SceneManager.GetActiveScene().name;
if (!TryGetGuideMapping(currentGuideScene, out var mapping)) return;
int count = GetGuideSpriteCount(mapping);
if (count <= 0) return;
int index = 0;
guideIndexByScene.TryGetValue(currentGuideScene, out index);
index = Mathf.Clamp(index - 1, 0, count - 1);
ApplyGuideSprite(currentGuideScene, mapping, index, count);
}
private void ShowNextGuideImage()
{
if (guideDisplayImage == null || !guideDisplayImage.gameObject.activeSelf) return;
if (string.IsNullOrEmpty(currentGuideScene))
currentGuideScene = SceneManager.GetActiveScene().name;
if (!TryGetGuideMapping(currentGuideScene, out var mapping)) return;
int count = GetGuideSpriteCount(mapping);
if (count <= 0) return;
int index = 0;
guideIndexByScene.TryGetValue(currentGuideScene, out index);
index = Mathf.Clamp(index + 1, 0, count - 1);
ApplyGuideSprite(currentGuideScene, mapping, index, count);
}
private void ApplyGuideSprite(string sceneName, GuideMapping mapping, int index, int count)
{
Sprite targetSprite = GetGuideSpriteAt(mapping, index);
if (targetSprite == null)
{
gNotice.warning.display("未找到指引信息");
return;
}
guideDisplayImage.sprite = targetSprite;
guideDisplayImage.gameObject.SetActive(true);
currentGuideScene = sceneName;
guideIndexByScene[sceneName] = index;
UpdateGuideIndexText(index, count);
SetGuideButtonsInteractable(count > 1);
}
private void UpdateGuideIndexText(int index, int count)
{
string text = count > 0 && index >= 0 ? $"{index + 1}/{count}" : string.Empty;
if (guideIndexLegacyText != null) guideIndexLegacyText.text = text;
}
private void SetGuideButtonsInteractable(bool enabled)
{
if (preIMGb != null) preIMGb.interactable = enabled;
if (aftIMGb != null) aftIMGb.interactable = enabled;
}
private bool TryGetGuideMapping(string sceneName, out GuideMapping mapping)
{
mapping = default;
if (guideMappings == null) return false;
for (int i = 0; i < guideMappings.Count; i++)
{
if (guideMappings[i].sceneName == sceneName)
{
guideDisplayImage.sprite = targetSprite;
guideDisplayImage.gameObject.SetActive(true);
}
else
{
gNotice.warning.display("未找到指引信息");
mapping = guideMappings[i];
return true;
}
}
return false;
}
private int GetGuideSpriteCount(GuideMapping mapping)
{
if (mapping.guideSprites != null) return mapping.guideSprites.Count;
return 0;
}
private Sprite GetGuideSpriteAt(GuideMapping mapping, int index)
{
if (mapping.guideSprites == null || mapping.guideSprites.Count == 0) return null;
return mapping.guideSprites[Mathf.Clamp(index, 0, mapping.guideSprites.Count - 1)];
}
private void ToggleSettingsPrefab()