Etterna 0.75.1
Loading...
Searching...
No Matches
PlayerSpectate.h
1#ifndef PlayerSpectate_H
2#define PlayerSpectate_H
3
4#include "Player.h"
5
6// Player derivative meant to ignore useless stuff
7// very similar to PlayerReplay
8class PlayerSpectate : public Player
9{
10 public:
11 PlayerSpectate(NoteData& nd, bool bVisibleParts = true);
12 ~PlayerSpectate() override;
13
14 void HandleMessage(const Message& msg) override;
15
16 void UpdateHoldNotes(int iSongRow,
17 float fDeltaTime,
18 std::vector<TrackRowTapNote>& vTN) override;
19 void Init(const std::string& sType,
20 PlayerState* pPlayerState,
21 PlayerStageStats* pPlayerStageStats,
22 LifeMeter* pLM,
23 ScoreKeeper* pPrimaryScoreKeeper) override;
24 void Load() override;
25 void Update(float fDeltaTime) override;
26 void CrossedRows(int iLastrowCrossed,
27 const std::chrono::steady_clock::time_point& now) override;
28 void Step(int col,
29 int steppedRow,
30 const std::chrono::steady_clock::time_point& tm,
31 bool bHeld,
32 bool bRelease,
33 float padStickSeconds = 0.0F,
34 int rowToJudge = -1,
35 float forcedSongPositionSeconds = 0.0F);
36
37 void UpdateLoadedReplay(int startRow = 0);
38
39 std::map<int, std::vector<PlaybackEvent>>& GetPlaybackEvents() {
40 return playbackEvents;
41 }
42 void SetPlaybackEvents(std::map<int, std::vector<PlaybackEvent>> v,
43 bool dontclear = false);
44
45 std::map<int, std::set<int>>& GetDroppedHolds() {
46 return droppedHolds;
47 }
48 void SetDroppedHolds(const std::map<int, std::set<int>>& v) {
49 droppedHolds = v;
50 }
51
52 protected:
53 void UpdateHoldsAndRolls(
54 float fDeltaTime,
55 const std::chrono::steady_clock::time_point& now) override;
56 void HandleTapRowScore(unsigned row) override;
57 void UpdateTapNotesMissedOlderThan(float fMissIfOlderThanSeconds) override;
58 void UpdatePressedFlags() override;
59 void CheckForSteps(const std::chrono::steady_clock::time_point& tm);
60
61 std::map<int, std::vector<PlaybackEvent>> playbackEvents{};
62 std::map<int, std::set<int>> droppedHolds{};
63 std::set<int> holdingColumns{};
64};
65
66#endif
The player's life.
Definition LifeMeter.h:13
Holds data about the notes that the player is supposed to hit.
Definition NoteData.h:43
Definition PlayerSpectate.h:9
Contains statistics for one stage of play - either one song, or a whole course.
Definition PlayerStageStats.h:19
The player's indivdual state.
Definition PlayerState.h:30
Accepts input, knocks down TapNotes that were stepped on, and keeps score for the player.
Definition Player.h:42
Abstract class to handle scorekeeping, stat-taking, etc.
Definition ScoreKeeper.h:20
Definition MessageManager.h:101