Skip to content

Commit db36c9c

Browse files
committed
add: setting in menuHud
1 parent e3dc839 commit db36c9c

7 files changed

Lines changed: 294 additions & 24 deletions

File tree

Assets/Code/Window/Setting/ButtonSettings.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ namespace Code.Window.Setting
1010
public class ButtonSettings : MonoBehaviour
1111
{
1212
[SerializeField] private Button _button;
13+
[SerializeField] private TypeSettingWindow _typeSettingWindow = TypeSettingWindow.GameHud;
1314

1415
private SettingWindow _settingWindow;
1516

@@ -38,7 +39,7 @@ private void OpenPauseWindow()
3839

3940
RectTransform prefab = _windowService.Open(WindowTypeId.Setting);
4041
_settingWindow = prefab.GetComponent<SettingWindow>();
41-
42+
_settingWindow.Initialize(_typeSettingWindow);
4243
_settingWindow.UpdateWindow();
4344
_settingWindow.ResetButtonScale();
4445
}

Assets/Code/Window/Setting/SettingWindow.cs

Lines changed: 33 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using System;
21
using Code.Infrastructure.StateMachine;
32
using Code.Infrastructure.StateMachine.Game.States;
43
using Code.Services.PersistenceProgress;
@@ -56,6 +55,37 @@ public void Constructor(
5655
_playerSettings = progressService.PlayerData.PlayerSettings;
5756
}
5857

58+
public void Initialize(TypeSettingWindow settingWindow)
59+
{
60+
switch (settingWindow)
61+
{
62+
case TypeSettingWindow.GameHud:
63+
_continueButton.gameObject.SetActive(true);
64+
_quitToMenuButton.gameObject.SetActive(true);
65+
_restartLevelButton.gameObject.SetActive(true);
66+
break;
67+
case TypeSettingWindow.MenuHud:
68+
_continueButton.gameObject.SetActive(true);
69+
_quitToMenuButton.gameObject.SetActive(false);
70+
_restartLevelButton.gameObject.SetActive(false);
71+
break;
72+
}
73+
}
74+
75+
public void UpdateWindow()
76+
{
77+
UpdateColor();
78+
UpdateRectTransform();
79+
}
80+
81+
public void ResetButtonScale()
82+
{
83+
foreach (Button button in _buttons)
84+
{
85+
button.transform.localScale = Vector3.one;
86+
}
87+
}
88+
5989
private void OnEnable()
6090
{
6191
_toggleMusic.Button.onClick.AddListener(() => UpdateSetting(ref _playerSettings.Music));
@@ -110,12 +140,7 @@ private void UpdateSetting(ref bool setting)
110140

111141
_saveLoadFacade.SaveProgress(SaveMethodType.PlayerPrefs);
112142
}
113-
114-
public void UpdateWindow()
115-
{
116-
UpdateColor();
117-
UpdateRectTransform();
118-
}
143+
119144
private void UpdateColor()
120145
{
121146
_toggleMusic.Image.DOColor(SelectColor(_playerSettings.Music), AnimationDuration)
@@ -125,6 +150,7 @@ private void UpdateColor()
125150
_toggleVibrations.Image.DOColor(SelectColor(_playerSettings.Vibration), AnimationDuration)
126151
.SetUpdate(true);
127152
}
153+
128154
private void UpdateRectTransform()
129155
{
130156
_toggleMusic.Image.rectTransform.DOAnchorPosX(SelectPositionX(_playerSettings.Music), AnimationDuration)
@@ -137,20 +163,5 @@ private void UpdateRectTransform()
137163

138164
private Color SelectColor(bool value) => value ? _enabledColor : _disabledColor;
139165
private float SelectPositionX(bool value) => value ? 50f : -50f;
140-
141-
public void ResetButtonScale()
142-
{
143-
foreach (var button in _buttons)
144-
{
145-
button.transform.localScale = Vector3.one;
146-
}
147-
}
148-
}
149-
150-
[Serializable]
151-
public class ToggleContainer
152-
{
153-
public Button Button;
154-
public Image Image;
155166
}
156167
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using System;
2+
using UnityEngine.UI;
3+
4+
namespace Code.Window.Setting
5+
{
6+
[Serializable]
7+
public class ToggleContainer
8+
{
9+
public Button Button;
10+
public Image Image;
11+
}
12+
}

Assets/Code/Window/Setting/ToggleContainer.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using System;
2+
3+
namespace Code.Window.Setting
4+
{
5+
[Serializable]
6+
public enum TypeSettingWindow
7+
{
8+
GameHud = 0,
9+
MenuHud = 1
10+
}
11+
}
12+

Assets/Code/Window/Setting/TypeSettingWindow.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Resources/Huds/MenuHud.prefab

Lines changed: 229 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,81 @@ MonoBehaviour:
136136
m_hasFontAssetChanged: 0
137137
m_baseMaterial: {fileID: 0}
138138
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
139+
--- !u!1 &987902381745220488
140+
GameObject:
141+
m_ObjectHideFlags: 0
142+
m_CorrespondingSourceObject: {fileID: 0}
143+
m_PrefabInstance: {fileID: 0}
144+
m_PrefabAsset: {fileID: 0}
145+
serializedVersion: 6
146+
m_Component:
147+
- component: {fileID: 2241018089165465206}
148+
- component: {fileID: 226494531653247892}
149+
- component: {fileID: 4906999768771918249}
150+
m_Layer: 5
151+
m_Name: icon
152+
m_TagString: Untagged
153+
m_Icon: {fileID: 0}
154+
m_NavMeshLayer: 0
155+
m_StaticEditorFlags: 0
156+
m_IsActive: 1
157+
--- !u!224 &2241018089165465206
158+
RectTransform:
159+
m_ObjectHideFlags: 0
160+
m_CorrespondingSourceObject: {fileID: 0}
161+
m_PrefabInstance: {fileID: 0}
162+
m_PrefabAsset: {fileID: 0}
163+
m_GameObject: {fileID: 987902381745220488}
164+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
165+
m_LocalPosition: {x: 0, y: 0, z: 0}
166+
m_LocalScale: {x: 1, y: 1, z: 1}
167+
m_ConstrainProportionsScale: 0
168+
m_Children: []
169+
m_Father: {fileID: 2238740918733847248}
170+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
171+
m_AnchorMin: {x: 0.5, y: 0.5666297}
172+
m_AnchorMax: {x: 0.5, y: 0.5666297}
173+
m_AnchoredPosition: {x: -0.000025153, y: -0.09430027}
174+
m_SizeDelta: {x: 81.232, y: 81.232}
175+
m_Pivot: {x: 0.5, y: 0.5}
176+
--- !u!222 &226494531653247892
177+
CanvasRenderer:
178+
m_ObjectHideFlags: 0
179+
m_CorrespondingSourceObject: {fileID: 0}
180+
m_PrefabInstance: {fileID: 0}
181+
m_PrefabAsset: {fileID: 0}
182+
m_GameObject: {fileID: 987902381745220488}
183+
m_CullTransparentMesh: 1
184+
--- !u!114 &4906999768771918249
185+
MonoBehaviour:
186+
m_ObjectHideFlags: 0
187+
m_CorrespondingSourceObject: {fileID: 0}
188+
m_PrefabInstance: {fileID: 0}
189+
m_PrefabAsset: {fileID: 0}
190+
m_GameObject: {fileID: 987902381745220488}
191+
m_Enabled: 1
192+
m_EditorHideFlags: 0
193+
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
194+
m_Name:
195+
m_EditorClassIdentifier:
196+
m_Material: {fileID: 0}
197+
m_Color: {r: 1, g: 1, b: 1, a: 1}
198+
m_RaycastTarget: 1
199+
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
200+
m_Maskable: 1
201+
m_OnCullStateChanged:
202+
m_PersistentCalls:
203+
m_Calls: []
204+
m_Sprite: {fileID: 21300000, guid: 5a350ac1f8e0a416499529612b3f7dab, type: 3}
205+
m_Type: 0
206+
m_PreserveAspect: 1
207+
m_FillCenter: 1
208+
m_FillMethod: 4
209+
m_FillAmount: 1
210+
m_FillClockwise: 1
211+
m_FillOrigin: 0
212+
m_UseSpriteMesh: 0
213+
m_PixelsPerUnitMultiplier: 1
139214
--- !u!1 &1259707806728751802
140215
GameObject:
141216
m_ObjectHideFlags: 0
@@ -212,6 +287,158 @@ MonoBehaviour:
212287
m_FillOrigin: 0
213288
m_UseSpriteMesh: 0
214289
m_PixelsPerUnitMultiplier: 1
290+
--- !u!1 &1407462270030453899
291+
GameObject:
292+
m_ObjectHideFlags: 0
293+
m_CorrespondingSourceObject: {fileID: 0}
294+
m_PrefabInstance: {fileID: 0}
295+
m_PrefabAsset: {fileID: 0}
296+
serializedVersion: 6
297+
m_Component:
298+
- component: {fileID: 2238740918733847248}
299+
- component: {fileID: 4963341297820897998}
300+
- component: {fileID: 1800957339632104797}
301+
- component: {fileID: 6515757518578636049}
302+
- component: {fileID: 1992971607706580651}
303+
- component: {fileID: 788048419891258573}
304+
m_Layer: 5
305+
m_Name: Button_Settings
306+
m_TagString: Untagged
307+
m_Icon: {fileID: 0}
308+
m_NavMeshLayer: 0
309+
m_StaticEditorFlags: 0
310+
m_IsActive: 1
311+
--- !u!224 &2238740918733847248
312+
RectTransform:
313+
m_ObjectHideFlags: 0
314+
m_CorrespondingSourceObject: {fileID: 0}
315+
m_PrefabInstance: {fileID: 0}
316+
m_PrefabAsset: {fileID: 0}
317+
m_GameObject: {fileID: 1407462270030453899}
318+
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
319+
m_LocalPosition: {x: 0, y: 0, z: 0}
320+
m_LocalScale: {x: 1, y: 1, z: 1}
321+
m_ConstrainProportionsScale: 0
322+
m_Children:
323+
- {fileID: 2241018089165465206}
324+
m_Father: {fileID: 9198371740320025251}
325+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
326+
m_AnchorMin: {x: 1, y: 1}
327+
m_AnchorMax: {x: 1, y: 1}
328+
m_AnchoredPosition: {x: -100, y: -150}
329+
m_SizeDelta: {x: 135, y: 135}
330+
m_Pivot: {x: 0.5, y: 0.5}
331+
--- !u!222 &4963341297820897998
332+
CanvasRenderer:
333+
m_ObjectHideFlags: 0
334+
m_CorrespondingSourceObject: {fileID: 0}
335+
m_PrefabInstance: {fileID: 0}
336+
m_PrefabAsset: {fileID: 0}
337+
m_GameObject: {fileID: 1407462270030453899}
338+
m_CullTransparentMesh: 1
339+
--- !u!114 &1800957339632104797
340+
MonoBehaviour:
341+
m_ObjectHideFlags: 0
342+
m_CorrespondingSourceObject: {fileID: 0}
343+
m_PrefabInstance: {fileID: 0}
344+
m_PrefabAsset: {fileID: 0}
345+
m_GameObject: {fileID: 1407462270030453899}
346+
m_Enabled: 1
347+
m_EditorHideFlags: 0
348+
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
349+
m_Name:
350+
m_EditorClassIdentifier:
351+
m_Material: {fileID: 0}
352+
m_Color: {r: 1, g: 1, b: 1, a: 1}
353+
m_RaycastTarget: 1
354+
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
355+
m_Maskable: 1
356+
m_OnCullStateChanged:
357+
m_PersistentCalls:
358+
m_Calls: []
359+
m_Sprite: {fileID: 21300000, guid: 742f52afe0a104f478d877db51a3321a, type: 3}
360+
m_Type: 0
361+
m_PreserveAspect: 1
362+
m_FillCenter: 1
363+
m_FillMethod: 4
364+
m_FillAmount: 1
365+
m_FillClockwise: 1
366+
m_FillOrigin: 0
367+
m_UseSpriteMesh: 0
368+
m_PixelsPerUnitMultiplier: 1
369+
--- !u!114 &6515757518578636049
370+
MonoBehaviour:
371+
m_ObjectHideFlags: 0
372+
m_CorrespondingSourceObject: {fileID: 0}
373+
m_PrefabInstance: {fileID: 0}
374+
m_PrefabAsset: {fileID: 0}
375+
m_GameObject: {fileID: 1407462270030453899}
376+
m_Enabled: 1
377+
m_EditorHideFlags: 0
378+
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
379+
m_Name:
380+
m_EditorClassIdentifier:
381+
m_Navigation:
382+
m_Mode: 3
383+
m_WrapAround: 0
384+
m_SelectOnUp: {fileID: 0}
385+
m_SelectOnDown: {fileID: 0}
386+
m_SelectOnLeft: {fileID: 0}
387+
m_SelectOnRight: {fileID: 0}
388+
m_Transition: 1
389+
m_Colors:
390+
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
391+
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
392+
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
393+
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
394+
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
395+
m_ColorMultiplier: 1
396+
m_FadeDuration: 0.1
397+
m_SpriteState:
398+
m_HighlightedSprite: {fileID: 0}
399+
m_PressedSprite: {fileID: 0}
400+
m_SelectedSprite: {fileID: 0}
401+
m_DisabledSprite: {fileID: 0}
402+
m_AnimationTriggers:
403+
m_NormalTrigger: Normal
404+
m_HighlightedTrigger: Highlighted
405+
m_PressedTrigger: Pressed
406+
m_SelectedTrigger: Selected
407+
m_DisabledTrigger: Disabled
408+
m_Interactable: 1
409+
m_TargetGraphic: {fileID: 1800957339632104797}
410+
m_OnClick:
411+
m_PersistentCalls:
412+
m_Calls: []
413+
--- !u!114 &1992971607706580651
414+
MonoBehaviour:
415+
m_ObjectHideFlags: 0
416+
m_CorrespondingSourceObject: {fileID: 0}
417+
m_PrefabInstance: {fileID: 0}
418+
m_PrefabAsset: {fileID: 0}
419+
m_GameObject: {fileID: 1407462270030453899}
420+
m_Enabled: 1
421+
m_EditorHideFlags: 0
422+
m_Script: {fileID: 11500000, guid: 92d67a88276d0af46ad591b6491e0e41, type: 3}
423+
m_Name:
424+
m_EditorClassIdentifier:
425+
_image: {fileID: 1800957339632104797}
426+
ScaleAmount: 0.8
427+
ScaleDuration: 0.2
428+
--- !u!114 &788048419891258573
429+
MonoBehaviour:
430+
m_ObjectHideFlags: 0
431+
m_CorrespondingSourceObject: {fileID: 0}
432+
m_PrefabInstance: {fileID: 0}
433+
m_PrefabAsset: {fileID: 0}
434+
m_GameObject: {fileID: 1407462270030453899}
435+
m_Enabled: 1
436+
m_EditorHideFlags: 0
437+
m_Script: {fileID: 11500000, guid: 6af342962724cd04e80c3696b6ff1d6b, type: 3}
438+
m_Name:
439+
m_EditorClassIdentifier:
440+
_button: {fileID: 6515757518578636049}
441+
_typeSettingWindow: 1
215442
--- !u!1 &1984822506943951241
216443
GameObject:
217444
m_ObjectHideFlags: 0
@@ -722,7 +949,8 @@ RectTransform:
722949
m_LocalPosition: {x: 0, y: 0, z: 0}
723950
m_LocalScale: {x: 1, y: 1, z: 1}
724951
m_ConstrainProportionsScale: 0
725-
m_Children: []
952+
m_Children:
953+
- {fileID: 2238740918733847248}
726954
m_Father: {fileID: 7489788225320588817}
727955
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
728956
m_AnchorMin: {x: 0, y: 0.8326667}

0 commit comments

Comments
 (0)