from typing import Union from Vec import Vec2 from Door import Door class Trail: def __init__(self, pos: Vec2, nextTrail: Union['Trail', 'Door']): self._isOn = False self.pos = pos self._nextTrail = nextTrail def isOn(self) -> bool: return self._isOn def activate(self) -> None: self._isOn = True self._nextTrail.activate() def deactivate(self) -> None: self._isOn = False self._nextTrail.deactivate()