瀏覽代碼

Merge pull request #97101 from aryan-11825114/fix-network-profiler-not-disabling-buttons

Fix Network Profiler not disabling buttons
Rémi Verschelde 11 月之前
父節點
當前提交
95e7e653f2
共有 1 個文件被更改,包括 13 次插入0 次删除
  1. 13 0
      modules/multiplayer/editor/editor_network_profiler.cpp

+ 13 - 0
modules/multiplayer/editor/editor_network_profiler.cpp

@@ -193,6 +193,9 @@ void EditorNetworkProfiler::_update_button_text() {
 }
 }
 
 
 void EditorNetworkProfiler::started() {
 void EditorNetworkProfiler::started() {
+	_clear_pressed();
+	activate->set_disabled(false);
+
 	if (EditorSettings::get_singleton()->get_project_metadata("debug_options", "autostart_network_profiler", false)) {
 	if (EditorSettings::get_singleton()->get_project_metadata("debug_options", "autostart_network_profiler", false)) {
 		set_profiling(true);
 		set_profiling(true);
 		refresh_timer->start();
 		refresh_timer->start();
@@ -200,6 +203,7 @@ void EditorNetworkProfiler::started() {
 }
 }
 
 
 void EditorNetworkProfiler::stopped() {
 void EditorNetworkProfiler::stopped() {
+	activate->set_disabled(true);
 	set_profiling(false);
 	set_profiling(false);
 	refresh_timer->stop();
 	refresh_timer->stop();
 }
 }
@@ -218,6 +222,7 @@ void EditorNetworkProfiler::_clear_pressed() {
 	set_bandwidth(0, 0);
 	set_bandwidth(0, 0);
 	refresh_rpc_data();
 	refresh_rpc_data();
 	refresh_replication_data();
 	refresh_replication_data();
+	clear_button->set_disabled(true);
 }
 }
 
 
 void EditorNetworkProfiler::_autostart_toggled(bool p_toggled_on) {
 void EditorNetworkProfiler::_autostart_toggled(bool p_toggled_on) {
@@ -235,6 +240,9 @@ void EditorNetworkProfiler::_replication_button_clicked(TreeItem *p_item, int p_
 }
 }
 
 
 void EditorNetworkProfiler::add_rpc_frame_data(const RPCNodeInfo &p_frame) {
 void EditorNetworkProfiler::add_rpc_frame_data(const RPCNodeInfo &p_frame) {
+	if (clear_button->is_disabled()) {
+		clear_button->set_disabled(false);
+	}
 	dirty = true;
 	dirty = true;
 	if (!rpc_data.has(p_frame.node)) {
 	if (!rpc_data.has(p_frame.node)) {
 		rpc_data.insert(p_frame.node, p_frame);
 		rpc_data.insert(p_frame.node, p_frame);
@@ -251,6 +259,9 @@ void EditorNetworkProfiler::add_rpc_frame_data(const RPCNodeInfo &p_frame) {
 }
 }
 
 
 void EditorNetworkProfiler::add_sync_frame_data(const SyncInfo &p_frame) {
 void EditorNetworkProfiler::add_sync_frame_data(const SyncInfo &p_frame) {
+	if (clear_button->is_disabled()) {
+		clear_button->set_disabled(false);
+	}
 	dirty = true;
 	dirty = true;
 	if (!sync_data.has(p_frame.synchronizer)) {
 	if (!sync_data.has(p_frame.synchronizer)) {
 		sync_data[p_frame.synchronizer] = p_frame;
 		sync_data[p_frame.synchronizer] = p_frame;
@@ -292,11 +303,13 @@ EditorNetworkProfiler::EditorNetworkProfiler() {
 	activate = memnew(Button);
 	activate = memnew(Button);
 	activate->set_toggle_mode(true);
 	activate->set_toggle_mode(true);
 	activate->set_text(TTR("Start"));
 	activate->set_text(TTR("Start"));
+	activate->set_disabled(true);
 	activate->connect(SceneStringName(pressed), callable_mp(this, &EditorNetworkProfiler::_activate_pressed));
 	activate->connect(SceneStringName(pressed), callable_mp(this, &EditorNetworkProfiler::_activate_pressed));
 	hb->add_child(activate);
 	hb->add_child(activate);
 
 
 	clear_button = memnew(Button);
 	clear_button = memnew(Button);
 	clear_button->set_text(TTR("Clear"));
 	clear_button->set_text(TTR("Clear"));
+	clear_button->set_disabled(true);
 	clear_button->connect(SceneStringName(pressed), callable_mp(this, &EditorNetworkProfiler::_clear_pressed));
 	clear_button->connect(SceneStringName(pressed), callable_mp(this, &EditorNetworkProfiler::_clear_pressed));
 	hb->add_child(clear_button);
 	hb->add_child(clear_button);