private void OnLogin(string username) { Utility.Log(LogStatus.Ok, "Login", string.Format("Succesfully signed in as {0}", username), Logs.MainLog); Browser.Visibility = Visibility.Visible; TosBrowser.Visibility = Visibility.Visible; try { Utility.MapClassToXmlFile(typeof(Config), Config.Instance, Directories.ConfigFilePath); } catch { MessageBox.Show(Utility.GetMultiLanguageText("ConfigWriteError")); } if (!PathRandomizer.CopyFiles()) { } InjectThread = new Thread( () => { while (true) { if (Config.Instance.Install) { Injection.Pulse(); } Thread.Sleep(3000); } }); InjectThread.Start(); }
private void InitSystem() { PathRandomizer.CopyFiles(); Remoting.Init(); this.InjectThread = new Thread( () => { var trigger = new EdgeTrigger(); trigger.Rising += (sender, args) => { Application.Current.Dispatcher.InvokeAsync( () => { this.icon_connected.Visibility = Visibility.Visible; this.icon_disconnected.Visibility = Visibility.Collapsed; }); }; trigger.Falling += (sender, args) => { Application.Current.Dispatcher.InvokeAsync( async() => { this.icon_connected.Visibility = Visibility.Collapsed; this.icon_disconnected.Visibility = Visibility.Visible; await this.UpdateAccount(); }); }; while (true) { try { Thread.Sleep(3000); if (Config.Instance.Install) { Injection.Pulse(); trigger.Value = Injection.IsInjected; Console.WriteLine(Injection.SharedMemory.Data.IsLoaded); } } catch { // ignored - A task was canceled. } } }); this.InjectThread.SetApartmentState(ApartmentState.STA); this.InjectThread.Start(); }
private void OnLogin(string username) { Utility.Log(LogStatus.Ok, "Login", string.Format("Succesfully signed in as {0}", username), Logs.MainLog); this.Browser.Visibility = Visibility.Visible; this.TosBrowser.Visibility = Visibility.Visible; try { Utility.MapClassToXmlFile(typeof(Config), Config.Instance, Directories.ConfigFilePath); } catch { MessageBox.Show(Utility.GetMultiLanguageText("ConfigWriteError")); } if (!PathRandomizer.CopyFiles()) { } Remoting.Init(); this.InjectThread = new Thread( () => { while (true) { if (Config.Instance.Install) { Injection.Pulse(); } Application.Current.Dispatcher.Invoke( () => { if (Injection.IsInjected) { this.icon_connected.Visibility = Visibility.Visible; this.icon_disconnected.Visibility = Visibility.Collapsed; } else { this.icon_connected.Visibility = Visibility.Collapsed; this.icon_disconnected.Visibility = Visibility.Visible; } }); Thread.Sleep(3000); } }); this.InjectThread.SetApartmentState(ApartmentState.STA); this.InjectThread.Start(); }
private void OnLogin(string username) { Utility.Log(LogStatus.Ok, "Login", string.Format("Succesfully signed in as {0}", username), Logs.MainLog); Browser.Visibility = Visibility.Visible; TosBrowser.Visibility = Visibility.Visible; try { Utility.MapClassToXmlFile(typeof(Config), Config.Instance, Directories.ConfigFilePath); } catch { MessageBox.Show(Utility.GetMultiLanguageText("ConfigWriteError")); } if (!PathRandomizer.CopyFiles()) { MessageBox.Show(Utility.GetMultiLanguageText("RandomizationFailed")); Environment.Exit(0); } Injection.OnInject += hwnd => Task.Factory.StartNew( () => { Injection.SendLoginCredentials(hwnd, Config.Instance.Username, Config.Instance.Password); Injection.SendConfig(hwnd); }); InjectThread = new Thread( () => { while (true) { if (Config.Instance.Install) { Injection.Pulse(); } Thread.Sleep(3000); } }); InjectThread.Start(); }
private void InitSystem() { PathRandomizer.CopyFiles(); Remoting.Init(); this.InjectThread = new Thread( () => { while (true) { if (Config.Instance.Install) { Injection.Pulse(); } Application.Current.Dispatcher.Invoke( () => { if (Injection.IsInjected) { this.icon_connected.Visibility = Visibility.Visible; this.icon_disconnected.Visibility = Visibility.Collapsed; } else { this.icon_connected.Visibility = Visibility.Collapsed; this.icon_disconnected.Visibility = Visibility.Visible; } }); Thread.Sleep(3000); } }); this.InjectThread.SetApartmentState(ApartmentState.STA); this.InjectThread.Start(); }
private void MainWindow_OnLoaded(object sender, RoutedEventArgs e) { Browser.Visibility = Visibility.Hidden; DataContext = this; GeneralSettingsItem.IsSelected = true; #region ContextMenu.DevMenu DevMenu.Visibility = Config.Instance.ShowDevOptions ? Visibility.Visible : Visibility.Collapsed; Config.PropertyChanged += (o, args) => { if (args.PropertyName == "ShowDevOptions") { DevMenu.Visibility = Config.Instance.ShowDevOptions ? Visibility.Visible : Visibility.Collapsed; } }; #endregion if (!File.Exists(Directories.CoreFilePath)) { MessageBox.Show(string.Format("Couldn't find {0}", Path.GetFileName(Directories.CoreFilePath))); Environment.Exit(0); } Updater.MainWindow = this; CheckForUpdates(true, true, false); Updater.GetRepositories( delegate(List <string> list) { if (list.Count > 0) { Config.Instance.KnownRepositories.Clear(); foreach (var repo in list) { Config.Instance.KnownRepositories.Add(repo); } } }); //Try to login with the saved credentials. if (!Auth.Login(Config.Instance.Username, Config.Instance.Password).Item1) { ShowLoginDialog(); } else { OnLogin(Config.Instance.Username); } Config.Instance.FirstRun = false; //Used to reload the assemblies from inside the game. KeyboardHook.SetHook(); KeyboardHook.OnKeyUpTrigger += KeyboardHookOnOnKeyUpTrigger; KeyboardHook.HookedKeys.Add( KeyInterop.VirtualKeyFromKey( Config.Instance.Hotkeys.SelectedHotkeys.First(h => h.Name == "Reload").Hotkey)); KeyboardHook.HookedKeys.Add( KeyInterop.VirtualKeyFromKey( Config.Instance.Hotkeys.SelectedHotkeys.First(h => h.Name == "CompileAndReload").Hotkey)); foreach (var hk in Config.Instance.Hotkeys.SelectedHotkeys) { hk.PropertyChanged += hk_PropertyChanged; } Injection.OnInject += hwnd => Task.Factory.StartNew( () => { Injection.SendConfig(hwnd); Thread.Sleep(1500); foreach (var assembly in Config.Instance.SelectedProfile.InstalledAssemblies.Where(a => a.InjectChecked)) { Injection.LoadAssembly(hwnd, assembly); } }); InjectThread = new Thread( () => { while (true) { if (Config.Instance.Install) { Injection.Pulse(); } Thread.Sleep(3000); } }); InjectThread.Start(); Config.Instance.PropertyChanged += ConfigOnPropertyChanged; foreach (var gameSetting in Config.Instance.Settings.GameSettings) { gameSetting.PropertyChanged += GameSettingOnPropertyChanged; } NewsTabItem.Visibility = Visibility.Hidden; AssembliesTabItem.Visibility = Visibility.Hidden; SettingsTabItem.Visibility = Visibility.Hidden; }
private void MainWindow_OnLoaded(object sender, RoutedEventArgs e) { Utility.CreateFileFromResource(Directories.ConfigFilePath, "LeagueSharp.Loader.Resources.config.xml"); try { Config.Instance = ((Config)Utility.MapXmlFileToClass(typeof(Config), Directories.ConfigFilePath)); } catch (Exception ee) { File.Delete(Directories.ConfigFilePath); System.Windows.MessageBox.Show("Couldn't load config.xml"); Environment.Exit(0); } Browser.Visibility = Visibility.Hidden; DataContext = this; GeneralSettingsItem.IsSelected = true; if (!File.Exists(Directories.CoreFilePath)) { System.Windows.MessageBox.Show(string.Format("Couldn't find {0}", Path.GetFileName(Directories.CoreFilePath))); Environment.Exit(0); } Updater.MainWindow = this; Updater.UpdateLoader(); Updater.GetRepositories( delegate(List <string> list) { if (list.Count > 0) { Config.Instance.KnownRepositories.Clear(); foreach (var repo in list) { Config.Instance.KnownRepositories.Add(repo); } } }); if (Config.Instance.FirstRun) { LSUriScheme.CreateRegistryKeys(false); } //Try to login with the saved credentials. if (!Auth.Login(Config.Instance.Username, Config.Instance.Password).Item1) { ShowLoginDialog(); } else { OnLogin(Config.Instance.Username); } Config.Instance.FirstRun = false; //Used to reload the assemblies from inside the game. KeyboardHook.SetHook(); KeyboardHook.OnKeyUpTrigger += KeyboardHookOnOnKeyUpTrigger; KeyboardHook.HookedKeys.Add(KeyInterop.VirtualKeyFromKey(Config.Instance.Hotkeys.SelectedHotkeys.First(h => h.Name == "Reload").Hotkey)); KeyboardHook.HookedKeys.Add(KeyInterop.VirtualKeyFromKey(Config.Instance.Hotkeys.SelectedHotkeys.First(h => h.Name == "CompileAndReload").Hotkey)); foreach (var hk in Config.Instance.Hotkeys.SelectedHotkeys) { hk.PropertyChanged += hk_PropertyChanged; } InjectThread = new Thread( () => { while (true) { if (Config.Instance.Install) { Injection.Pulse(); } Thread.Sleep(3000); } }); InjectThread.Start(); Config.Instance.PropertyChanged += ConfigOnPropertyChanged; foreach (var gameSetting in Config.Instance.Settings.GameSettings) { gameSetting.PropertyChanged += GameSettingOnPropertyChanged; } SettingsTabItem.Visibility = Visibility.Hidden; }
private void MainWindow_OnLoaded(object sender, RoutedEventArgs e) { Utility.CreateFileFromResource("config.xml", "LeagueSharp.Loader.Resources.config.xml"); Config = ((Config)Utility.MapXmlFileToClass(typeof(Config), "config.xml")); Browser.Visibility = Visibility.Hidden; DataContext = this; GeneralSettingsItem.IsSelected = true; if (!File.Exists(Path.Combine(Directories.CoreDirectory, "Leaguesharp.Core.dll"))) { System.Windows.Forms.MessageBox.Show("Couldn't find Leaguesharp.Core.dll"); Environment.Exit(0); } Updater.Update(); Updater.GetPositories( delegate(List <string> list) { if (list.Count > 0) { Config.KnownRepositories.Clear(); foreach (var repo in list) { Config.KnownRepositories.Add(repo); } } }); if (Config.FirstRun) { LSUriScheme.CreateRegistryKeys(false); } LogsDataGrid.ItemsSource = Logs.MainLog.Items; //Try to login with the saved credentials. if (!Auth.Login(Config.Username, Config.Password).Item1) { ShowLoginDialog(); } else { OnLogin(Config.Username); } Config.FirstRun = false; PrepareAssemblies(Config.SelectedProfile.InstalledAssemblies, Config.FirstRun || Config.UpdateOnLoad, true); //Used to reload the assemblies from inside the game. KeyboardHook.SetHook(); KeyboardHook.OnKeyUpTrigger += KeyboardHookOnOnKeyUpTrigger; InjectThread = new Thread( () => { while (true) { if (Config.Install) { Injection.Pulse(); } Thread.Sleep(3000); } }); InjectThread.Start(); Config.PropertyChanged += ConfigOnPropertyChanged; foreach (var gameSetting in Config.Settings.GameSettings) { gameSetting.PropertyChanged += GameSettingOnPropertyChanged; } }