This commit is contained in:
SoulliesOfficial
2025-07-21 05:42:20 -04:00
parent e483cfe502
commit bae0bfbc20
533 changed files with 172709 additions and 125965 deletions

View File

@@ -5,6 +5,7 @@ using System.Linq;
using Dreamteck.Splines;
using Ichni.RhythmGame.Beatmap;
using Lean.Pool;
using UniRx;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.Serialization;
@@ -25,8 +26,8 @@ namespace Ichni.RhythmGame
stay.preJudgeType = NoteJudgeType.NotJudged;
stay.judgeIntervals = new NoteJudgeIntervals(
new TimeInterval(-0.15f, -0.15f), new TimeInterval(-0.15f, -0.15f),
new TimeInterval(-0.15f, -0.15f), new TimeInterval(-0.15f, 0.125f),
new TimeInterval(0.125f, 0.15f), new TimeInterval(0.15f, 0.15f), 0.15f);
new TimeInterval(-0.15f, -0.15f), new TimeInterval(-0.15f, 0.15f),
new TimeInterval(0.15f, 0.15f), new TimeInterval(0.15f, 0.15f), 0.15f);
if (parentElement.TryGetComponent(out Track track))
{
@@ -56,19 +57,24 @@ namespace Ichni.RhythmGame
{
float songTime = GameManager.instance.songTime;
if (!isFirstJudged &&
if (!isFirstJudged && !isDuringJudging &&
songTime >= exactJudgeTime + judgeIntervals.beforeMiss.intervalStart &&
!GameManager.instance.inputManager.checkingStayList.Contains(this))
{
isDuringJudging = true;
GameManager.instance.inputManager.checkingStayList.Add(this);
}
ExecuteFinalJudge(songTime);
base.Update();
ExecuteFinalJudge(songTime);
}
protected override void RemoveFromCheckingList()
{
GameManager.instance.inputManager.checkingStayList.Remove(this);
}
public override NoteJudgeType GetStartJudgeType(float timeDifference)
protected override NoteJudgeType GetStartJudgeType(float timeDifference)
{
return judgeIntervals.GetNoteJudgeType(timeDifference);
}
@@ -137,9 +143,9 @@ namespace Ichni.RhythmGame
public partial class Stay
{
public bool CheckJudgeAvailability(InputUnitSlide inputUnitSlide)
public bool CheckJudgeAvailability(InputUnitTouch inputUnitTouch)
{
return noteJudgeSubmodule.judgeUnitList.All(judgeUnit => judgeUnit.CheckJudgeAvailability(inputUnitSlide));
return noteJudgeSubmodule.judgeUnitList.All(judgeUnit => judgeUnit.CheckJudgeAvailability(inputUnitTouch));
}
}