예제 #1
0
        /// <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();
        }
예제 #2
0
        private void CustomInitialize()
		{
            WebUtility = new WebServiceClientUtility();
            FileExtensionFactory = new FileExtensionFactory();
            MissingFiles = new List<string>();

            AwesomiumWebView.DocumentReady += OnDocumentReady;

            WinterEngineService.InitializeNetworkClient();
            WinterEngineService.NetworkClient.OnPacketReceived += NetworkClient_OnPacketReceived;
		}
예제 #3
0
        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();
        }