예제 #1
0
        public HostServerViewModel(INetworkInteractionFactory networkInteractionFactory, IEventAggregator eventAggregator, INetworkService networkService, IPlayServerService playServerService)
        {
            _networkInteractionFactory = networkInteractionFactory;
            _eventAggregator           = eventAggregator;
            _networkService            = networkService;
            _playServerService         = playServerService;

            playServerService.ClientConnected    += (sender, e) => ConnectedUsers.Add(e.Address);
            playServerService.ClientDisconnected += (sender, e) => ConnectedUsers.Remove(e.Address);

            Task.Run(async() => await networkService.ConfigureMachineForHosting().ContinueWith(task =>
            {
                HostAddress = new NetworkAddress(networkService.ExternalIp, networkService.Port);
                IsLoading   = false;
            }));
        }