DEG-136-ui-관련-프리팹-최적화 #25

Merged
Lim0_C merged 5 commits from DEG-136-ui-관련-프리팹-최적화 into main 2025-05-12 00:30:28 +00:00
15 changed files with 76 additions and 34 deletions

BIN
Assets/KSH/ReHousing.unity (Stored with Git LFS)

Binary file not shown.

View File

@ -6,6 +6,7 @@ public class PauseButton : MonoBehaviour
{
public void OnClicked()
{
//todo: 게임 일시정지 필요
var menuPanel = GameManager.Instance.PanelManager.GetPanel("MenuPanel");
menuPanel.GetComponent<MenuPanelController>().Show();
}

View File

@ -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);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 083089baf7a258646917ef5c4fc63979
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -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();
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Assets/LYM/UIPrefabs/JoystickPanel.prefab (Stored with Git LFS)

Binary file not shown.

BIN
Assets/LYM/UIPrefabs/MainUIPanel.prefab (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -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