public CommunicationServer(IMessageDeserializer messageDeserializer, TimeSpan keepAliveTimeout, int port, IErrorsMessagesFactory errorsMessagesFactory, LoggingMode loggingMode, IPAddress address) { VerboseLogger = new VerboseLogger(LogManager.GetCurrentClassLogger(), loggingMode); _errorsMessagesFactory = errorsMessagesFactory; _socketListener = new AsynchronousSocketListener(port, keepAliveTimeout, messageDeserializer, HandleMessage, address ); _communicationRouter = new CommunicationRouter(); new Thread(() => _socketListener.StartListening(HandleConnectionError)).Start(); }
public GameMaster(GameConfiguration gameConfiguration, ICommunicationClient communicationClient, string gameName, IErrorsMessagesFactory errorsMessagesFactory, LoggingMode loggingMode, IGameMasterMessageFactory gameMasterMessageFactory) { _gameHost = new GameHost(gameName, gameConfiguration, StartGame); _errorsMessagesFactory = errorsMessagesFactory; VerboseLogger = new VerboseLogger(LogManager.GetCurrentClassLogger(), loggingMode); _messagingHandler = new MessagingHandler(gameConfiguration, communicationClient, HostNewGame, gameMasterMessageFactory); _messagingHandler.MessageReceived += (sender, args) => MessageHandler(args); HostNewGame(); }
public Player(ICommunicationClient communicationClient, string gameName, TeamColor preferredColor, PlayerType preferredRole, IErrorsMessagesFactory errorsMessagesFactory, LoggingMode loggingMode, Dictionary <TeamColor, StrategyGroup> strategyGroups) { CommunicationClient = communicationClient; _gameName = gameName; _preferredColor = preferredColor; _preferredRole = preferredRole; _errorsMessagesFactory = errorsMessagesFactory; _strategyGroups = strategyGroups; var factory = new LoggerFactory(); VerboseLogger = new VerboseLogger(factory.GetPlayerLogger(0), loggingMode); _stateCoordinator = new StateCoordinator(gameName, preferredColor, preferredRole); new Thread(() => CommunicationClient.Connect(HandleConnectionError, HandleResponse)).Start(); CommunicationClient.Send(_stateCoordinator.Start()); }