YouDunIt/modules/you_done_it/clue_db.h

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{};
};