Scoring System Preparation (#235)

* add calculation for accuracy

* record accuracy for playthrough

* implement forced miss scoring to some games
This commit is contained in:
minenice55
2023-01-24 22:54:19 -05:00
committed by GitHub
parent 4b13f559eb
commit a8b6f345a2
16 changed files with 171 additions and 62 deletions

View File

@ -9,6 +9,7 @@ namespace HeavenStudio.Games
public class Minigame : MonoBehaviour
{
public static float earlyTime = 0.07f, perfectTime = 0.04f, aceEarlyTime = 0.01f, aceLateTime = 0.01f, lateTime = 0.04f, endTime = 0.07f;
public static float rankHiThreshold = 0.8f, rankOkThreshold = 0.6f;
[SerializeField] public SoundSequence.SequenceKeyValue[] SoundSequences;
public List<Minigame.Eligible> EligibleHits = new List<Minigame.Eligible>();
@ -171,7 +172,7 @@ namespace HeavenStudio.Games
public static float AceStartTime()
{
return 1f + ScaleTimingMargin(aceEarlyTime);
return 1f - ScaleTimingMargin(aceEarlyTime);
}
public static float AceEndTime()
@ -250,6 +251,11 @@ namespace HeavenStudio.Games
return null;
}
public void ScoreMiss(double weight = 1f)
{
GameManager.instance.ScoreInputAccuracy(0, true, weight);
}
private void OnDestroy() {
foreach (var evt in scheduledInputs)
{