Skip to content
Snippets Groups Projects
  • Florian Schröder's avatar
    6a671b9e
    Refactor recorder and hooks setup in config files · 6a671b9e
    Florian Schröder authored
    This commit refactors the setup of recorders and hooks in several configuration files. It simplifies the YAML structure, renames "extra_setup_functions" to "hook_callbacks", and replaces "log_path" with "record_path". This makes the configurations cleaner and more intuitive. The update also removes the "func" and "kwargs" in the extra setup functions. Now only hooks are registered. This change should not affect functionality, because until now only hooks were registered as extra setup functions.
    6a671b9e
    History
    Refactor recorder and hooks setup in config files
    Florian Schröder authored
    This commit refactors the setup of recorders and hooks in several configuration files. It simplifies the YAML structure, renames "extra_setup_functions" to "hook_callbacks", and replaces "log_path" with "record_path". This makes the configurations cleaner and more intuitive. The update also removes the "func" and "kwargs" in the extra setup functions. Now only hooks are registered. This change should not affect functionality, because until now only hooks were registered as extra setup functions.
environment_config_rl.yaml 4.62 KiB
plates:
  clean_plates: 2
  dirty_plates: 0
  plate_delay: [ 2, 4 ]
  return_dirty: False
  # range of seconds until the dirty plate arrives.

game:
  time_limit_seconds: 300
  undo_dispenser_pickup: true
  validate_recipes: false



layout_chars:
  _: Free
  hash: Counter  # #
  A: Agent
  pipe: Extinguisher
  P: PlateDispenser
  C: CuttingBoard
  X: Trashcan
  $: ServingWindow
  S: Sink
  +: SinkAddon
  at: Plate  # @ just a clean plate on a counter
  U: Pot  # with Stove
  Q: Pan  # with Stove
  O: Peel  # with Oven
  F: Basket  # with DeepFryer
  T: Tomato
  N: Onion  # oNioN
  L: Lettuce
  K: Potato  # Kartoffel
  I: Fish  # fIIIsh
  D: Dough
  E: Cheese  # chEEEse
  G: Sausage  # sausaGe
  B: Bun
  M: Meat
  question: Counter  # ? mushroom
  ↓: Counter
  ^: Counter
  right: Counter
  left: Counter
  wave: Free  # ~ Water
  minus: Free  # - Ice
  dquote: Counter  # " wall/truck
  p: Counter # second plate return ??


orders:
  meals:
    all: true
    # if all: false -> only orders for these meals are generated
    # TODO: what if this list is empty?
    list:
      - TomatoSoup
      - OnionSoup
      - Salad
  order_gen_class: !!python/name:cooperative_cuisine.orders.RandomOrderGeneration ''
  # the class to that receives the kwargs. Should be a child class of OrderGeneration in orders.py
  order_gen_kwargs:
    order_duration_random_func:
      # how long should the orders be alive
      # 'random' library call with getattr, kwargs are passed to the function
      func: uniform
      kwargs:
        a: 40
        b: 60