private void OnNotifySuccess(IServerItem item) { Debug.WriteLine("OnNotifySuccess "); //MainListData = data; foreach (var server in serverList) { server.NotifyComplete = null; server.NotifySuccess = null; server.Cancel(); } _serverModel.UpdateServerWithSuccessItem(item); _eventAggregator.Publish(new UserMessage(Messages.ReLogin, lastViewModel)); serverList = null; ServersToCheck = -1; }
private void OnNotifySuccess(IServerItem item) { Debug.WriteLine("OnNotifySuccess "); //MainListData = data; foreach (var server in serverList) { server.NotifyComplete = null; server.NotifySuccess = null; server.Cancel(); } _serverModel.UpdateServerAddr(item.Addr); _eventAggregator.Publish(new UserMessage(Messages.ReLogin, lastViewModel)); serverList = null; ServersToCheck = -1; }
private void OnNotifyComplete(IServerItem item) { item.NotifyComplete = null; item.NotifySuccess = null; ServersToCheck--; Debug.WriteLine("OnNotifyComplete: " + item.Addr); if (item.UserException != null && closedServer == null) { lastException = item.UserException; if (item.UserException.ErrorType == UserErrorTypes.SiteClosed) { closedServer = item; } } }
public void UpdateServerWithSuccessItem(IServerItem item) { //Root/ServerList/Server addr= //var doc = XDocument.; var msg = this.Msg ?? ""; var newItem = new XElement("Server"); newItem.SetAttributeValue("addr", item.Addr); var doc = new XDocument( new XElement("Root", new XElement("ServerList", newItem), new XElement("Message", msg))); StorageHelper.WriteToLocalCache(ConfigFileName, doc.ToString()); UpdateServerAddr(item.Addr); }
public void Open(IServerItem serverItem, IAddon[] addons, bool runAsAdmin = false) { string addonArgs = string.Empty; if (addons.Any()) { addonArgs = $@" ""-mod={string.Join(";", addons.Select(i => i.CommandlinePath).ToArray())}"""; } var serverArgs = serverItem != null ? string.Format(" -connect={0} -port={1}", serverItem.Host, serverItem.Port) : string.Empty; var path = Settings.Default.ArmaPath; var psInfo = new ProcessStartInfo { FileName = Path.Combine(path, "arma3battleye.exe"), Arguments = " 2 1 1 -exe Arma3_x64 -skipintro -noSplash -noPause -world=empty " + addonArgs + serverArgs, // -malloc=system WorkingDirectory = path, UseShellExecute = true }; if (runAsAdmin) { psInfo.Verb = "runsas"; } try { var ps = Process.Start(psInfo); if (ps != null) { ps.EnableRaisingEvents = true; ps.Exited += ps_Exited; } } catch (Exception) { // ignored } }
public async void CheckServerStatus(S1NyanViewModelBase viewModel) { if (isCheckingStatus) { return; } lastViewModel = viewModel; lastException = null; closedServer = null; Util.Indicator.SetText(S1UserException.CheckServerStatus); isCheckingStatus = true; await _serverModel.UpdateListFromRemote(); serverList = _serverModel.List; ServersToCheck = serverList.Count; foreach (var server in serverList) { server.NotifySuccess = OnNotifySuccess; server.NotifyComplete = OnNotifyComplete; server.ParserFactory = _dataService.ParserFactory; server.Check(); } }
private void OnNotifyComplete(IServerItem item) { item.NotifyComplete = null; item.NotifySuccess = null; ServersToCheck--; Debug.WriteLine("OnNotifyComplete: " + item.Addr); if (item.UserException != null && closedServer == null) { lastException = item.UserException; if (item.UserException.ErrorType == UserErrorTypes.SiteClosed) closedServer = item; } }
internal async void CheckServerStatus(S1NyanViewModelBase viewModel) { if (isCheckingStatus) return; lastViewModel = viewModel; lastException = null; closedServer = null; Util.Indicator.SetText(S1UserException.CheckServerStatus); isCheckingStatus = true; await _serverModel.UpdateListFromRemote(); serverList = _serverModel.List; ServersToCheck = serverList.Count; foreach (var server in serverList) { server.NotifySuccess = OnNotifySuccess; server.NotifyComplete = OnNotifyComplete; server.ParserFactory = _dataService.ParserFactory; server.Check(); } }