30 lines
702 B
C++
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{};
|
|
};
|