25 lines
692 B
Python
25 lines
692 B
Python
from Target import Target
|
|
|
|
class Bank(Target):
|
|
def __init__(self, points, name, targets):
|
|
super().__init__(points, name)
|
|
self.targets = targets
|
|
self.__register_targets__()
|
|
|
|
def __target_hit__(self, target):
|
|
if all(target.is_hit for target in self.targets):
|
|
self.__all_targets_hit__()
|
|
|
|
def __all_targets_hit__(self):
|
|
self.reset()
|
|
super().hit()
|
|
pass
|
|
|
|
def reset(self):
|
|
logging.info("Reset Bank " + self.name)
|
|
for target in self.targets:
|
|
target.reset()
|
|
|
|
def __register_targets__(self):
|
|
for target in self.targets:
|
|
target.on(target.hit_key, self.__target_hit__) |