From 9b522b99dce2a24f13c21837daee328f56c02a4f Mon Sep 17 00:00:00 2001 From: VuNgocHaiC7 Date: Thu, 14 May 2026 22:35:41 +0700 Subject: [PATCH] DlgSetting prefab --- .../Asssets/Icon/icon_checked.png | Bin 0 -> 500 bytes .../Asssets/Icon/icon_checked.png.meta | 153 ++++++++++++++++ .../PerfectWorld/Prefab/UI/DlgSetting.prefab | Bin 143055 -> 271221 bytes .../Scripts/UI/Dialogs/Setting.meta | 8 + .../Scripts/UI/Dialogs/Setting/DlgSetting.cs | 107 +++++++++++ .../UI/Dialogs/Setting/DlgSetting.cs.meta | 2 + .../UI/Dialogs/Setting/SettingSound.cs | 173 ++++++++++++++++++ .../UI/Dialogs/Setting/SettingSound.cs.meta | 2 + 8 files changed, 445 insertions(+) create mode 100644 Assets/PerfectWorld/Asssets/Icon/icon_checked.png create mode 100644 Assets/PerfectWorld/Asssets/Icon/icon_checked.png.meta create mode 100644 Assets/PerfectWorld/Scripts/UI/Dialogs/Setting.meta create mode 100644 Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/DlgSetting.cs create mode 100644 Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/DlgSetting.cs.meta create mode 100644 Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/SettingSound.cs create mode 100644 Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/SettingSound.cs.meta diff --git a/Assets/PerfectWorld/Asssets/Icon/icon_checked.png b/Assets/PerfectWorld/Asssets/Icon/icon_checked.png new file mode 100644 index 0000000000000000000000000000000000000000..2381ef5dd102f201c30057bc1c34b6319e101bc4 GIT binary patch literal 500 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8gw!3HFS-uA08Ffi`+ba4!^=uMham7~Nw^FVuJ zW1?}`ULGE9MxdJi|C5w12k^16wRu`RS!ZZqkOC1^y8eKRjg8G!=h1x$2?-}j35k7B ziQ@?q8lPG`*>pfJEg=DD0?-Jh;}1?=Sm40Uy>Lb&5I__%N!~en;J^oYb~Crjyj=$Q zI&DpdMb9O}^e{>Ce7Y7Sv(DQ!>2a4q#g0R+Kzks@0i}u}g_xNShw02(1hlzgK~9Vy z8-KV(0!(vL>qmW{lMR4)a>geGXXTGB5?(tFF)}kVgB|45XEPzZX5)={ZOVrX4vF%? zjZSiWydUW7g7kz0i*pAKC@_l}A6&$rjimL^v^(<*3=ArOL9yrP($2<4Md4^<>8XAC z&XYyW#C3s=iD)?=01PBhSOY`h&~!%!LC&rn_8v(J;c3D~Q{X|NH084y&^#4~$towl xD*ixrkW;@+4#Skn6reZf0hPq4A44*cnW6lkb;-l7nGZoWc)I$ztaD0e0s!s@tAYRk literal 0 HcmV?d00001 diff --git a/Assets/PerfectWorld/Asssets/Icon/icon_checked.png.meta b/Assets/PerfectWorld/Asssets/Icon/icon_checked.png.meta new file mode 100644 index 0000000000..24f56007b2 --- /dev/null +++ b/Assets/PerfectWorld/Asssets/Icon/icon_checked.png.meta @@ -0,0 +1,153 @@ +fileFormatVersion: 2 +guid: 7fe023a7136a94d4393d0a3a4901efdb +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 2 + 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: icon_checked_0 + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 22 + height: 16 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: 0 + bones: [] + spriteID: 022fbaeaf7465384ba66ec58aa317a41 + internalID: -1390858318 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 1f5988c15a6a16c488898c9526378f0a + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: + icon_checked_0: -1390858318 + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Prefab/UI/DlgSetting.prefab b/Assets/PerfectWorld/Prefab/UI/DlgSetting.prefab index fc6c3230ccdf3d238bf4a78919473ada0767b9bc..c70f82f4fc7af3d854fabd7591d2f9682bbfb213 100644 GIT binary patch literal 271221 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 W0RsjM7%*VKfB^#r3>YwA;5INW?EnD) diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/Setting.meta b/Assets/PerfectWorld/Scripts/UI/Dialogs/Setting.meta new file mode 100644 index 0000000000..c2da35be60 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/Setting.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4b6e00c0a650e9446b61783946078df6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/DlgSetting.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/DlgSetting.cs new file mode 100644 index 0000000000..055e0d062b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/DlgSetting.cs @@ -0,0 +1,107 @@ +using BrewMonster.UI; +using System.Collections; +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +namespace BrewMonster +{ + public class DlgSetting : AUIDialog + { + [Header("Box Button")] + [SerializeField] private Button btn_system; + [SerializeField] private Button btn_interface; + [SerializeField] private Button btn_setting; + [SerializeField] private Button btn_sound; + [SerializeField] private Button btn_default; + [SerializeField] private Button btn_confirm; + [SerializeField] private Button btn_close; + + [Header("Content")] + [SerializeField] private GameObject content_interface; + [SerializeField] private GameObject content_sound; + + [Header("Sprite")] + [SerializeField] private Sprite tab_active; + [SerializeField] private Sprite tab_unactive; + + [Header("Tab Text Color")] + [SerializeField] private Color activeTextColor = Color.white; + [SerializeField] private Color inactiveTextColor = Color.white; + + private Button[] tabButtons; + + public override void Awake() + { + tabButtons = new[] + { + btn_system, + btn_interface, + btn_setting, + btn_sound + }; + } + + public override void OnEnable() + { + btn_system.onClick.AddListener(OnBtnSystem); + btn_interface.onClick.AddListener(OnBtnInterface); + btn_setting.onClick.AddListener(OnBtnSetting); + btn_sound.onClick.AddListener(OnBtnSound); + + } + + public override void OnDisable() + { + btn_system.onClick.RemoveListener(OnBtnSystem); + btn_interface.onClick.RemoveListener(OnBtnInterface); + btn_setting.onClick.RemoveListener(OnBtnSetting); + btn_sound.onClick.RemoveListener(OnBtnSound); + } + + private void OnBtnSystem() + { + SetActiveTab(btn_system); + } + + private void OnBtnInterface() + { + SetActiveTab(btn_interface); + content_interface.SetActive(true); + content_sound.SetActive(false); + } + + private void OnBtnSetting() + { + SetActiveTab(btn_setting); + } + + private void OnBtnSound() + { + SetActiveTab(btn_sound); + content_interface.SetActive(false); + content_sound.SetActive(true); + } + + private void SetActiveTab(Button activeButton) + { + foreach(Button button in tabButtons) + { + if (button == null) + continue; + + Image image = button.GetComponent(); + if(image != null) + { + image.sprite = button == activeButton ? tab_active : tab_unactive; + } + + TMP_Text text = button.GetComponentInChildren(); + if(text != null) + { + text.color = button == activeButton ? activeTextColor : inactiveTextColor; + } + } + } + } +} diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/DlgSetting.cs.meta b/Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/DlgSetting.cs.meta new file mode 100644 index 0000000000..8d2f72126b --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/DlgSetting.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5595fd2d80a58034bb63e5c36da3bd4a \ No newline at end of file diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/SettingSound.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/SettingSound.cs new file mode 100644 index 0000000000..5b44af94f9 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/SettingSound.cs @@ -0,0 +1,173 @@ +using BrewMonster.Assets.PerfectWorld.Scripts.UI; +using BrewMonster.Common; +using BrewMonster.Managers; +using BrewMonster.Scripts; +using BrewMonster.Scripts.Managers; +using BrewMonster.UI; +using CSNetwork.GPDataType; +using Cysharp.Threading.Tasks.Triggers; +using PerfectWorld.Scripts.Managers; +using System; +using System.Collections; +using System.Collections.Generic; +using TMPro; +using UnityEngine; +using UnityEngine.EventSystems; +using UnityEngine.UI; + +namespace BrewMonster +{ + public class SettingSound : MonoBehaviour + { + [Header("Sound Settings")] + [SerializeField] private Toggle tog_bgm; + [SerializeField] private Toggle tog_sfx; + [SerializeField] private Toggle tog_master; + [SerializeField] private RectTransform handle_bmg; + [SerializeField] private RectTransform handle_sfx; + [SerializeField] private RectTransform handle_master; + [SerializeField] private TextMeshProUGUI txt_bgm; + [SerializeField] private TextMeshProUGUI txt_sfx; + [SerializeField] private TextMeshProUGUI txt_master; + + [Header("Sprite")] + [SerializeField] private Sprite switch_off; + [SerializeField] private Sprite switch_on; + + [Header("Switch Config")] + private float slideDuration = 0.15f; + private float handleOffPositionX = -88.3f; + private float handleOnPositionX = -27.8f; + private float textOnPositionX = -27.8f; + private float textOffPositionX = 30f; + private Color textOnColor = new Color(0.96f, 0.84f, 0.61f); + private Color textOffColor = new Color(0.6f, 0.6f, 0.6f); + + private Coroutine bgmCoroutine; + private Coroutine sfxCoroutine; + private Coroutine masterCoroutine; + + private void OnEnable() + { + UpdateSwitchInstant(tog_bgm, handle_bmg, txt_bgm); + UpdateSwitchInstant(tog_sfx, handle_sfx, txt_sfx); + UpdateSwitchInstant(tog_master, handle_master, txt_master); + + tog_bgm.onValueChanged.AddListener(OnBgmChanged); + tog_sfx.onValueChanged.AddListener(OnSfxChanged); + tog_master.onValueChanged.AddListener(OnMasterChanged); + } + + private void OnDisable() + { + tog_bgm.onValueChanged.RemoveListener(OnBgmChanged); + tog_sfx.onValueChanged.RemoveListener(OnSfxChanged); + tog_master.onValueChanged.RemoveListener(OnMasterChanged); + } + + private void OnBgmChanged(bool isOn) + { + if (bgmCoroutine != null) + { + StopCoroutine(bgmCoroutine); + } + bgmCoroutine = StartCoroutine(SlideSwitchCoroutine(tog_bgm, handle_bmg, txt_bgm)); + // TODO: Add logic to change BGM volume or mute state + } + + private void OnSfxChanged(bool isOn) + { + if (sfxCoroutine != null) + { + StopCoroutine(sfxCoroutine); + } + sfxCoroutine = StartCoroutine(SlideSwitchCoroutine(tog_sfx, handle_sfx, txt_sfx)); + // TODO: Add logic to change SFX volume or mute state + } + + private void OnMasterChanged(bool isOn) + { + if (masterCoroutine != null) + { + StopCoroutine(masterCoroutine); + } + masterCoroutine = StartCoroutine(SlideSwitchCoroutine(tog_master, handle_master, txt_master)); + // TODO: Add logic to change Master volume or mute state + } + + private void UpdateSwitchInstant(Toggle toggle, RectTransform handle, TextMeshProUGUI statusText) + { + bool isOn = toggle.isOn; + // Logic circle switch + float handleTargetX = isOn ? handleOnPositionX : handleOffPositionX; + handle.anchoredPosition = new Vector2(handleTargetX, handle.anchoredPosition.y); + + // Logic text switch + if (statusText != null) + { + float textTargetX = isOn ? textOnPositionX : textOffPositionX; + statusText.rectTransform.anchoredPosition = new Vector2(textTargetX, statusText.rectTransform.anchoredPosition.y); + statusText.text = isOn ? "Mở" : "Tắt"; + statusText.color = isOn ? textOnColor : textOffColor; + } + + // Logic background switch + if (handle.TryGetComponent(out var handleImage)) + { + handleImage.sprite = isOn ? switch_on : switch_off; + } + } + + private IEnumerator SlideSwitchCoroutine(Toggle toggle, RectTransform handle, TextMeshProUGUI statusText) + { + bool isOn = toggle.isOn; + + // Get info target + float handleTargetX = isOn ? handleOnPositionX : handleOffPositionX; + float handleStartX = handle.anchoredPosition.x; + + float textTargetX = isOn ? textOnPositionX : textOffPositionX; + float textStartX = statusText != null ? statusText.rectTransform.anchoredPosition.x : 0f; + + // Update text and background immediately + if (statusText != null) + { + statusText.text = isOn ? "Mở" : "Tắt"; + statusText.color = isOn ? textOnColor : textOffColor; + } + + if (handle.TryGetComponent(out var handleImage)) + { + handleImage.sprite = isOn ? switch_on : switch_off; + } + + float time = 0f; + while (time < slideDuration) + { + time += Time.deltaTime; + float t = Mathf.Clamp01(time / slideDuration); + float smoothT = Mathf.SmoothStep(0f, 1f, t); + + // Move handle + float currentHandleX = Mathf.Lerp(handleStartX, handleTargetX, smoothT); + handle.anchoredPosition = new Vector2(currentHandleX, handle.anchoredPosition.y); + + // Move text + if (statusText != null) + { + float currentTextX = Mathf.Lerp(textStartX, textTargetX, smoothT); + statusText.rectTransform.anchoredPosition = new Vector2(currentTextX, statusText.rectTransform.anchoredPosition.y); + } + + yield return null; + } + + // Position it correctly in the last frame to avoid errors. + handle.anchoredPosition = new Vector2(handleTargetX, handle.anchoredPosition.y); + if (statusText != null) + { + statusText.rectTransform.anchoredPosition = new Vector2(textTargetX, statusText.rectTransform.anchoredPosition.y); + } + } + } +} diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/SettingSound.cs.meta b/Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/SettingSound.cs.meta new file mode 100644 index 0000000000..8afda748d6 --- /dev/null +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/Setting/SettingSound.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 405c79bf7a84c8d499a6733998a87b79 \ No newline at end of file