Etterna 0.74.4
|
Abstract class to handle scorekeeping, stat-taking, etc. More...
#include <ScoreKeeper.h>
Public Member Functions | |
ScoreKeeper (PlayerState *pPlayerState, PlayerStageStats *pPlayerStageStats) | |
virtual void | Load (const std::vector< Song * > &, const std::vector< Steps * > &) |
virtual void | DrawPrimitives () |
virtual void | Update (float) |
virtual void | OnNextSong (int, const Steps *, const NoteData *) |
virtual void | HandleTapScore (const TapNote &) |
virtual void | HandleTapRowScore (const NoteData &, int) |
virtual void | HandleHoldScore (const TapNote &) |
virtual void | HandleHoldActiveSeconds (float) |
virtual void | HandleHoldCheckpointScore (const NoteData &, int, int, int) |
virtual void | HandleTapScoreNone () |
Static Public Member Functions | |
static auto | MakeScoreKeeper (const std::string &sClassName, PlayerState *pPlayerState, PlayerStageStats *pPlayerStageStats) -> ScoreKeeper * |
Protected Member Functions | |
void | GetScoreOfLastTapInRow (const NoteData &nd, int iRow, TapNoteScore &tnsOut, int &iNumTapsInRowOut) |
Protected Attributes | |
PlayerState * | m_pPlayerState |
PlayerStageStats * | m_pPlayerStageStats |
Abstract class to handle scorekeeping, stat-taking, etc.
Stat handling is in here because that can differ between games, too; for example, some games count double taps as a single note in scoring and some count per-tap. Results are injected directly into the PlayerStageStats.