perf
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user