Files
flippr-game/factories/TargetFactory.py
2020-05-03 19:41:01 +02:00

33 lines
1.0 KiB
Python

from targets import *
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(glo[key]) is not type and "TargetFactory" in key:
continue
target = glo[key]
if 'Target' in key and 'Bank' not in key and key not in ['Target', 'BankTarget']:
targetObject = target()
result[targetObject.name] = targetObject
elif 'Bank' in key and 'Target' not in key and key not in ['Bank', 'BankTarget']:
targets = TargetFactory.createBankTarget(target)
result.update(targets)
# todo check with driver?
return result
@staticmethod
def createBankTarget(target):
bankTarget = target()
targets = dict()
targets[bankTarget.name] = bankTarget
for target in bankTarget.targets:
targets[target.name] = target
return targets