From bbb290f9b628331d95a77af686a9a0de2b300111 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Schr=C3=B6der?= <fschroeder@techfak.uni-bielefeld.de> Date: Thu, 18 Jan 2024 16:03:01 +0100 Subject: [PATCH] remove player config and add it to environment_config.yaml --- .../game_content/environment_config.yaml | 5 +++++ .../game_content/player_config.yaml | 3 --- overcooked_simulator/overcooked_environment.py | 14 ++++++++------ overcooked_simulator/player.py | 13 +++---------- 4 files changed, 16 insertions(+), 19 deletions(-) delete mode 100644 overcooked_simulator/game_content/player_config.yaml diff --git a/overcooked_simulator/game_content/environment_config.yaml b/overcooked_simulator/game_content/environment_config.yaml index 594decfa..d69f18f8 100644 --- a/overcooked_simulator/game_content/environment_config.yaml +++ b/overcooked_simulator/game_content/environment_config.yaml @@ -35,3 +35,8 @@ orders: default: -5 serving_not_ordered_meals: null order_gen_class: !!python/name:overcooked_simulator.order.RandomOrderGeneration '' + +player_config: + radius: 0.4 + move_dist: 0.15 + interaction_range: 1.6 \ No newline at end of file diff --git a/overcooked_simulator/game_content/player_config.yaml b/overcooked_simulator/game_content/player_config.yaml deleted file mode 100644 index b684cabe..00000000 --- a/overcooked_simulator/game_content/player_config.yaml +++ /dev/null @@ -1,3 +0,0 @@ -radius: 0.4 -move_dist: 0.15 -interaction_range: 1.6 \ No newline at end of file diff --git a/overcooked_simulator/overcooked_environment.py b/overcooked_simulator/overcooked_environment.py index 7f612810..a7dcc90d 100644 --- a/overcooked_simulator/overcooked_environment.py +++ b/overcooked_simulator/overcooked_environment.py @@ -63,7 +63,7 @@ class Environment: self.players: dict[str, Player] = {} with open(env_config_path, "r") as file: - environment_config = yaml.load(file, Loader=yaml.Loader) + self.environment_config = yaml.load(file, Loader=yaml.Loader) self.layout_path: Path = layout_path # self.counter_side_length = 1 # -> this changed! is 1 now @@ -71,7 +71,7 @@ class Environment: self.item_info = self.load_item_info() self.validate_item_info() self.order_and_score = OrderAndScoreManager( - order_config=environment_config["orders"], + order_config=self.environment_config["orders"], available_meals={ item: info for item, info in self.item_info.items() @@ -116,8 +116,8 @@ class Environment: plate_transitions=plate_transitions, pos=pos, dispensing=self.item_info["Plate"], - plate_config=environment_config["plates"] - if "plates" in environment_config + plate_config=self.environment_config["plates"] + if "plates" in self.environment_config else {}, ), "N": lambda pos: Dispenser(pos, self.item_info["Onion"]), # N for oNioN @@ -183,7 +183,7 @@ class Environment: self.order_and_score.create_init_orders(self.env_time) self.beginning_time = self.env_time self.env_time_end = self.env_time + timedelta( - seconds=environment_config["game"]["time_limit_seconds"] + seconds=self.environment_config["game"]["time_limit_seconds"] ) log.debug(f"End time: {self.env_time_end}") @@ -522,7 +522,9 @@ class Environment: def add_player(self, player_name: str, pos: npt.NDArray = None): log.debug(f"Add player {player_name} to the game") - player = Player(player_name, pos) + player = Player( + player_name, player_config=self.environment_config["player_config"], pos=pos + ) self.players[player.name] = player if player.pos is None: if len(self.designated_player_positions) > 0: diff --git a/overcooked_simulator/player.py b/overcooked_simulator/player.py index dc70d32c..63f803c8 100644 --- a/overcooked_simulator/player.py +++ b/overcooked_simulator/player.py @@ -1,13 +1,10 @@ import logging from collections import deque -from pathlib import Path -from typing import Optional +from typing import Optional, Any import numpy as np import numpy.typing as npt -import yaml -from overcooked_simulator import ROOT_DIR from overcooked_simulator.counters import Counter from overcooked_simulator.game_items import Item, Plate @@ -24,9 +21,11 @@ class Player: def __init__( self, name: str, + player_config: dict[str, Any], pos: Optional[npt.NDArray[float]] = None, ): self.name: str = name + self.player_config = player_config if pos is not None: self.pos: npt.NDArray[float] = np.array(pos, dtype=float) else: @@ -34,12 +33,6 @@ class Player: self.holding: Optional[Item] = None - self.player_config_path: Path = Path( - ROOT_DIR / "game_content" / "player_config.yaml" - ) - with open(self.player_config_path, "r") as file: - self.player_config = yaml.safe_load(file) - self.radius: float = self.player_config["radius"] self.move_dist: int = self.player_config["move_dist"] self.interaction_range: int = self.player_config["interaction_range"] -- GitLab