private void ProfilesButton_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count <= 0 || e.RemovedItems.Count <= 0) { return; } var oldProfile = (Profile)e.RemovedItems[0]; var newProfile = (Profile)e.AddedItems[0]; if (Injection.IsInjected) { var hwnd = Injection.GetLeagueWnd(); foreach (var assembly in oldProfile.InstalledAssemblies.Where(a => a.InjectChecked)) { Injection.UnloadAssembly(hwnd, assembly); } var assembliesToLoad = newProfile.InstalledAssemblies.Where(a => a.InjectChecked || a.Type == AssemblyType.Library); foreach (var assembly in assembliesToLoad) { Injection.LoadAssembly(hwnd, assembly); } } TextBoxBase_OnTextChanged(null, null); }
private void KeyboardHookOnOnKeyUpTrigger(int vKeyCode) { if (!Injection.IsInjected) { return; } var reloadVKey = KeyInterop.VirtualKeyFromKey(Config.Instance.Hotkeys.SelectedHotkeys.First(h => h.Name == "Reload").Hotkey); var reloadAndCompileVKey = KeyInterop.VirtualKeyFromKey( Config.Instance.Hotkeys.SelectedHotkeys.First(h => h.Name == "CompileAndReload").Hotkey); if (vKeyCode == reloadVKey || vKeyCode == reloadAndCompileVKey) { var hwnd = Injection.GetLeagueWnd(); var targetAssemblies = Config.Instance.SelectedProfile.InstalledAssemblies.Where( a => a.InjectChecked || a.Type == AssemblyType.Library).ToList(); foreach (var assembly in targetAssemblies) { Injection.UnloadAssembly(hwnd, assembly); } if (vKeyCode == reloadAndCompileVKey) { //Recompile the assemblies: foreach (var assembly in targetAssemblies) { if (assembly.Type == AssemblyType.Library) { assembly.Compile(); } } foreach (var assembly in targetAssemblies) { if (assembly.Type != AssemblyType.Library) { assembly.Compile(); } } } foreach (var assembly in targetAssemblies) { Injection.LoadAssembly(hwnd, assembly); } Injection.SendConfig(hwnd); } }
private void ConfigOnPropertyChanged(object sender, PropertyChangedEventArgs propertyChangedEventArgs) { if (propertyChangedEventArgs.PropertyName == "Install") { if (Injection.IsInjected) { var hwnd = Injection.GetLeagueWnd(); if (!Config.Instance.Install) { foreach (var assembly in Config.Instance.SelectedProfile.InstalledAssemblies.Where(a => a.InjectChecked)) { Injection.UnloadAssembly(hwnd, assembly); } } else { foreach (var assembly in Config.Instance.SelectedProfile.InstalledAssemblies.Where(a => a.InjectChecked)) { Injection.LoadAssembly(hwnd, assembly); } } } } }