from Vec import Vec2 from Trail import Trail from Door import Door from typing import Union class PressurePlate: def __init__(self, pos: Vec2) -> None: self.pos = pos self._trails: list[Union[Trail, Door]] = [] self._isActive = False def addTrail(self, trail: Union[Trail, Door]) -> None: self._trails.append(trail) def isActive(self) -> bool: return self._isActive def activate(self) -> None: for trail in self._trails: trail.activate() self._isActive = True def deactivate(self) -> None: for trail in self._trails: trail.deactivate() self._isActive = False