From de254f17edb6423d364e5da3812c28af5731afe6 Mon Sep 17 00:00:00 2001 From: 99jamin <99jamin56@gmail.com> Date: Thu, 27 Mar 2025 01:41:09 +0900 Subject: [PATCH 1/2] =?UTF-8?q?Do-59=20[Fix]=20=EC=98=A4=EB=94=94=EC=98=A4?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EB=A6=AC=EC=86=8C=EC=8A=A4=20=ED=8F=B4?= =?UTF-8?q?=EB=8D=94=EC=97=90=EC=84=9C=20=EC=BD=94=EB=93=9C=EB=A1=9C=20?= =?UTF-8?q?=EB=A1=9C=EB=93=9C,=20=EC=BD=94=EC=9D=B8=20=EA=B5=AC=EC=9E=85?= =?UTF-8?q?=20=EC=8B=9C=20=ED=95=9C=EB=B2=88=EC=97=90=20=EC=A6=9D=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Resources/Sounds.meta | 8 +++ Assets/Resources/{ => Sounds}/Click Sound.mp3 | Bin .../{ => Sounds}/Click Sound.mp3.meta | 0 Assets/Resources/{ => Sounds}/Close Sound.mp3 | Bin .../{ => Sounds}/Close Sound.mp3.meta | 0 .../Coins ADD Sound.wav} | Bin .../Coins ADD Sound.wav.meta} | 0 .../Coins Empty Sound.wav} | Bin .../Coins Empty Sound.wav.meta} | 0 .../Coins Remove Sound.wav} | Bin .../Coins Remove Sound.wav.meta} | 0 Assets/Resources/{ => Sounds}/Game bgm2.mp3 | Bin .../Resources/{ => Sounds}/Game bgm2.mp3.meta | 0 Assets/Resources/{ => Sounds}/lose sound.mp3 | Bin .../{ => Sounds}/lose sound.mp3.meta | 0 Assets/Resources/{ => Sounds}/main bgm.mp3 | Bin .../Resources/{ => Sounds}/main bgm.mp3.meta | 0 .../Resources/{ => Sounds}/stone sound 3.mp3 | Bin .../{ => Sounds}/stone sound 3.mp3.meta | 0 Assets/Resources/{ => Sounds}/win sound.mp3 | Bin .../Resources/{ => Sounds}/win sound.mp3.meta | 0 Assets/Script/Common/AudioManager.cs | 66 ++++++++++++------ Assets/Script/Common/CoinsPanelController.cs | 31 ++++---- .../Script/UI/PanelController/PanelManager.cs | 2 +- 24 files changed, 67 insertions(+), 40 deletions(-) create mode 100644 Assets/Resources/Sounds.meta rename Assets/Resources/{ => Sounds}/Click Sound.mp3 (100%) rename Assets/Resources/{ => Sounds}/Click Sound.mp3.meta (100%) rename Assets/Resources/{ => Sounds}/Close Sound.mp3 (100%) rename Assets/Resources/{ => Sounds}/Close Sound.mp3.meta (100%) rename Assets/Resources/{Coins_ADD_Sound.wav => Sounds/Coins ADD Sound.wav} (100%) rename Assets/Resources/{Coins_ADD_Sound.wav.meta => Sounds/Coins ADD Sound.wav.meta} (100%) rename Assets/Resources/{Coins_Empty_Sound.wav => Sounds/Coins Empty Sound.wav} (100%) rename Assets/Resources/{Coins_Empty_Sound.wav.meta => Sounds/Coins Empty Sound.wav.meta} (100%) rename Assets/Resources/{Coins_Remove_Sound.wav => Sounds/Coins Remove Sound.wav} (100%) rename Assets/Resources/{Coins_Remove_Sound.wav.meta => Sounds/Coins Remove Sound.wav.meta} (100%) rename Assets/Resources/{ => Sounds}/Game bgm2.mp3 (100%) rename Assets/Resources/{ => Sounds}/Game bgm2.mp3.meta (100%) rename Assets/Resources/{ => Sounds}/lose sound.mp3 (100%) rename Assets/Resources/{ => Sounds}/lose sound.mp3.meta (100%) rename Assets/Resources/{ => Sounds}/main bgm.mp3 (100%) rename Assets/Resources/{ => Sounds}/main bgm.mp3.meta (100%) rename Assets/Resources/{ => Sounds}/stone sound 3.mp3 (100%) rename Assets/Resources/{ => Sounds}/stone sound 3.mp3.meta (100%) rename Assets/Resources/{ => Sounds}/win sound.mp3 (100%) rename Assets/Resources/{ => Sounds}/win sound.mp3.meta (100%) diff --git a/Assets/Resources/Sounds.meta b/Assets/Resources/Sounds.meta new file mode 100644 index 0000000..faa8993 --- /dev/null +++ b/Assets/Resources/Sounds.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9fc9c29bf8c5aa040aaeace773096d1b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Click Sound.mp3 b/Assets/Resources/Sounds/Click Sound.mp3 similarity index 100% rename from Assets/Resources/Click Sound.mp3 rename to Assets/Resources/Sounds/Click Sound.mp3 diff --git a/Assets/Resources/Click Sound.mp3.meta b/Assets/Resources/Sounds/Click Sound.mp3.meta similarity index 100% rename from Assets/Resources/Click Sound.mp3.meta rename to Assets/Resources/Sounds/Click Sound.mp3.meta diff --git a/Assets/Resources/Close Sound.mp3 b/Assets/Resources/Sounds/Close Sound.mp3 similarity index 100% rename from Assets/Resources/Close Sound.mp3 rename to Assets/Resources/Sounds/Close Sound.mp3 diff --git a/Assets/Resources/Close Sound.mp3.meta b/Assets/Resources/Sounds/Close Sound.mp3.meta similarity index 100% rename from Assets/Resources/Close Sound.mp3.meta rename to Assets/Resources/Sounds/Close Sound.mp3.meta diff --git a/Assets/Resources/Coins_ADD_Sound.wav b/Assets/Resources/Sounds/Coins ADD Sound.wav similarity index 100% rename from Assets/Resources/Coins_ADD_Sound.wav rename to Assets/Resources/Sounds/Coins ADD Sound.wav diff --git a/Assets/Resources/Coins_ADD_Sound.wav.meta b/Assets/Resources/Sounds/Coins ADD Sound.wav.meta similarity index 100% rename from Assets/Resources/Coins_ADD_Sound.wav.meta rename to Assets/Resources/Sounds/Coins ADD Sound.wav.meta diff --git a/Assets/Resources/Coins_Empty_Sound.wav b/Assets/Resources/Sounds/Coins Empty Sound.wav similarity index 100% rename from Assets/Resources/Coins_Empty_Sound.wav rename to Assets/Resources/Sounds/Coins Empty Sound.wav diff --git a/Assets/Resources/Coins_Empty_Sound.wav.meta b/Assets/Resources/Sounds/Coins Empty Sound.wav.meta similarity index 100% rename from Assets/Resources/Coins_Empty_Sound.wav.meta rename to Assets/Resources/Sounds/Coins Empty Sound.wav.meta diff --git a/Assets/Resources/Coins_Remove_Sound.wav b/Assets/Resources/Sounds/Coins Remove Sound.wav similarity index 100% rename from Assets/Resources/Coins_Remove_Sound.wav rename to Assets/Resources/Sounds/Coins Remove Sound.wav diff --git a/Assets/Resources/Coins_Remove_Sound.wav.meta b/Assets/Resources/Sounds/Coins Remove Sound.wav.meta similarity index 100% rename from Assets/Resources/Coins_Remove_Sound.wav.meta rename to Assets/Resources/Sounds/Coins Remove Sound.wav.meta diff --git a/Assets/Resources/Game bgm2.mp3 b/Assets/Resources/Sounds/Game bgm2.mp3 similarity index 100% rename from Assets/Resources/Game bgm2.mp3 rename to Assets/Resources/Sounds/Game bgm2.mp3 diff --git a/Assets/Resources/Game bgm2.mp3.meta b/Assets/Resources/Sounds/Game bgm2.mp3.meta similarity index 100% rename from Assets/Resources/Game bgm2.mp3.meta rename to Assets/Resources/Sounds/Game bgm2.mp3.meta diff --git a/Assets/Resources/lose sound.mp3 b/Assets/Resources/Sounds/lose sound.mp3 similarity index 100% rename from Assets/Resources/lose sound.mp3 rename to Assets/Resources/Sounds/lose sound.mp3 diff --git a/Assets/Resources/lose sound.mp3.meta b/Assets/Resources/Sounds/lose sound.mp3.meta similarity index 100% rename from Assets/Resources/lose sound.mp3.meta rename to Assets/Resources/Sounds/lose sound.mp3.meta diff --git a/Assets/Resources/main bgm.mp3 b/Assets/Resources/Sounds/main bgm.mp3 similarity index 100% rename from Assets/Resources/main bgm.mp3 rename to Assets/Resources/Sounds/main bgm.mp3 diff --git a/Assets/Resources/main bgm.mp3.meta b/Assets/Resources/Sounds/main bgm.mp3.meta similarity index 100% rename from Assets/Resources/main bgm.mp3.meta rename to Assets/Resources/Sounds/main bgm.mp3.meta diff --git a/Assets/Resources/stone sound 3.mp3 b/Assets/Resources/Sounds/stone sound 3.mp3 similarity index 100% rename from Assets/Resources/stone sound 3.mp3 rename to Assets/Resources/Sounds/stone sound 3.mp3 diff --git a/Assets/Resources/stone sound 3.mp3.meta b/Assets/Resources/Sounds/stone sound 3.mp3.meta similarity index 100% rename from Assets/Resources/stone sound 3.mp3.meta rename to Assets/Resources/Sounds/stone sound 3.mp3.meta diff --git a/Assets/Resources/win sound.mp3 b/Assets/Resources/Sounds/win sound.mp3 similarity index 100% rename from Assets/Resources/win sound.mp3 rename to Assets/Resources/Sounds/win sound.mp3 diff --git a/Assets/Resources/win sound.mp3.meta b/Assets/Resources/Sounds/win sound.mp3.meta similarity index 100% rename from Assets/Resources/win sound.mp3.meta rename to Assets/Resources/Sounds/win sound.mp3.meta diff --git a/Assets/Script/Common/AudioManager.cs b/Assets/Script/Common/AudioManager.cs index 017cccf..0395904 100644 --- a/Assets/Script/Common/AudioManager.cs +++ b/Assets/Script/Common/AudioManager.cs @@ -1,21 +1,12 @@ -using UnityEngine; +using System.Collections.Generic; +using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.Timeline; public class AudioManager : Singleton { - [Header("BGM")] - [SerializeField] private AudioClip mainBgm; - [SerializeField] private AudioClip gameBgm; - [Header("SFX")] - [SerializeField] private AudioClip clickSound; - [SerializeField] private AudioClip closeSound; - [SerializeField] private AudioClip coinsAddSound; - [SerializeField] private AudioClip coinsEmptySound; - [SerializeField] private AudioClip coinsRemoveSound; - [SerializeField] private AudioClip winSound; - [SerializeField] private AudioClip loseSound; - [SerializeField] private AudioClip stoneSound; + private AudioClip mainBgm; + private AudioClip gameBgm; [HideInInspector] public AudioSource bgmAudioSource; // BGM을 위한 AudioSource private AudioSource sfxAudioSource; // SFX를 위한 AudioSource @@ -25,6 +16,9 @@ public class AudioManager : Singleton [HideInInspector]public bool isPlayBGM; [HideInInspector]public bool isPlaySFX; + private Dictionary audioClips = new Dictionary(); + + private void Awake() { base.Awake(); // 부모 클래스의 Awake 호출 @@ -32,6 +26,30 @@ public class AudioManager : Singleton // BGM과 SFX를 위한 별도의 AudioSource 생성 bgmAudioSource = gameObject.AddComponent(); sfxAudioSource = gameObject.AddComponent(); + + //Sounds폴더 내의 모든 오디오클립 로드 + AudioClip[] clips = Resources.LoadAll("Sounds"); + + foreach (AudioClip clip in clips) + { + audioClips[clip.name] = clip; + } + + Debug.Log($"총 {audioClips.Count}개의 오디오클립이 로드됨."); + + } + + public AudioClip GetAudioClip(string clipName) + { + if (audioClips.TryGetValue(clipName, out AudioClip clip)) + { + return clip; + } + else + { + Debug.LogError($"패널 '{clipName}'을 찾을 수 없습니다."); + } + return null; } // 시작 시 BGM을 자동으로 재생 @@ -39,12 +57,15 @@ public class AudioManager : Singleton { isPlayBGM = UserManager.IsPlayBGM; isPlaySFX = UserManager.IsPlaySFX; + PlayBGM(); } // 메인 BGM을 재생하는 함수 public void PlayMainBGM() { + mainBgm = GetAudioClip("main bgm"); + if (bgmAudioSource != null && mainBgm != null && !bgmAudioSource.isPlaying) { bgmAudioSource.clip = mainBgm; @@ -56,6 +77,8 @@ public class AudioManager : Singleton public void PlayGameBGM() { + gameBgm = GetAudioClip("Game bgm2"); + if (bgmAudioSource != null && gameBgm != null && !bgmAudioSource.isPlaying) { bgmAudioSource.clip = gameBgm; @@ -101,10 +124,9 @@ public class AudioManager : Singleton // 클릭 사운드(SFX) 재생 public void PlayClickSound() { - if (isPlaySFX && sfxAudioSource != null) { - sfxAudioSource.PlayOneShot(clickSound, sfxVolume); + sfxAudioSource.PlayOneShot(GetAudioClip("Click Sound"), sfxVolume); } } @@ -113,7 +135,7 @@ public class AudioManager : Singleton { if (isPlaySFX && sfxAudioSource != null) { - sfxAudioSource.PlayOneShot(closeSound, sfxVolume); + sfxAudioSource.PlayOneShot(GetAudioClip("Close Sound"), sfxVolume); } } @@ -121,7 +143,7 @@ public class AudioManager : Singleton { if (isPlaySFX && sfxAudioSource!=null) { - sfxAudioSource.PlayOneShot(coinsAddSound, sfxVolume); + sfxAudioSource.PlayOneShot(GetAudioClip("Coins ADD Sound"), sfxVolume); } } @@ -129,7 +151,7 @@ public class AudioManager : Singleton { if (isPlaySFX && sfxAudioSource!=null) { - sfxAudioSource.PlayOneShot(coinsEmptySound, sfxVolume); + sfxAudioSource.PlayOneShot(GetAudioClip("Coins Empty Sound"), sfxVolume); } } @@ -137,7 +159,7 @@ public class AudioManager : Singleton { if (isPlaySFX && sfxAudioSource!=null) { - sfxAudioSource.PlayOneShot(coinsRemoveSound, sfxVolume); + sfxAudioSource.PlayOneShot(GetAudioClip("Coins Remove Sound"), sfxVolume); } } @@ -145,7 +167,7 @@ public class AudioManager : Singleton { if (isPlaySFX && sfxAudioSource!=null) { - sfxAudioSource.PlayOneShot(loseSound, sfxVolume); + sfxAudioSource.PlayOneShot(GetAudioClip("lose sound"), sfxVolume); } } @@ -153,7 +175,7 @@ public class AudioManager : Singleton { if (isPlaySFX && sfxAudioSource!=null) { - sfxAudioSource.PlayOneShot(winSound, sfxVolume); + sfxAudioSource.PlayOneShot(GetAudioClip("win sound"), sfxVolume); } } @@ -161,7 +183,7 @@ public class AudioManager : Singleton { if (isPlaySFX && sfxAudioSource!=null) { - sfxAudioSource.PlayOneShot(stoneSound, sfxVolume); + sfxAudioSource.PlayOneShot(GetAudioClip("stone sound3"), sfxVolume); } } } \ No newline at end of file diff --git a/Assets/Script/Common/CoinsPanelController.cs b/Assets/Script/Common/CoinsPanelController.cs index 7d3c38e..1c61cb3 100644 --- a/Assets/Script/Common/CoinsPanelController.cs +++ b/Assets/Script/Common/CoinsPanelController.cs @@ -53,7 +53,7 @@ public class CoinsPanelController : MonoBehaviour _coinsRect.sizeDelta = new Vector2(100 + textLength * 30f, 100f); } - private void ChangeTextAnimation(bool isAdd, Action action) + private void ChangeTextAnimation(int coinAdd,bool isAdd, Action action) { float duration = 0.2f; float yPos = 40f; @@ -64,8 +64,8 @@ public class CoinsPanelController : MonoBehaviour if (isAdd) { var currentHeartCount = coinsCountText.text; - coinsCountText.text = (int.Parse(currentHeartCount) + 500).ToString(); - // 코인 텍스트 100씩 증가 + coinsCountText.text = (int.Parse(currentHeartCount) + coinAdd).ToString(); + // 코인 텍스트 증가 } else { @@ -98,22 +98,19 @@ public class CoinsPanelController : MonoBehaviour _canvasGroup.blocksRaycasts = false; //코인 중복 추가 방지 코드 Sequence sequence = DOTween.Sequence(); - // i += a 반복 횟수 조절, 100개 단위로 상승 차감 시 100으로 설정 - for (int i = 0; i < coinsCount; i+=500) + sequence.AppendCallback(() => { - sequence.AppendCallback(() => + ChangeTextAnimation(coinsCount,true, ()=> { - ChangeTextAnimation(true, ()=> - { - _coinsCount += 500; - action?.Invoke(); - }); - - // 효과음 재생 - AudioManager.Instance.PlayCoinsAddSound(); + _coinsCount += coinsCount; + action?.Invoke(); }); - sequence.AppendInterval(0.5f); - } + + // 효과음 재생 + AudioManager.Instance.PlayCoinsAddSound(); + }); + sequence.AppendInterval(0.5f); + sequence.OnComplete(() => { _canvasGroup.blocksRaycasts = true; //구매 후 클릭 활성화 @@ -152,7 +149,7 @@ public class CoinsPanelController : MonoBehaviour coinsRemoveImageObject.transform.DOScale(3f, 1f); coinsRemoveImageObject.GetComponent().DOFade(0f, 1f) - .OnComplete( ()=>ChangeTextAnimation(false, ()=> + .OnComplete( ()=>ChangeTextAnimation(0,false, ()=> { //감소된 코인 적용 _coinsCount -= 100; diff --git a/Assets/Script/UI/PanelController/PanelManager.cs b/Assets/Script/UI/PanelController/PanelManager.cs index cbfc844..6aada1c 100644 --- a/Assets/Script/UI/PanelController/PanelManager.cs +++ b/Assets/Script/UI/PanelController/PanelManager.cs @@ -262,7 +262,7 @@ public class PanelManager : MonoBehaviour shopItems.Add(shopItem); } } - GameManager.Instance.panelManager.OpenShopPanel(shopItems); + OpenShopPanel(shopItems); } //승급 패널 생성 From 0858dab05bf98170dc0b394a25d15278a7247135 Mon Sep 17 00:00:00 2001 From: 99jamin <99jamin56@gmail.com> Date: Thu, 27 Mar 2025 09:56:38 +0900 Subject: [PATCH 2/2] =?UTF-8?q?DO-59=20[Style]=20=EB=9D=84=EC=96=B4?= =?UTF-8?q?=EC=93=B0=EA=B8=B0=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Script/Common/CoinsPanelController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Script/Common/CoinsPanelController.cs b/Assets/Script/Common/CoinsPanelController.cs index 1c61cb3..b184828 100644 --- a/Assets/Script/Common/CoinsPanelController.cs +++ b/Assets/Script/Common/CoinsPanelController.cs @@ -53,7 +53,7 @@ public class CoinsPanelController : MonoBehaviour _coinsRect.sizeDelta = new Vector2(100 + textLength * 30f, 100f); } - private void ChangeTextAnimation(int coinAdd,bool isAdd, Action action) + private void ChangeTextAnimation(int coinAdd, bool isAdd, Action action) { float duration = 0.2f; float yPos = 40f;