some updates
This commit is contained in:
@@ -674,6 +674,19 @@ public class HoldNote : BaseNote
|
||||
&& jm != null && jm.IsStartJudged(noteID)
|
||||
&& !jm.HasNoteReleased(noteID))
|
||||
{
|
||||
if (keyHeld && now >= scheduledEndTime)
|
||||
{
|
||||
if (debugEnabled) Debug.Log($"[HoldNote] END auto-complete on hold: {noteColor}, noteID={noteID}, now={now:F3}, scheduledEnd={scheduledEndTime:F3}");
|
||||
releaseTime = scheduledEndTime;
|
||||
hasReleased = true;
|
||||
jm.RegisterNoteReleased(noteID, true);
|
||||
isHoldActive = false;
|
||||
StopHoldFxLoop();
|
||||
EvaluateHoldEnd(scheduledEndTime, false, true);
|
||||
isJudged = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (keyUp)
|
||||
{
|
||||
// protect end handling with track lock so a single release doesn't trigger multiple ends
|
||||
@@ -834,11 +847,11 @@ public class HoldNote : BaseNote
|
||||
{
|
||||
if (JudgeManager.IsDebugEnabled) Debug.Log($"[HoldNote] End entered while note not yet released: {noteColor}, auto-finishing hold as Perfect");
|
||||
// 记录松手时间为当前时刻(玩家按到尾部视为完美松手)
|
||||
releaseTime = GameplayClock.NowSongTime;
|
||||
releaseTime = scheduledEndTime;
|
||||
hasReleased = true;
|
||||
JudgeManager.Instance?.RegisterNoteReleased(noteID, true);
|
||||
// 判定并生成 prefab——force Perfect(按到尾部=完美完成)
|
||||
EvaluateHoldEnd(releaseTime, false, true);
|
||||
EvaluateHoldEnd(scheduledEndTime, false, true);
|
||||
isJudged = true;
|
||||
// 终止输入:标记键已松开,停止持续特效
|
||||
isHoldActive = false;
|
||||
@@ -1299,6 +1312,8 @@ public class HoldNote : BaseNote
|
||||
teamUIController.Instance?.OnJudgeResult(result);
|
||||
}
|
||||
|
||||
teamUIController.Instance?.RefreshRealtimeJudgeStatsText();
|
||||
|
||||
if (result != "Miss")
|
||||
{
|
||||
TrackJudgeHitEffectController.PlayTrackHitFx(trackIndex);
|
||||
|
||||
Reference in New Issue
Block a user