gameplay所有基本功能都装了,加入了全局警告。加入飘字等各种东西。

This commit is contained in:
2026-02-21 00:20:03 +08:00
parent 9f7c1c57b7
commit 14fb281d6f
254 changed files with 102927 additions and 9427 deletions
@@ -1,10 +1,11 @@
using System.IO;
using System.IO;
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.Networking;
using UnityEngine.SceneManagement;
using UnityEngineInternal;
using Bansonic;
public class GameManager : MonoBehaviour
{
@@ -766,10 +767,20 @@ public class GameManager : MonoBehaviour
// Kick off UI canvas fade-out when start requested
StartFadeStartCanvas();
// Wait for readyLetsGo sequence if playing
if (readyLetsGo != null && readyLetsGo.IsSequencePlaying)
{
while (readyLetsGo.IsSequencePlaying)
{
yield return null;
}
}
gNotice.recommendation.display("游戏开始!");
// Resume using PauseManager
PauseManager.Instance?.Pause(false);
// Use scaled wait so pause (Escape) will pause this delay
yield return new WaitForSeconds(Mathf.Max(0f, playbackStartDelay));
// yield return new WaitForSeconds(Mathf.Max(0f, playbackStartDelay));
// Start spawning using the parsed beatmap
if (beatmapManager.beatmap != null)
@@ -817,10 +828,20 @@ public class GameManager : MonoBehaviour
// Kick off UI canvas fade-out when start requested
StartFadeStartCanvas();
// Wait for readyLetsGo sequence if playing
if (readyLetsGo != null && readyLetsGo.IsSequencePlaying)
{
while (readyLetsGo.IsSequencePlaying)
{
yield return null;
}
}
gNotice.recommendation.display("游戏开始!");
// Resume
PauseManager.Instance?.Pause(false);
// Use scaled wait so pause (Escape) will pause this delay
yield return new WaitForSeconds(Mathf.Max(0f, playbackStartDelay));
// yield return new WaitForSeconds(Mathf.Max(0f, playbackStartDelay));
// Start spawning using the existing parsed beatmap
if (beatmapManager.beatmap != null)
@@ -907,10 +928,20 @@ public class GameManager : MonoBehaviour
// Kick off UI canvas fade-out when start requested
StartFadeStartCanvas();
// Wait for readyLetsGo sequence if playing
if (readyLetsGo != null && readyLetsGo.IsSequencePlaying)
{
while (readyLetsGo.IsSequencePlaying)
{
yield return null;
}
}
gNotice.recommendation.display("游戏开始!");
// Resume
PauseManager.Instance?.Pause(false);
// Use scaled wait so pause (Escape) will pause this delay
yield return new WaitForSeconds(Mathf.Max(0f, playbackStartDelay));
// yield return new WaitForSeconds(Mathf.Max(0f, playbackStartDelay));
// Start spawning
if (beatmapManager.beatmap != null)
@@ -995,6 +1026,30 @@ public class GameManager : MonoBehaviour
Debug.LogWarning("[GameManager] TriggerOnGameStartSkills: SkillBuilder not found.");
yield break;
}
int guard = 0;
while (guard < 240)
{
if (teamUIController.Instance == null || SkillBuilder.Instance == null)
{
guard++;
yield return null;
continue;
}
bool ready = true;
for (int i = 0; i < 5; i++)
{
if (builder.GetAllyHeroSOBySlot(i) == null)
{
ready = false;
break;
}
}
if (ready) break;
guard++;
yield return null;
}
builder.TriggerOnGameStart();
}