39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
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
|
|
|
|
class GameFactory:
|
|
def __init__(self):
|
|
displayNames = networking.getDisplays()['displays']
|
|
self.displayFactory = DisplayFactory(displayNames)
|
|
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.displayFactory)
|
|
|
|
|
|
def createGame(self):
|
|
inputHandler = InputHandler(self.targets)
|
|
|
|
gameState = GameState(self.playerStateFactory, self.getHighScore(), self.specialDisplay, players[0].id)
|
|
|
|
eventFactory = EventFactory(self.targets, gameState)
|
|
events = eventFactory.allEvents()
|
|
|
|
return Game(inputHandler, gameState, events)
|
|
|
|
def getHighScore(self): # todo
|
|
return 0 |