From 89343a7a0909e5244a3b69c4db1294de4536243b Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期一, 15 十二月 2025 18:15:22 +0800
Subject: [PATCH] 262 幻境阁系统-客户端 新增仅适用武将解锁的头像和形象的红点移除规则
---
Main/System/Sound/SoundPlayer.cs | 63 ++++++++++++++++++++++++++-----
1 files changed, 53 insertions(+), 10 deletions(-)
diff --git a/Main/System/Sound/SoundPlayer.cs b/Main/System/Sound/SoundPlayer.cs
index ad7e910..d8c553f 100644
--- a/Main/System/Sound/SoundPlayer.cs
+++ b/Main/System/Sound/SoundPlayer.cs
@@ -3,6 +3,7 @@
using UnityEngine;
using System;
+using Cysharp.Threading.Tasks;
public class SoundPlayer : MonoBehaviour
{
@@ -12,17 +13,23 @@
static readonly List<int> commonUseAudioSet = new List<int>() { defaultClickPositiveAudio, defaultClickNegativeAudio, 3, 4 };
static SoundPlayer m_Instance = null;
+ private static readonly object m_Lock = new object();
public static SoundPlayer Instance
{
get
{
if (m_Instance == null)
{
- CreateSoundPlayer();
+ lock (m_Lock)
+ {
+ if (m_Instance == null)
+ {
+ CreateSoundPlayer();
+ }
+ }
}
return m_Instance;
}
-
}
[SerializeField] AudioSource m_MusicAudioSource;
@@ -34,6 +41,19 @@
Dictionary<int, AudioClip> commonUseAudioClipDict = new Dictionary<int, AudioClip>();
Dictionary<int, AudioClip> musicAudioClipDict = new Dictionary<int, AudioClip>();
+
+ void Awake()
+ {
+ if (m_Instance == null)
+ {
+ m_Instance = this;
+ DontDestroyOnLoad(gameObject);
+ }
+ else if (m_Instance != this)
+ {
+ Destroy(gameObject);
+ }
+ }
public event Action<bool> muteEvent;
bool m_Mute = false;
@@ -52,13 +72,24 @@
}
}
+ public void Init()
+ {
+ //鍒濆鍖栫敤
+ }
+
public static void CreateSoundPlayer()
{
+ if (m_Instance != null)
+ {
+ return;
+ }
+
var gameObject = GameObject.Instantiate(BuiltInLoader.LoadPrefab("SoundPlayer"));
m_Instance = gameObject.GetComponent<SoundPlayer>();
m_Instance.name = "SoundPlayer";
m_Instance.SetActive(true);
DontDestroyOnLoad(gameObject);
+ Debug.Log("CreateSoundPlayer");
}
public void PlayBackGroundMusic(int _audioId)
@@ -132,6 +163,11 @@
StartCoroutine(Co_BackGroundMusicFadeOut());
}
+ public bool IsPlayBackGroundMuisic()
+ {
+ return m_MusicAudioSource.isPlaying;
+ }
+
public void UnLoadMusic(int _exclude)
{
if (AssetSource.isUseAssetBundle && DeviceUtility.IsLowMemory())
@@ -154,6 +190,13 @@
}
}
}
+ }
+
+ //鐐瑰嚮鎸夐挳鎾斁鐗规晥鐨勬儏鍐碉紝鐐瑰嚮闊充箰浼氳鐩栫壒鏁堥煶鏁堬紝瀵艰嚧鐗规晥闊虫晥涓嶆挱鏀撅紝鎵�浠ュ欢杩熸挱鏀�
+ public async UniTask PlayUIAudioDelay(int _audioId)
+ {
+ await UniTask.Delay(1);
+ PlayUIAudio(_audioId);
}
public void PlayUIAudio(int _audioId)
@@ -312,14 +355,14 @@
}
}
- //public void PlayLoginMusic()
- //{
- // var loginMusic = BuiltInLoader.LoadMusic("Music_Login");
- // if (!m_MusicAudioSource.isPlaying || m_MusicAudioSource.clip != loginMusic)
- // {
- // StartCoroutine(Co_BackGroundMusicFadeOutIn(loginMusic, false));
- // }
- //}
+ public void PlayLoginMusic()
+ {
+ var loginMusic = BuiltInLoader.LoadMusic("login");
+ if (!m_MusicAudioSource.isPlaying || m_MusicAudioSource.clip != loginMusic)
+ {
+ StartCoroutine(Co_BackGroundMusicFadeOutIn(loginMusic, false));
+ }
+ }
//private void LateUpdate()
//{
--
Gitblit v1.8.0