osu-ds/arm9/source/GameplayElements/ScoreManager.cpp
2014-05-23 17:07:09 +09:00

37 lines
649 B
C++

#include "ScoreManager.h"
ScoreManager::ScoreManager()
{
mScore = 0;
mCombo = 0;
}
void ScoreManager::Add(ScoreType score, bool forceNoCombo)
{
if (score == SCORE_MISS)
{
mCombo = 0;
}
else if (score == SCORE_SPIN_100 || score == SCORE_SPIN_1000)
{
if (score == SCORE_SPIN_100)
mScore += 100;
else
mScore += score;
}
else if (score == SCORE_TICK_30 || score == SCORE_TICK_10)
{
mScore += score;
if (!forceNoCombo)
++mCombo;
}
else
{
mScore += score + MathHelper::Max(0, mCombo-1) * (score/25) * DifficultyManager::DifficultyPeppyStars;
if (!forceNoCombo)
++mCombo;
}
}