编队系统大更新 基本快搞好了 准备做敌人和分数
This commit is contained in:
@@ -21,22 +21,39 @@ public class GameManager : MonoBehaviour
|
||||
[Header("Debug / Test")]
|
||||
public Text banflagTextUI;
|
||||
|
||||
private bool pauseSubscribed = false;
|
||||
|
||||
private void SubscribeToPauseManager()
|
||||
{
|
||||
if (pauseSubscribed) return;
|
||||
// prefer the singleton, but try to find in scene if null
|
||||
var pm = PauseManager.Instance ?? FindObjectOfType<PauseManager>();
|
||||
if (pm != null)
|
||||
{
|
||||
pm.OnPauseStateChanged += HandlePauseStateChanged;
|
||||
pauseSubscribed = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void UnsubscribeFromPauseManager()
|
||||
{
|
||||
if (!pauseSubscribed) return;
|
||||
var pm = PauseManager.Instance ?? FindObjectOfType<PauseManager>();
|
||||
if (pm != null)
|
||||
{
|
||||
pm.OnPauseStateChanged -= HandlePauseStateChanged;
|
||||
}
|
||||
pauseSubscribed = false;
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
// 订阅暂停管理器的事件
|
||||
if (PauseManager.Instance != null)
|
||||
{
|
||||
PauseManager.Instance.OnPauseStateChanged += HandlePauseStateChanged;
|
||||
}
|
||||
SubscribeToPauseManager();
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
// 取消订阅暂停管理器的事件
|
||||
if (PauseManager.Instance != null)
|
||||
{
|
||||
PauseManager.Instance.OnPauseStateChanged -= HandlePauseStateChanged;
|
||||
}
|
||||
UnsubscribeFromPauseManager();
|
||||
}
|
||||
|
||||
private void HandlePauseStateChanged(bool isPaused)
|
||||
@@ -282,7 +299,8 @@ public class GameManager : MonoBehaviour
|
||||
}
|
||||
|
||||
// Pause the system until Space pressed
|
||||
// Use PauseManager instead of directly setting Time.timeScale
|
||||
// Ensure we are subscribed before invoking pause so we track audio state
|
||||
SubscribeToPauseManager();
|
||||
PauseManager.Instance?.Pause(true);
|
||||
UpdateStatusOnConsole("Paused: press Space to start playback");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user