YouDunIt/modules/you_done_it/clue_finder.h

30 lines
702 B
C++

#pragma once
#include "core/templates/hash_set.h"
#include "scene/3d/node_3d.h"
#include "you_done_it/clue_marker.h"
class ClueFinder : public Node3D {
GDCLASS(ClueFinder, Node3D);
static void _bind_methods();
static ClueFinder *singleton_instance;
void enter_tree();
void exit_tree();
void on_button_pressed(String button);
protected:
void _notification(int what);
public:
static ClueFinder *get_singleton();
ClueMarker *find_current_clue();
void register_clue_marker(ClueMarker *marker);
void remove_clue_marker(ClueMarker *marker);
void take_photo();
void send_photo();
void delete_photo();
private:
ClueMarker *found_marker{ nullptr };
HashSet<ClueMarker *> clue_markers{};
};