From 2511ac69c0fc09a4c9e9d36bffcabdfe471a9363 Mon Sep 17 00:00:00 2001 From: Sara Date: Mon, 11 Aug 2025 15:33:31 +0200 Subject: [PATCH] feat: implemented interaction tooltips --- modules/wave_survival/heads_up_display.cpp | 9 +++++++++ modules/wave_survival/heads_up_display.h | 3 +++ modules/wave_survival/interactable.cpp | 9 +-------- modules/wave_survival/interactable.h | 3 --- project/guis/heads_up_display.tscn | 19 ++++++++++++++++++- project/maps/industrial_area_map.tscn | 11 ++++++++--- project/objects/pickups/demo_pack_pickup.tscn | 5 +++++ 7 files changed, 44 insertions(+), 15 deletions(-) diff --git a/modules/wave_survival/heads_up_display.cpp b/modules/wave_survival/heads_up_display.cpp index fb99be68..51b2b72e 100644 --- a/modules/wave_survival/heads_up_display.cpp +++ b/modules/wave_survival/heads_up_display.cpp @@ -4,12 +4,17 @@ HeadsUpDisplay *HeadsUpDisplay::singleton_instance{ nullptr }; void HeadsUpDisplay::_bind_methods() { ClassDB::bind_static_method("HeadsUpDisplay", D_METHOD("get_singleton"), &self_type::get_singleton); + ClassDB::bind_method(D_METHOD("set_tooltip"), &self_type::set_tooltip); } void HeadsUpDisplay::on_child_entered(Node *child) { + child->connect("child_entered_tree", callable_mp(this, &self_type::on_child_entered)); if (child->is_unique_name_in_owner() && child->get_name() == "Reticle") { this->reticle = cast_to(child); } + if (child->is_unique_name_in_owner() && child->get_name() == "Tooltip") { + this->tooltip = cast_to