Esempio n. 1
0
 public static void PluginDetector()
 {
     string[] WH = new string[2];
     while (true)
     {
         Thread.Sleep(TimeOut);
         if (KeySwitch == 1)
         {
             continue;
         }
         foreach (string Item in PluginsList.Keys)
         {
             if (Item == "Info")
             {
                 continue;
             }
             WH = WinHook(PluginsList[Item]["WTitle"], PluginsList[Item]["WClass"]);
             if (WH[0] != null)
             {
                 GlobalPluginLoad(Item, WH[0], WH[1]);
                 P = GetPluginCoord();
                 if (P[0] == 1)
                 {
                     VUILoader(API.GetVUI());
                     SoundPlay("WindowOpened", 0);
                     WinClose(WH[0], WH[1]);
                     KeyUnReg();
                     SoundPlay("WindowClosed", 0);
                 }
                 SubPath = "";
                 CurrentPlugin.Clear();
             }
         }
     }
 }
Esempio n. 2
0
        private static string[] TryUsePlugin(IPluginCreator Plugin)
        {
            try
            {
                if (Plugin.InitializeWithScript)
                {
                    CurrentPlugin = Plugin.Create(CurrentScript);
                }
                else
                {
                    CurrentPlugin = Plugin.Create();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Plugin \"{Plugin.Name}\" Creation Error:\n{ex}");
                return(null);
            }

            try
            {
                return(Plugin.InitializeWithScript ? CurrentPlugin.Import() : CurrentPlugin.Import(CurrentScript));
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Plugin \"{Plugin.Name}\" Load Error:\n{ex}");
                return(null);
            }
        }
Esempio n. 3
0
 public static string GetLoader()
 {
     if (CurrentPlugin.ContainsKey("Loader") == true)
     {
         return(CurrentPlugin["Loader"]);
     }
     else
     {
         return(null);
     }
 }
Esempio n. 4
0
        public static async Task SaveFile(string Name = null)
        {
            if (!CanSave)
            {
                return;
            }

            if (Name == null)
            {
                Name = CurrentName;
            }

            NotSaved = false;
            var Lines = (from x in DialogueBox.Items select x.Value).ToArray();
            var Data  = CurrentPlugin.Export(Lines);
            await FSaver.SaveAsBase64(Name, Convert.ToBase64String(Data), "application/octet-stream");
        }
Esempio n. 5
0
 public static void PluginDetector()
 {
     while (true)
     {
         Thread.Sleep(TimeOut);
         if (KeySwitch == 1)
         {
             continue;
         }
         foreach (string Item in PluginsList.Keys)
         {
             WH = WinHook(PluginsList[Item]["WTitle"], PluginsList[Item]["WClass"]);
             if (WH[0] == null)
             {
                 continue;
             }
             if (WH[1] == null)
             {
                 continue;
             }
             GlobalPluginLoad(Item, WH[0], WH[1]);
             P = GetPluginCoord();
             if (P[0] == 1)
             {
                 VUILoader(API.GetVUI());
                 SoundPlay("WindowOpened", 0);
                 SetWindowPos(GetForegroundWindow(), 0, 50, 50, 0, 0, MKC.SWP_NOSIZE | MKC.SWP_NOACTIVATE | MKC.SWP_NOZORDER);
                 WinClose(WH[0], WH[1]);
                 KeyUnReg();
                 SoundPlay("WindowClosed", 0);
             }
             SubPath = string.Empty;
             CurrentPlugin.Clear();
         }
     }
 }