record accuracy for playthrough
This commit is contained in:
parent
8b33e77791
commit
b8df0d1a26
|
@ -203,9 +203,10 @@ namespace HeavenStudio
|
|||
}
|
||||
}
|
||||
|
||||
public static void ScoreInputAccuracy(double accuracy, float weight = 1)
|
||||
public void ScoreInputAccuracy(double accuracy, bool late, double weight = 1)
|
||||
{
|
||||
|
||||
totalInputs += weight;
|
||||
totalPlayerAccuracy += accuracy * weight;
|
||||
}
|
||||
|
||||
public void SeekAheadAndPreload(double start, float seekTime = 8f)
|
||||
|
@ -387,6 +388,10 @@ namespace HeavenStudio
|
|||
canInput = true;
|
||||
inputOffsetSamples.Clear();
|
||||
averageInputOffset = 0;
|
||||
|
||||
totalInputs = 0;
|
||||
totalPlayerAccuracy = 0;
|
||||
|
||||
StartCoroutine(PlayCo(beat));
|
||||
onBeatChanged?.Invoke(beat);
|
||||
}
|
||||
|
@ -427,6 +432,7 @@ namespace HeavenStudio
|
|||
KillAllSounds();
|
||||
|
||||
Debug.Log($"Average input offset for playthrough: {averageInputOffset}ms");
|
||||
Debug.Log($"Accuracy for playthrough: {(PlayerAccuracy * 100) : 0.00}");
|
||||
|
||||
if (playOnStart)
|
||||
{
|
||||
|
|
|
@ -251,6 +251,11 @@ namespace HeavenStudio.Games
|
|||
return null;
|
||||
}
|
||||
|
||||
public void ScoreMiss(double weight)
|
||||
{
|
||||
GameManager.instance.ScoreInputAccuracy(0, true, weight);
|
||||
}
|
||||
|
||||
private void OnDestroy() {
|
||||
foreach (var evt in scheduledInputs)
|
||||
{
|
||||
|
|
|
@ -165,9 +165,9 @@ namespace HeavenStudio.Games
|
|||
GameManager.instance.AvgInputOffset = offset;
|
||||
OnHit(this, (float) state);
|
||||
|
||||
if (countsForAccuracy && !(noAutoplay || autoplayOnly))
|
||||
TimeToAccuracy(time);
|
||||
CleanUp();
|
||||
if (countsForAccuracy && !(noAutoplay || autoplayOnly))
|
||||
GameManager.instance.ScoreInputAccuracy(TimeToAccuracy(time), time > 1.0, 1.0);
|
||||
} else
|
||||
{
|
||||
Blank();
|
||||
|
@ -233,6 +233,8 @@ namespace HeavenStudio.Games
|
|||
}
|
||||
|
||||
CleanUp();
|
||||
if (countsForAccuracy && !(noAutoplay || autoplayOnly))
|
||||
GameManager.instance.ScoreInputAccuracy(0, true, 1.0);
|
||||
}
|
||||
|
||||
public void Blank()
|
||||
|
|
Loading…
Reference in a new issue