23 lines
555 B
C++
23 lines
555 B
C++
#pragma once
|
|
|
|
#include "core/io/resource.h"
|
|
#include "core/templates/fixed_vector.h"
|
|
#include "ydi_networking.h"
|
|
#include "you_done_it/clue_data.h"
|
|
|
|
class ClueDB : public Resource {
|
|
GDCLASS(ClueDB, Resource);
|
|
static void _bind_methods();
|
|
static Ref<ClueDB> singleton_instance;
|
|
void ensure_data_valid();
|
|
|
|
public:
|
|
static Ref<ClueDB> &get_singleton();
|
|
static bool has_singleton();
|
|
void set_clues(Array data);
|
|
Array get_clues();
|
|
Ref<ClueData> get_clue(NetworkData::ClueID id);
|
|
|
|
private:
|
|
FixedVector<Ref<ClueData>, NetworkData::CLUE_MAX> clues{};
|
|
};
|