From ae07f8946eb796454c539a56110cbc8cccebd533 Mon Sep 17 00:00:00 2001 From: azazaz123456 Date: Mon, 21 Jul 2025 18:04:04 +0800 Subject: [PATCH] bug --- Assets/Resources/Audio.meta | 8 + Assets/Resources/UIMainModel.prefab | 479 +--------------------- Assets/Scripts/Audio.meta | 8 + Assets/Scripts/Audio/AudioManager.cs | 99 +++++ Assets/Scripts/Audio/AudioManager.cs.meta | 11 + Assets/Scripts/Audio/SoundType.cs | 7 + Assets/Scripts/Audio/SoundType.cs.meta | 11 + Assets/Scripts/UI/UILogin.cs | 2 +- Assets/Scripts/UI/UIMainMenu.cs | 7 +- Assets/Scripts/UI/UIMainModel.cs | 47 ++- Assets/Scripts/UIBase/UIBase.cs | 2 +- Assets/Scripts/UIBase/UIManager.cs | 6 +- 12 files changed, 209 insertions(+), 478 deletions(-) create mode 100644 Assets/Resources/Audio.meta create mode 100644 Assets/Scripts/Audio.meta create mode 100644 Assets/Scripts/Audio/AudioManager.cs create mode 100644 Assets/Scripts/Audio/AudioManager.cs.meta create mode 100644 Assets/Scripts/Audio/SoundType.cs create mode 100644 Assets/Scripts/Audio/SoundType.cs.meta diff --git a/Assets/Resources/Audio.meta b/Assets/Resources/Audio.meta new file mode 100644 index 0000000..59f36dd --- /dev/null +++ b/Assets/Resources/Audio.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b24867160b151b2428501bbd53589f8b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UIMainModel.prefab b/Assets/Resources/UIMainModel.prefab index 4576a2b..6b21214 100644 --- a/Assets/Resources/UIMainModel.prefab +++ b/Assets/Resources/UIMainModel.prefab @@ -77,86 +77,6 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!1 &2503794663356014329 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5275294186816187698} - - component: {fileID: 2460241970310080226} - - component: {fileID: 1794192113086028587} - 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 &5275294186816187698 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2503794663356014329} - 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: 3157093634981092608} - m_RootOrder: 0 - 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 &2460241970310080226 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2503794663356014329} - m_CullTransparentMesh: 1 ---- !u!114 &1794192113086028587 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2503794663356014329} - 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: 1 - 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: "\u5BA4\u5916" --- !u!1 &2831161547970891671 GameObject: m_ObjectHideFlags: 0 @@ -236,87 +156,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: "\u7761\u7720" ---- !u!1 &5454942359989554367 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7977125510473804047} - - component: {fileID: 5318937068798003684} - - component: {fileID: 409430528081436750} - 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 &7977125510473804047 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5454942359989554367} - 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: 4251080265957509190} - m_RootOrder: 0 - 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 &5318937068798003684 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5454942359989554367} - m_CullTransparentMesh: 1 ---- !u!114 &409430528081436750 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5454942359989554367} - 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: 1 - 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: "\u8D85\u58F0\u6CE2" + m_Text: "\u5F00\u59CB" --- !u!1 &6207470047555761357 GameObject: m_ObjectHideFlags: 0 @@ -396,7 +236,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: "\u5BA4\u5185" + m_Text: "\u505C\u6B62" --- !u!1 &6550220962649801778 GameObject: m_ObjectHideFlags: 0 @@ -447,140 +287,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 2231b43f39d8eeb4f80721eb0a03572a, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &7471467633811077440 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3157093634981092608} - - component: {fileID: 281400622810360933} - - component: {fileID: 588283288089953616} - - component: {fileID: 2583991074104619626} - m_Layer: 5 - m_Name: ModelButton2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3157093634981092608 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7471467633811077440} - 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: 5275294186816187698} - m_Father: {fileID: 2873138215536416150} - m_RootOrder: 2 - 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: 340.97, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &281400622810360933 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7471467633811077440} - m_CullTransparentMesh: 1 ---- !u!114 &588283288089953616 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7471467633811077440} - 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!114 &2583991074104619626 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7471467633811077440} - 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: 588283288089953616} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 0} - m_TargetAssemblyTypeName: UILogin, Assembly-CSharp - m_MethodName: ClickIOSLoginBtn - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 --- !u!1 &7765360854981542219 GameObject: m_ObjectHideFlags: 0 @@ -594,7 +300,7 @@ GameObject: - component: {fileID: 3641407344978655813} - component: {fileID: 2510853556326456402} m_Layer: 5 - m_Name: ModelButton1 + m_Name: StopButton m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -616,8 +322,8 @@ RectTransform: m_Father: {fileID: 2873138215536416150} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 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: 340.97, y: 100} m_Pivot: {x: 0.5, y: 0.5} @@ -724,7 +430,6 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2873138215536416150} - - component: {fileID: 5446954556764197895} m_Layer: 5 m_Name: GameObject m_TagString: Untagged @@ -746,42 +451,14 @@ RectTransform: m_Children: - {fileID: 3425006060776426130} - {fileID: 5096474229834134145} - - {fileID: 3157093634981092608} - - {fileID: 4251080265957509190} m_Father: {fileID: 1268344540} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.5} - m_AnchorMax: {x: 1, y: 0.5} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 1000} + m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &5446954556764197895 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8012581224338313057} - 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: 4 - m_Spacing: 0 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 1 - m_ChildControlWidth: 0 - m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 --- !u!1 &8470784928863194459 GameObject: m_ObjectHideFlags: 0 @@ -795,7 +472,7 @@ GameObject: - component: {fileID: 1103153236954729575} - component: {fileID: 5159443995284441925} m_Layer: 5 - m_Name: ModelButton0 + m_Name: StartButton m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -817,8 +494,8 @@ RectTransform: m_Father: {fileID: 2873138215536416150} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 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: 340.97, y: 100} m_Pivot: {x: 0.5, y: 0.5} @@ -916,137 +593,3 @@ MonoBehaviour: m_StringArgument: m_BoolArgument: 0 m_CallState: 2 ---- !u!1 &8997070363912908644 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4251080265957509190} - - component: {fileID: 1210413372270649342} - - component: {fileID: 4707961147903076844} - - component: {fileID: 3395866829725965334} - m_Layer: 5 - m_Name: ModelButton3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4251080265957509190 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8997070363912908644} - 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: 7977125510473804047} - m_Father: {fileID: 2873138215536416150} - m_RootOrder: 3 - 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: 340.97, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1210413372270649342 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8997070363912908644} - m_CullTransparentMesh: 1 ---- !u!114 &4707961147903076844 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8997070363912908644} - 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!114 &3395866829725965334 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8997070363912908644} - 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: 4707961147903076844} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 0} - m_TargetAssemblyTypeName: UILogin, Assembly-CSharp - m_MethodName: ClickIOSLoginBtn - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 diff --git a/Assets/Scripts/Audio.meta b/Assets/Scripts/Audio.meta new file mode 100644 index 0000000..bf89210 --- /dev/null +++ b/Assets/Scripts/Audio.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b856e9bc2947fc54b83eecb4db5567bb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Audio/AudioManager.cs b/Assets/Scripts/Audio/AudioManager.cs new file mode 100644 index 0000000..2d4bc76 --- /dev/null +++ b/Assets/Scripts/Audio/AudioManager.cs @@ -0,0 +1,99 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class AudioManager : MonoBehaviour +{ + public static AudioManager Instance { get; private set; } + + private AudioSource bgmSource; + private List sfxSources = new List(); + + [Header("音量设置")] + [Range(0f, 1f)] public float bgmVolume = 1f; + [Range(0f, 1f)] public float sfxVolume = 1f; + + private void Awake() + { + if (Instance != null) + { + Destroy(gameObject); + return; + } + Instance = this; + DontDestroyOnLoad(gameObject); + + bgmSource = gameObject.AddComponent(); + bgmSource.loop = true; + } + + public void PlayBGM(string bgmName) + { + AudioClip clip = Resources.Load($"Audio/{bgmName}"); + if (clip == null) + { + Debug.LogWarning($"未找到BGM: {bgmName}"); + return; + } + + bgmSource.clip = clip; + bgmSource.volume = bgmVolume; + bgmSource.Play(); + } + + public void StopBGM() + { + bgmSource.Stop(); + } + + public void PlaySFX(string sfxName) + { + AudioClip clip = Resources.Load($"Audio/{sfxName}"); + if (clip == null) + { + Debug.LogWarning($"未找到音效: {sfxName}"); + return; + } + + AudioSource source = gameObject.AddComponent(); + source.clip = clip; + source.volume = sfxVolume; + source.Play(); + sfxSources.Add(source); + StartCoroutine(DestroySFXWhenDone(source)); + } + + private IEnumerator DestroySFXWhenDone(AudioSource source) + { + yield return new WaitForSeconds(source.clip.length); + sfxSources.Remove(source); + Destroy(source); + } + + public void SetVolume(SoundType type, float volume) + { + if (type == SoundType.BGM) + { + bgmVolume = volume; + bgmSource.volume = volume; + } + else if (type == SoundType.SFX) + { + sfxVolume = volume; + foreach (var source in sfxSources) + { + source.volume = volume; + } + } + } + + public void Mute(bool mute) + { + bgmSource.mute = mute; + foreach (var source in sfxSources) + { + source.mute = mute; + } + } +} + diff --git a/Assets/Scripts/Audio/AudioManager.cs.meta b/Assets/Scripts/Audio/AudioManager.cs.meta new file mode 100644 index 0000000..bfb7a17 --- /dev/null +++ b/Assets/Scripts/Audio/AudioManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 50ffa13a0524e5440b83a1099f0acf8f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Audio/SoundType.cs b/Assets/Scripts/Audio/SoundType.cs new file mode 100644 index 0000000..5cf4471 --- /dev/null +++ b/Assets/Scripts/Audio/SoundType.cs @@ -0,0 +1,7 @@ + + +public enum SoundType +{ + BGM, + SFX +} diff --git a/Assets/Scripts/Audio/SoundType.cs.meta b/Assets/Scripts/Audio/SoundType.cs.meta new file mode 100644 index 0000000..925feac --- /dev/null +++ b/Assets/Scripts/Audio/SoundType.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 52cfb2734648d364facc1ad028bc51fc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UI/UILogin.cs b/Assets/Scripts/UI/UILogin.cs index d7f9eb5..15422b3 100644 --- a/Assets/Scripts/UI/UILogin.cs +++ b/Assets/Scripts/UI/UILogin.cs @@ -5,7 +5,7 @@ using UnityEngine; public class UILogin : UIBase { - public override void OnOpen(object param = null) { + public override void OnOpen(params object[] args) { } public override void OnClose() { } diff --git a/Assets/Scripts/UI/UIMainMenu.cs b/Assets/Scripts/UI/UIMainMenu.cs index 51e2fa2..0a9a89c 100644 --- a/Assets/Scripts/UI/UIMainMenu.cs +++ b/Assets/Scripts/UI/UIMainMenu.cs @@ -1,13 +1,12 @@ using System.Collections; using System.Collections.Generic; +using Unity.VisualScripting; using UnityEngine; +using UnityEngine.UI; public class UIMainMenu : UIBase { - public override void OnOpen(object param = null) - { - - } + public override void OnOpen(params object[] args) { } public override void OnClose() { } public void ClickModelButton(int model) diff --git a/Assets/Scripts/UI/UIMainModel.cs b/Assets/Scripts/UI/UIMainModel.cs index 84f651e..4daf3a3 100644 --- a/Assets/Scripts/UI/UIMainModel.cs +++ b/Assets/Scripts/UI/UIMainModel.cs @@ -1,12 +1,57 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; +using UnityEngine.UI; public class UIMainModel : UIBase { - public override void OnOpen(object param = null) + [SerializeField] + Button StartButton; + [SerializeField] + Button StopButton; + + bool _isPlaySound; + + string bgmPath; + + bool IsPlaySound { + get { return _isPlaySound; } + set + { + _isPlaySound = value; + if (_isPlaySound) + { + AudioManager.Instance.PlayBGM(bgmPath); + } + else + { + AudioManager.Instance.StopBGM(); + } + } + } + public override void OnOpen(params object[] args) + { + int model = (int)args[0]; + switch (model) + { + case 0: + bgmPath = "bgm_main"; + break; + case 1: + bgmPath = "bgm_main_2"; + break; + case 2: + bgmPath = "bgm_main_3"; + break; + case 3: + bgmPath = "bgm_main_3"; + break; + default: + bgmPath = "bgm_main"; + break; + } } public override void OnClose() { } } diff --git a/Assets/Scripts/UIBase/UIBase.cs b/Assets/Scripts/UIBase/UIBase.cs index fe80cf2..4242da3 100644 --- a/Assets/Scripts/UIBase/UIBase.cs +++ b/Assets/Scripts/UIBase/UIBase.cs @@ -2,7 +2,7 @@ using UnityEngine; public abstract class UIBase : MonoBehaviour { - public virtual void OnOpen(object param = null) { } + public virtual void OnOpen(params object[] args) { } public virtual void OnClose() { } // 可选的关闭接口 diff --git a/Assets/Scripts/UIBase/UIManager.cs b/Assets/Scripts/UIBase/UIManager.cs index 64d1168..a372c46 100644 --- a/Assets/Scripts/UIBase/UIManager.cs +++ b/Assets/Scripts/UIBase/UIManager.cs @@ -18,14 +18,14 @@ public class UIManager : MonoBehaviour Instance = this; } - public T OpenUI(object param = null, int layer = 1) where T : UIBase + public T OpenUI(int layer = 1, params object[] arg) where T : UIBase { string uiName = typeof(T).Name; if (uiDict.TryGetValue(uiName, out var ui)) { ui.gameObject.SetActive(true); - ui.OnOpen(param); + ui.OnOpen(arg); return ui as T; } @@ -46,7 +46,7 @@ public class UIManager : MonoBehaviour } uiDict[uiName] = uiInstance; - uiInstance.OnOpen(param); + uiInstance.OnOpen(arg); return uiInstance; }