From 368f8db081c44b10ce6d53fbb52b1d343b3a7285 Mon Sep 17 00:00:00 2001
From: fheinrich <fheinrich@techfak.uni-bielefeld.de>
Date: Wed, 13 Dec 2023 15:54:34 +0100
Subject: [PATCH] Changed dispenser counter

---
 overcooked_simulator/counters.py | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/overcooked_simulator/counters.py b/overcooked_simulator/counters.py
index d228137b..f39b5260 100644
--- a/overcooked_simulator/counters.py
+++ b/overcooked_simulator/counters.py
@@ -16,7 +16,9 @@ from overcooked_simulator.game_items import (
     Tomato,
     Pot,
     CookingEquipment,
+    Soup,
 )
+from overcooked_simulator.game_items import item_loopkup
 
 
 class Counter:
@@ -128,10 +130,8 @@ class ServingWindow(Counter):
 
     def can_score(self, item):
         if isinstance(item, Plate):
-            if isinstance(item.holds, ProgressibleItem):
+            if isinstance(item.holds, Soup):
                 return item.holds.finished
-            else:
-                return bool(item.holds)
 
     def can_drop_off(self, item: Item) -> bool:
         return self.can_score(item)
@@ -186,12 +186,16 @@ class PlateReturn(Counter):
         ) or self.occupied_by[-1].can_combine(item)
 
 
-class TomatoDispenser(Counter):
-    def __init__(self, pos):
+class Dispenser(Counter):
+    def __init__(self, pos, dispensing):
+        self.dispensing = dispensing
         super().__init__(pos)
 
     def pick_up(self, on_hands: bool = True):
-        return Tomato()
+        return CuttableItem(
+            name=self.dispensing,
+            finished_name=item_loopkup[self.dispensing]["finished_name"],
+        )
 
     def drop_off(self, item: Item) -> Item | None:
         return None
@@ -199,6 +203,9 @@ class TomatoDispenser(Counter):
     def can_drop_off(self, item: Item) -> bool:
         return False
 
+    def __repr__(self):
+        return f"{self.dispensing}Dispenser"
+
 
 class Trash(Counter):
     def pick_up(self, on_hands: bool = True):
-- 
GitLab