from __main__ import networking from factories.PlayerStateFactory import PlayerStateFactory from factories.DisplayFactory import DisplayFactory from factories.TargetFactory import TargetFactory from factories.EventFactory import EventFactory from InputHandler import InputHandler from GameState import GameState from Game import Game from lamps.LampGroup import PLAYER_LAMPS class GameFactory: def __init__(self): displayNames = networking.getDisplays()['displays'] self.displayFactory = DisplayFactory(displayNames) self.displays = self.displayFactory.createDisplays() self.specialDisplay = self.displayFactory.createSpecialDisplay() self.playerCount = len(displayNames) self.targets = TargetFactory.createAllTargets() banks = [self.targets['Left Bank'], self.targets['Right Bank'], self.targets['Top Bank']] self.playerStateFactory = PlayerStateFactory(self.specialDisplay, banks, self.displays) PLAYER_LAMPS.activateNext() def createGame(self): inputHandler = InputHandler(self.targets) gameState = GameState(self.playerStateFactory, self.getHighScore(), self.specialDisplay) eventFactory = EventFactory(self.targets, gameState) events = eventFactory.allEvents() return Game(inputHandler, gameState, events) def getHighScore(self): # todo return 0