3 #ifndef XJMUSIC_UTIL_MARBLE_BAG_H
4 #define XJMUSIC_UTIL_MARBLE_BAG_H
32 std::map<
int , std::map<
UUID ,
int >> marbles;
33 std::random_device rd;
34 std::mt19937 gen{rd()};
54 marbles = other.marbles;
70 void addAll(
int phase,
const std::map<UUID, int> &toAdd);
78 void add(
int phase,
const UUID &
id);
87 void add(
int phase,
const UUID &
id,
int qty);
117 std::optional<UUID>
pickPhase(
int phase);
Definition: MarbleBag.h:136
Group(UUID id, int from, int to)
Definition: MarbleBag.cpp:156
int to
Definition: MarbleBag.h:140
int from
Definition: MarbleBag.h:139
UUID id
Definition: MarbleBag.h:138
Definition: MarbleBag.h:31
int size() const
Definition: MarbleBag.cpp:74
std::optional< UUID > pickPhase(int phase)
Definition: MarbleBag.cpp:128
static bool quickBooleanChanceOf(float probability)
Definition: MarbleBag.cpp:173
void addAll(int phase, const std::map< UUID, int > &toAdd)
Definition: MarbleBag.cpp:38
std::string toString() const
Definition: MarbleBag.cpp:87
void add(int phase, const UUID &id)
Definition: MarbleBag.cpp:49
bool isPresent() const
Definition: MarbleBag.cpp:118
MarbleBag & operator=(const MarbleBag &other)
Definition: MarbleBag.h:52
UUID pick()
Definition: MarbleBag.cpp:16
bool empty() const
Definition: MarbleBag.cpp:111
static int quickPick(int total)
Definition: MarbleBag.cpp:162
Definition: ActiveAudio.h:11
std::string UUID
Definition: EntityUtils.h:28