From 131e9447798e3b21231fbd62afd5aadd76b5c7c2 Mon Sep 17 00:00:00 2001 From: Jamie Greunbaum Date: Tue, 21 May 2024 21:22:33 -0400 Subject: [PATCH] Moved code for hiding bug markers into a separate static function. --- Scripts/server_api.gd | 6 ++++++ bugbot.gd | 19 +++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Scripts/server_api.gd b/Scripts/server_api.gd index b5a2146..74fe1f3 100644 --- a/Scripts/server_api.gd +++ b/Scripts/server_api.gd @@ -30,6 +30,12 @@ static func _create_new_server_api() -> BugbotServerAPI: BugReportPlatform.JIRA: return BugbotServerAPI.new() return BugbotServerAPI.new() +static func _hide_markers(marker_root:Node): + var markers : Array = marker_root.get_children() + for marker:Node3D in markers: + marker.queue_free() + + func __connect_to_server(http_client:HTTPClient, default_server:String) -> int: var full_server : String = ProjectSettings.get_setting("bugbot/reporting/gitea/server", default_server) var server_and_port : PackedStringArray = full_server.rsplit(":",true,1) diff --git a/bugbot.gd b/bugbot.gd index 5c0e9f3..1559410 100644 --- a/bugbot.gd +++ b/bugbot.gd @@ -95,18 +95,22 @@ func __on_bugbot_menu_item_pressed(id:int): match id: BugbotMenuItems.SHOW_BUG_MARKERS: var scene : String = EditorInterface.get_edited_scene_root().scene_file_path - if __bugbot_marker_containers.has(scene): - __bugbot_marker_containers[scene].queue_free() + if not __bugbot_marker_containers.has(scene): + var marker_container : Node3D = Node3D.new() + marker_container.name = "BugMarkerContainer" + __bugbot_marker_containers[scene] = marker_container __editor_server_api = BugbotServerAPI._create_new_server_api() __editor_server_api._return_list_of_bugs(__show_bug_markers_response) BugbotMenuItems.HIDE_BUG_MARKERS: - var marker_container : Node3D = __bugbot_marker_containers[EditorInterface.get_edited_scene_root().scene_file_path] - var markers : Array = marker_container.get_children() - for marker:Node3D in markers: - marker.queue_free() + var scene_root : Node = EditorInterface.get_edited_scene_root() + var scene_path : String = scene_root.scene_file_path + if __bugbot_marker_containers.has(scene_path): + var marker_container : Node3D = __bugbot_marker_containers[scene_path] + BugbotServerAPI._hide_markers(marker_container) + scene_root.remove_child(marker_container) func __show_bug_markers_response(bug_list:Array) -> void: - var marker_container : Node3D = Node3D.new() var scene_root : Node = EditorInterface.get_edited_scene_root() + var marker_container : Node3D = __bugbot_marker_containers[scene_root.scene_file_path] scene_root.add_child(marker_container) for bugbot_data:Resource in bug_list: if bugbot_data is BugbotBugData: @@ -131,7 +135,6 @@ func __show_bug_markers_response(bug_list:Array) -> void: marker_container.add_child(bug_marker) bug_marker.marker_status = bug_status bug_marker.bug_data = bugbot_data - __bugbot_marker_containers[scene_root.scene_file_path] = marker_container func __add_project_setting(_setting:String, _type:int, _default_value:Variant, _hint:int = PropertyHint.PROPERTY_HINT_NONE, _hint_string:String = ""):