/// <summary> /// Initializes a new instance of <see cref="GameplayMPClient"/> with specified size of the map /// and <see cref="TcpClient"/> to use for communication with host. /// </summary> /// <param name="mapSize">Size of the map to play with.</param> /// <param name="client"><see cref="TcpClient"/> to use for communication with host.</param> public GameplayMPClient(Size mapSize, TcpClient client) : base(mapSize, Mark.Nought) { NetPlayer remote = new NetPlayer(); connection = new Connection(client); controller = new ClientController(mapSize, connection, 10) { SyncConext = SynchronizationContext.Current }; controller.AddPlayers(remote, new User()); ClientTimer clientTimer = controller.Timing as ClientTimer; connection.DataProcessor.RegisterProcessingUnit(NetPlayer.MarkCode, remote); connection.DataProcessor.RegisterProcessingUnit(NetPlayer.QuitCode, remote); connection.DataProcessor.RegisterProcessingUnit(ClientTimer.TimeCode, clientTimer); connection.DataProcessor.RegisterProcessingUnit(ClientTimer.TimePassedCode, clientTimer); }