diff --git a/Assets/KSH/ReHousing.unity b/Assets/KSH/ReHousing.unity index cde651e5..8192dd22 100644 --- a/Assets/KSH/ReHousing.unity +++ b/Assets/KSH/ReHousing.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e9daf08bc580a9cb7b3458cc1aaa4a227710db9eb5fcb2838a14eeff8938a22 -size 608530 +oid sha256:f35a1d1afc926f35841a88b2c5280e71549cc9e060978a737bcd5c22fca092ef +size 608508 diff --git a/Assets/LYM/Scripts/PauseButton.cs b/Assets/LYM/Scripts/PauseButton.cs index d0df4f14..9a463e2f 100644 --- a/Assets/LYM/Scripts/PauseButton.cs +++ b/Assets/LYM/Scripts/PauseButton.cs @@ -6,6 +6,7 @@ public class PauseButton : MonoBehaviour { public void OnClicked() { + //todo: 게임 일시정지 필요 var menuPanel = GameManager.Instance.PanelManager.GetPanel("MenuPanel"); menuPanel.GetComponent().Show(); } diff --git a/Assets/LYM/Scripts/PlayerPrefsManager.cs b/Assets/LYM/Scripts/PlayerPrefsManager.cs new file mode 100644 index 00000000..04676545 --- /dev/null +++ b/Assets/LYM/Scripts/PlayerPrefsManager.cs @@ -0,0 +1,31 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public static class PlayerPrefsManager +{ + //사운드 설정 저장 + public static void SaveSettings(float sfxVolume, float bgmVolume, bool sfxIsActive, bool bgmIsActive) + { + //볼륨 + sfxVolume = Mathf.Clamp01(sfxVolume); + bgmVolume = Mathf.Clamp01(bgmVolume); + PlayerPrefs.SetFloat("SFXVolume", sfxVolume); + PlayerPrefs.SetFloat("BGMVolume", bgmVolume); + //뮤트 + PlayerPrefs.SetInt("SFXIsActive", sfxIsActive ? 1 : 0); + PlayerPrefs.SetInt("BGMIsActive", bgmIsActive ? 1 : 0); + //즉시 저장 + PlayerPrefs.Save(); + } + + //사운드 설정 불러오기 + public static (float sfxVolume, float bgmVolume, bool sfxIsActive, bool bgmIsActive) LoadSettings() + { + var sfxVolume = PlayerPrefs.GetFloat("SFXVolume", 1f); + var bgmVolume = PlayerPrefs.GetFloat("BGMVolume", 1f); + var sfxIsActive = PlayerPrefs.GetInt("SFXIsActive", 1) == 1; + var bgmIsActive = PlayerPrefs.GetInt("BGMIsActive", 1) == 1; + return (sfxVolume, bgmVolume, sfxIsActive, bgmIsActive); + } +} diff --git a/Assets/LYM/Scripts/PlayerPrefsManager.cs.meta b/Assets/LYM/Scripts/PlayerPrefsManager.cs.meta new file mode 100644 index 00000000..962050fb --- /dev/null +++ b/Assets/LYM/Scripts/PlayerPrefsManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 083089baf7a258646917ef5c4fc63979 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/LYM/Scripts/SettingsPanelController.cs b/Assets/LYM/Scripts/SettingsPanelController.cs index f9e551dd..a07c56c4 100644 --- a/Assets/LYM/Scripts/SettingsPanelController.cs +++ b/Assets/LYM/Scripts/SettingsPanelController.cs @@ -19,16 +19,11 @@ public class SettingsPanelController : PanelController private void InitSettings() { - //todo:저장된 데이터를 가져오게 해야함 - var sfxIsActive = true; - var bgmIsActive = true; + var (sfxVolume, bgmVolume, sfxIsActive, bgmIsActive) = PlayerPrefsManager.LoadSettings(); sfxSliderButton.Init(sfxIsActive); bgmSliderButton.Init(bgmIsActive); - //todo:저장된 데이터를 가져오게 해야함 - var sfxSliderValue = 1f; - var bgmSliderValue = 1f; - sfxSlider.value = sfxSliderValue; - bgmSlider.value = bgmSliderValue; + sfxSlider.value = sfxVolume; + bgmSlider.value = bgmVolume; Show(); } @@ -73,6 +68,7 @@ public class SettingsPanelController : PanelController public void OnCloseButtonClicked() { //todo: 설정 저장 필요 + PlayerPrefsManager.SaveSettings(sfxSlider.value, bgmSlider.value, sfxSliderButton.IsActive, bgmSliderButton.IsActive); Hide(); } } diff --git a/Assets/LYM/UIPrefabs/ChatWindowPanel.prefab b/Assets/LYM/UIPrefabs/ChatWindowPanel.prefab index f86bea73..e3a419b7 100644 --- a/Assets/LYM/UIPrefabs/ChatWindowPanel.prefab +++ b/Assets/LYM/UIPrefabs/ChatWindowPanel.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d0dd5136d0c5a2a3c6c23457e24b5ee78bfe82d8ee178afa3ef46f3f3faa9c12 -size 8950 +oid sha256:205ca206bfe8647add67b21d59885cb1d5009e67ced9b17f0a65bea7cbf1335a +size 9006 diff --git a/Assets/LYM/UIPrefabs/DungeonMainUIPanel.prefab b/Assets/LYM/UIPrefabs/DungeonMainUIPanel.prefab index 7c97d5f5..6216994d 100644 --- a/Assets/LYM/UIPrefabs/DungeonMainUIPanel.prefab +++ b/Assets/LYM/UIPrefabs/DungeonMainUIPanel.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cb56d67666cd36057197fb841f62ccee42827f6b9839fa09a30614ea8b18a150 -size 37355 +oid sha256:575ade64273d56118e3135d1c87db6cdcc0c393a76b293ca31976f6125343ec8 +size 38392 diff --git a/Assets/LYM/UIPrefabs/HousingMainUIPanel.prefab b/Assets/LYM/UIPrefabs/HousingMainUIPanel.prefab index 247429d3..3bc34aa1 100644 --- a/Assets/LYM/UIPrefabs/HousingMainUIPanel.prefab +++ b/Assets/LYM/UIPrefabs/HousingMainUIPanel.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dbc82e23a428a4c5e04b7c2bdaee18ce16397615dfc8495a3fd1b01522c85ca1 -size 58454 +oid sha256:092572922bcd0070880acf64466841b5f14f7a899f75420fb949fe792add51f5 +size 59494 diff --git a/Assets/LYM/UIPrefabs/Interaction Panel.prefab b/Assets/LYM/UIPrefabs/Interaction Panel.prefab index d303e79b..b76fc066 100644 --- a/Assets/LYM/UIPrefabs/Interaction Panel.prefab +++ b/Assets/LYM/UIPrefabs/Interaction Panel.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:15b8a4af122a66db38fe79a73018541f2ceb494b3d7288a39910ba694825190e +oid sha256:1578db2b265e4dd711eba554ffa52e93aeffd009b9f6cc0b9e5b05f6a33acb0c size 9514 diff --git a/Assets/LYM/UIPrefabs/JoystickPanel.prefab b/Assets/LYM/UIPrefabs/JoystickPanel.prefab index 1274f933..9a262d49 100644 --- a/Assets/LYM/UIPrefabs/JoystickPanel.prefab +++ b/Assets/LYM/UIPrefabs/JoystickPanel.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f39d998ec002e9d89b6ba9e29ec29f3ce1cf44c76fd3d02c79b4e2671aba241 +oid sha256:dffbb3e89f7996f845c1c6a5188bde9a02da883c22b04c6b0aaa338665b78a24 size 22481 diff --git a/Assets/LYM/UIPrefabs/MainUIPanel.prefab b/Assets/LYM/UIPrefabs/MainUIPanel.prefab index cf067981..d59da3a6 100644 --- a/Assets/LYM/UIPrefabs/MainUIPanel.prefab +++ b/Assets/LYM/UIPrefabs/MainUIPanel.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:09f6c3d59bfd8748b6dd2fbf85f729393f83b351de2c27b54e1b91084fb3b4a6 -size 22996 +oid sha256:4892e2ec3cb6e752e83ae7c8639cd0480d924207b9018bbb98ca3ae3c757b9e0 +size 22787 diff --git a/Assets/Resources/Prefabs/Panels/MenuPanel.prefab b/Assets/Resources/Prefabs/Panels/MenuPanel.prefab index 6a72410f..ca14b6d4 100644 --- a/Assets/Resources/Prefabs/Panels/MenuPanel.prefab +++ b/Assets/Resources/Prefabs/Panels/MenuPanel.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c7b2f159912f7b5fc29c8106ab04b5a07b3fe9973f3112bfa51ed5abf6e592c6 +oid sha256:4f02b03aa2c2d2c24d7c4b275f9f5f42814f7ce678b9195b272e916c9784775b size 33461 diff --git a/Assets/Resources/Prefabs/Panels/PopupPanel.prefab b/Assets/Resources/Prefabs/Panels/PopupPanel.prefab index 5fcf8a2a..7333bee8 100644 --- a/Assets/Resources/Prefabs/Panels/PopupPanel.prefab +++ b/Assets/Resources/Prefabs/Panels/PopupPanel.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2986b655092c6503fbf0a724ca144353cd8dbd5d1cee38a59720d8109b12e828 +oid sha256:ca3cb7132e5d70b4e5aefcaeaf99d150d9f3f086996fb957154946c0f7f15f49 size 27212 diff --git a/Assets/Resources/Prefabs/Panels/SettingsPanel.prefab b/Assets/Resources/Prefabs/Panels/SettingsPanel.prefab index 9ffd4960..b97f2b3d 100644 --- a/Assets/Resources/Prefabs/Panels/SettingsPanel.prefab +++ b/Assets/Resources/Prefabs/Panels/SettingsPanel.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:314a1c197e357d2e51e7eee022cc0af6a436c71bdd296d3a97f41a71ffbe52be +oid sha256:f20de458bb836ba0ddf006879a513729d3b827580e7713dbc3eb95236e2ead1c size 65124 diff --git a/Assets/Scripts/Common/GameUtility/GameSound.cs b/Assets/Scripts/Common/GameUtility/GameSound.cs index 13159b5d..0ef8b6a7 100644 --- a/Assets/Scripts/Common/GameUtility/GameSound.cs +++ b/Assets/Scripts/Common/GameUtility/GameSound.cs @@ -1,3 +1,4 @@ +using System; using UnityEngine; using System.Collections; using System.Collections.Generic; @@ -95,7 +96,7 @@ public partial class GameManager if (beamSFX != null) SafeSoundManager?.LoadAudioClip("Beam", beamSFX); // 저장된 볼륨 설정 로드 - // LoadVolumeSettings(); + LoadVolumeSettings(); // 현재 씬에 맞는 배경음 재생 string currentSceneName = UnityEngine.SceneManagement.SceneManager.GetActiveScene().name; @@ -132,16 +133,18 @@ public partial class GameManager } // PlayerPrefs에 저장된 볼륨 설정 불러오기 - // private void LoadVolumeSettings() - // { - // float bgmVolume = PlayerPrefs.GetFloat("BGMVolume", 1.0f); - // float sfxVolume = PlayerPrefs.GetFloat("SFXVolume", 1.0f); - // - // - // SafeSoundManager?.SetBGMVolume(bgmVolume); - // SafeSoundManager?.SetSFXVolume(sfxVolume); - // - // } + private void LoadVolumeSettings() + { + // float bgmVolume = PlayerPrefs.GetFloat("BGMVolume", 1.0f); + // float sfxVolume = PlayerPrefs.GetFloat("SFXVolume", 1.0f); + // + // + // SafeSoundManager?.SetBGMVolume(bgmVolume); + // SafeSoundManager?.SetSFXVolume(sfxVolume); + var (sfxVolume, bgmVolume, sfxIsActive, bgmIsActive) = PlayerPrefsManager.LoadSettings(); + SafeSoundManager?.SetSFXVolume(sfxIsActive? sfxVolume : 0); + SafeSoundManager?.SetBGMVolume(bgmIsActive? bgmVolume : 0); + } #endregion