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