编队系统大更新 基本快搞好了 准备做敌人和分数

This commit is contained in:
FloatGaming
2025-11-10 22:41:13 +08:00
parent 7837c6adf0
commit 941b294fce
98 changed files with 8933 additions and 98 deletions
+29 -11
View File
@@ -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");