diff --git a/overcooked_simulator/counters.py b/overcooked_simulator/counters.py index 49716e667f69849e2ec4cd4dbc41215856c7f420..f63d77aac4d9a2ae6a146b164051c23a4ca3e90f 100644 --- a/overcooked_simulator/counters.py +++ b/overcooked_simulator/counters.py @@ -543,6 +543,11 @@ class CookingCounter(Counter): def __repr__(self): return f"{self.name}(pos={self.pos},occupied_by={self.occupied_by})" + def to_dict(self) -> dict: + d = super().to_dict() + d.update((("type", self.name),)) + return d + class Sink(Counter): """The counter in which the dirty plates can be washed to clean plates. diff --git a/overcooked_simulator/gui_2d_vis/drawing.py b/overcooked_simulator/gui_2d_vis/drawing.py index 11ee0c93137eccb0fd0c0c471a589755728bc5c7..415e0ce302c93ce2857f58569e5ed89e41c0aacd 100644 --- a/overcooked_simulator/gui_2d_vis/drawing.py +++ b/overcooked_simulator/gui_2d_vis/drawing.py @@ -373,10 +373,16 @@ class Visualizer: if counter_type in self.config: self.draw_thing(screen, pos, grid_size, self.config[counter_type]["parts"]) else: + if counter_type in self.config: + parts = self.config[counter_type]["parts"] + elif counter_type.endswith("Dispenser"): + parts = self.config["Dispenser"]["parts"] + else: + raise ValueError(f"Can not draw counter type {counter_type}") self.draw_thing( screen=screen, pos=pos, - parts=self.config[counter_type]["parts"], + parts=parts, grid_size=grid_size, ) diff --git a/overcooked_simulator/gui_2d_vis/overcooked_gui.py b/overcooked_simulator/gui_2d_vis/overcooked_gui.py index e1f5a5592f098ea4eaf1560818b93e9845c9a672..1370d8475ccf53668005af4902b9939b1420d201 100644 --- a/overcooked_simulator/gui_2d_vis/overcooked_gui.py +++ b/overcooked_simulator/gui_2d_vis/overcooked_gui.py @@ -15,14 +15,7 @@ from websockets.sync.client import connect from overcooked_simulator import ROOT_DIR from overcooked_simulator.game_server import CreateEnvironmentConfig from overcooked_simulator.gui_2d_vis.drawing import Visualizer -from overcooked_simulator.gui_2d_vis.game_colors import BLUE, colors, Color -from overcooked_simulator.counters import Counter, CookingCounter -from overcooked_simulator.game_items import ( - Item, - CookingEquipment, - Plate, -) -from overcooked_simulator.order import Order +from overcooked_simulator.gui_2d_vis.game_colors import colors from overcooked_simulator.overcooked_environment import ( Action, ActionType, diff --git a/overcooked_simulator/overcooked_environment.py b/overcooked_simulator/overcooked_environment.py index 0f4214afe3316daa1a0bca132a825bca2319af95..ce79e280b4760a59ab92129f86bd26c905639a1f 100644 --- a/overcooked_simulator/overcooked_environment.py +++ b/overcooked_simulator/overcooked_environment.py @@ -714,7 +714,9 @@ class Environment: self.perform_movement(player, passed_time) for counter in self.counters: - if isinstance(counter, (CuttingBoard, Stove, Sink, PlateDispenser)): + if isinstance( + counter, (CuttingBoard, CookingCounter, Sink, PlateDispenser) + ): counter.progress(passed_time=passed_time, now=self.env_time) self.order_and_score.progress(passed_time=passed_time, now=self.env_time)