SpaghettiKart
Loading...
Searching...
No Matches
Cup.h
Go to the documentation of this file.
1#pragma once
2
3// Base Cup class
4#include <vector>
5#include <memory>
6#include "tracks/Track.h"
7#include "registry/Registry.h"
8
9class Track; // <-- Forward declare
10
11class Cup {
12public:
13 std::string Id;
14 const char* Name;
16 size_t CursorPosition = 0; // Track index in cup
17 std::vector<std::string> mTracks;
18
19 explicit Cup(std::string id, const char* name, std::vector<std::string> tracks);
20
21 // Valide que tous les IDs de tracks existent dans le registre
22 void ValidateTrackIds(const Registry<TrackInfo>& registry) const;
23
24 virtual void ShuffleTracks();
25
26 virtual void Next();
27 virtual void Previous();
28 virtual void SetTrack(size_t position);
29 virtual std::string GetTrack();
30 virtual size_t GetSize();
31};
virtual void ShuffleTracks()
Definition Cup.cpp:43
size_t CursorPosition
Definition Cup.h:16
void ValidateTrackIds(const Registry< TrackInfo > &registry) const
Definition Cup.cpp:49
virtual void SetTrack(size_t position)
Definition Cup.cpp:27
const char * Name
Definition Cup.h:14
virtual std::string GetTrack()
Definition Cup.cpp:34
virtual size_t GetSize()
Definition Cup.cpp:38
virtual void Next()
Definition Cup.cpp:15
Cup(std::string id, const char *name, std::vector< std::string > tracks)
Definition Cup.cpp:5
u8 * Thumbnail
Definition Cup.h:15
virtual void Previous()
Definition Cup.cpp:21
std::string Id
Definition Cup.h:13
std::vector< std::string > mTracks
Definition Cup.h:17
Definition Registry.h:60