Files
flippr-game/factories/TargetFactory.py
Jonas Zeunert bb4deaca25 some static
2020-03-09 20:45:17 +01:00

34 lines
959 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(target) != '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