/// <summary> /// Constructs a new GameNetworkListener object and initializes all values. /// </summary> /// <param name="customPort">The port to run the listener on</param> /// <param name="contentPackages">The content packages to be streamed to users on connection.</param> public GameNetworkListener(int customPort, List<ContentPackage> contentPackages) { WebUtility = new WebServiceClientUtility(); if (customPort <= 0) { customPort = GameServerConfiguration.DefaultGamePort; } Agent = new NetworkAgent(NetworkAgentRoleEnum.Server, GameServerConfiguration.ApplicationID, customPort); Agent.OnConnected += Agent_OnConnectionEstablished; Agent.OnDisconnected += Agent_OnDisconnected; this._contentPackages = contentPackages; _contentPackageNames = new List<string>(); _contentPackagePaths = new List<string>(); if (contentPackages != null) { foreach (ContentPackage package in contentPackages) { _contentPackageNames.Add(package.FileName); _contentPackagePaths.Add(DirectoryPaths.ContentPackageDirectoryPath + package.FileName); } } FileExtensionFactory = new FileExtensionFactory(); FileTransferClients = new Dictionary<NetConnection, FileTransferProgress>(); Model = new GameNetworkListenerModel(); }
private void CustomInitialize() { WebUtility = new WebServiceClientUtility(); FileExtensionFactory = new FileExtensionFactory(); MissingFiles = new List<string>(); AwesomiumWebView.DocumentReady += OnDocumentReady; WinterEngineService.InitializeNetworkClient(); WinterEngineService.NetworkClient.OnPacketReceived += NetworkClient_OnPacketReceived; }
private void OnWindowLoaded(object sender, RoutedEventArgs e) { ViewModel = new ServerViewModel(); WebUtility = new WebServiceClientUtility(); MasterServerDispatcherTimer = new DispatcherTimer(new TimeSpan(0, 0, 2), DispatcherPriority.Normal, new EventHandler(SendServerDetailsToMasterServerAsync), Dispatcher.CurrentDispatcher); MasterServerDispatcherTimer.Stop(); GameServerDispatcherTimer = new DispatcherTimer(new TimeSpan(0, 0, 0, 0, 5), DispatcherPriority.Normal, new EventHandler(ProcessGameServer), Dispatcher.CurrentDispatcher); GameServerDispatcherTimer.Stop(); OpenFile = new OpenFileDialog(); InitializeOpenFileDialog(); SetViewModelBindings(); LoadSettings(); UpdateExternalIPAddressAsync(); }