mirror of
https://github.com/illiumst/marl-factory-grid.git
synced 2025-12-20 05:56:07 +01:00
# Conflicts: # marl_factory_grid/environment/actions.py # marl_factory_grid/environment/entity/entity.py # marl_factory_grid/environment/factory.py # marl_factory_grid/modules/batteries/rules.py # marl_factory_grid/modules/clean_up/groups.py # marl_factory_grid/modules/destinations/entitites.py # marl_factory_grid/modules/destinations/groups.py # marl_factory_grid/modules/destinations/rules.py # marl_factory_grid/modules/items/rules.py # marl_factory_grid/modules/maintenance/entities.py # marl_factory_grid/utils/config_parser.py # marl_factory_grid/utils/level_parser.py # marl_factory_grid/utils/states.py
26 lines
811 B
Python
26 lines
811 B
Python
from typing import List
|
|
|
|
from .entities import Maintainer
|
|
from marl_factory_grid.environment.entity.wall_floor import Floor
|
|
from marl_factory_grid.environment.groups.env_objects import EnvObjects
|
|
from marl_factory_grid.environment.groups.mixins import PositionMixin
|
|
from ..machines.actions import MachineAction
|
|
from ...utils.states import Gamestate
|
|
|
|
from ..machines import constants as mc
|
|
|
|
|
|
class Maintainers(PositionMixin, EnvObjects):
|
|
|
|
_entity = Maintainer
|
|
var_can_collide = True
|
|
var_can_move = True
|
|
var_is_blocking_light = False
|
|
var_has_position = True
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
super().__init__(*args, **kwargs)
|
|
|
|
def spawn(self, position, state: Gamestate):
|
|
self.add_items([self._entity(state, mc.MACHINES, MachineAction(), pos) for pos in position])
|