Files
flippr-game/factories/TargetFactory.py
Jonas Zeunert 08f95c8d35 typo
2020-03-09 20:46:20 +01:00

34 lines
955 B
Python

from targets import *
from targets.BankTarget import BankTarget
class TargetFactory:
@staticmethod
def createAllTargets():
result = dict()
glo = globals() # Save globals so the dict does not change during execution of the script
for key in glo:
if type(key) != 'class':
continue
target = glo[key]
if 'Target' in key:
result[key] = target()
elif 'Bank' in key and 'Target' not in key:
targets = TargetFactory.createBankTarget(target, key)
result.update(targets)
# todo check with driver?
return result
@staticmethod
def createBankTarget(target, key):
bankTarget = target()
targets = dict()
targets[key] = bankTarget
for target in bankTarget.targets:
name = type(target).__name__
targets[name] = target
return targets