超大量的更新 修复很多问题,gameplay特效初步

This commit is contained in:
2026-02-14 23:46:20 +08:00
parent ef8eb67259
commit 3a7a0b4669
360 changed files with 85670 additions and 4144 deletions
@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
@@ -32,20 +32,21 @@ public class JudgeManager : MonoBehaviour
// total/remaining notes tracking for end-of-song detection
private int totalNotes = 0;
private int remainingNotes = 0;
private bool settlementTriggeredThisChart = false;
// ===== ԭ =====
// Documentation text normalized.
private Dictionary<KeyCode, Queue<Note>> judgeQueues = new Dictionary<KeyCode, Queue<Note>>();
private Dictionary<string, bool> startJudgedNotes = new Dictionary<string, bool>();
private Dictionary<string, bool> releasedNotes = new Dictionary<string, bool>();
private Dictionary<string, float> noteEndTimes = new Dictionary<string, float>();
private Dictionary<string, int> middlePassedCounts = new Dictionary<string, int>();
// ===== ȫֻ״̬ =====
// Documentation text normalized.
private class HoldJudgeState
{
public bool startResolved; // Start ǷѾжɹ or ʧܣ
public bool endResolved; // End ǷѾж
public bool skillTriggered; // ǷѴ
public bool startResolved; // Documentation text normalized.
public bool endResolved; // Documentation text normalized.
public bool skillTriggered; // Documentation text normalized.
}
private Dictionary<string, HoldJudgeState> holdStates = new Dictionary<string, HoldJudgeState>();
@@ -70,6 +71,13 @@ public class JudgeManager : MonoBehaviour
/// </summary>
public void OnAllNotesJudged()
{
if (settlementTriggeredThisChart)
{
if (IsDebugEnabled) Debug.Log("[JudgeManager] OnAllNotesJudged ignored: settlement already triggered for this chart.");
return;
}
settlementTriggeredThisChart = true;
if (settlement_go == null)
{
if (IsDebugEnabled) Debug.LogError("结算页面不存在!");
@@ -157,6 +165,7 @@ public class JudgeManager : MonoBehaviour
{
totalNotes = Mathf.Max(0, total);
remainingNotes = totalNotes;
settlementTriggeredThisChart = false;
if (IsDebugEnabled) Debug.Log($"[JudgeManager] SetTotalNotes: total={totalNotes}");
}
@@ -176,7 +185,7 @@ public class JudgeManager : MonoBehaviour
}
}
// ===== жխ =====
// Documentation text normalized.
public bool TryResolveStart(string noteID)
{
var s = GetHoldState(noteID);
@@ -225,7 +234,7 @@ public class JudgeManager : MonoBehaviour
}
}
// ===== ԭнӿڣֲ䣩 =====
// Documentation text normalized.
public void RegisterScheduledEndTime(string noteID, float endTime)
{