summaryrefslogtreecommitdiff
path: root/PressurePlate.py
blob: fb3a938302c7d806bf2a13a09966a1d9b97b3b59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

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