This commit is contained in:
SoulliesOfficial
2025-08-27 21:45:18 -04:00
parent 131b182f43
commit 4031b29245
266 changed files with 26272 additions and 18257 deletions

View File

@@ -7,7 +7,7 @@ namespace Ichni.RhythmGame
{
public class RadialBlurEffect : EffectBase
{
private readonly NBPostProcessingController nbController;
private readonly PostProcessingController nbController;
public float duration;
public int sampleLevel;

View File

@@ -33,7 +33,7 @@ namespace Ichni.RhythmGame
hold.exactJudgeTime = exactJudgeTime;
hold.holdEndTime = holdEndTime;
hold.holdingTime = 0;
hold.holdingBufferTime = 0.1f;
hold.holdingBufferTime = 0.04f;
hold.judgeIntervals = new NoteJudgeIntervals(
new TimeInterval(-0.15f, -0.15f), new TimeInterval(-0.15f, -0.125f),
new TimeInterval(-0.125f, -0.1f), new TimeInterval(-0.1f, 0.1f),

View File

@@ -36,6 +36,7 @@ namespace Ichni.RhythmGame
[Title("In-Game Info")]
public bool isDuringJudging;
public Vector2 noteScreenPosition;
public Vector2 perfectNoteScreenPosition;
public bool isFirstJudged;
public bool isFinalJudged;
public override int HierarchyPriority => -10;
@@ -76,8 +77,10 @@ namespace Ichni.RhythmGame
public override void AfterInitialize()
{
perfectNoteScreenPosition = -Vector2.one;
float beyondTime = 0f;
foreach (EffectBase effectBase in noteVisual.effectSubmodule.effectCollection["Generate"])
{
if (effectBase is NoteGenerateEffect ge)
@@ -115,11 +118,24 @@ namespace Ichni.RhythmGame
}
}
if (isDuringJudging)
if (perfectNoteScreenPosition == -Vector2.one) // -Vector2.one是一个不可能的屏幕位置用来标记perfectNoteScreenPosition还没有被赋值
{
noteScreenPosition = GetScreenPosition();
if (isDuringJudging)
{
noteScreenPosition = GetScreenPosition();
}
if (exactJudgeTime <= GameManager.instance.songTime)
{
perfectNoteScreenPosition = noteScreenPosition;
}
}
/*if (!isFirstJudged && exactJudgeTime <= GameManager.instance.songTime)
{
SlowOffsetAfterExactJudgeTime();
}*/
SetJudgeArea();
//SetJudgeRankText();
@@ -129,11 +145,6 @@ namespace Ichni.RhythmGame
e.UpdateEffect(exactJudgeTime);
}
if (!isFirstJudged && exactJudgeTime < GameManager.instance.songTime)
{
SlowOffsetAfterExactJudgeTime();
}
if (!isFirstJudged && GameManager.instance.songTime > exactJudgeTime + judgeIntervals.afterMiss)
{
Miss(exactJudgeTime + judgeIntervals.afterMiss);

View File

@@ -15,6 +15,8 @@ namespace Ichni.RhythmGame
public GameObject noteMain;
public GameObject judgeEffect;
public GameObject perfectPoint;
public List<GameObject> notePartList;
public List<GameObject> effectPrefabList;
public virtual Vector3 noteVisualPosition => noteMain.transform.position;