Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
 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);
                 }
             }
         }
     }
 }