From f6d2ae5e7474faff8e5cc8bafcd0919f94199a7c Mon Sep 17 00:00:00 2001
From: Brandon Rodriguez <brodriguez8774@gmail.com>
Date: Sat, 6 Nov 2021 12:30:40 -0400
Subject: [PATCH] Correct GUI displaying wrong counter value until first
 movement

---
 src/misc.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/misc.py b/src/misc.py
index a55153c..90b1eba 100644
--- a/src/misc.py
+++ b/src/misc.py
@@ -65,7 +65,6 @@ class DataManager:
         # Also make the Sprite Renderer aware of current Data Manager object.
         sprite_renderer.data_manager = self
 
-
 # endregion Data Structures
 
 
@@ -881,13 +880,15 @@ def calc_traveling_salesman(data_manager, calc_new=True, debug=False):
     # Take optimal calculated distance. Compare against previously found optimal.
     # Only override if new path is superior.
     if (
-        data_manager.ideal_overall_path is None or
-        data_manager.ideal_overall_path['ordering'] == ['{0}, {1}'.format(roomba_x, roomba_y)] or
+        data_manager.ideal_overall_path['ordering'] == [roomba_tile_id] or
         calculated_path['total_cost'] < data_manager.ideal_overall_path['total_cost']
     ):
         # New calculated path is more more efficient. Update path values.
         data_manager.ideal_overall_path = calculated_path
-        data_manager.gui_data['optimal_counter'] = calculated_path['total_cost']
+        data_manager.ideal_overall_path['total_cost'] = calculated_path['total_cost']
+
+    # Ensure GUI always initializes to correct counter value.
+    data_manager.gui_data['optimal_counter'] = data_manager.ideal_overall_path['total_cost']
 
     # Optionally display debug tile sprites.
     if debug:
-- 
GitLab