コード例 #1
0
 public InjectionScriptEngine(InjectionHost injection, IConsole scriptOutput)
 {
     this.injection            = injection;
     this.scriptOutput         = scriptOutput;
     this.fileWatcher.Changed += ScriptFileChanged;
     timer = new System.Timers.Timer(1000)
     {
         AutoReset = true
     };
     timer.Elapsed += (timerElapsedSender, timerElapsedArgs) =>
     {
         lock (currentFileLock)
         {
             if (fileChanged)
             {
                 timer.Stop();
                 try
                 {
                     ExecuteScript(currentFileName, new CancellationTokenSource()).Wait();
                 }
                 finally
                 {
                     timer.Start();
                     fileChanged = false;
                 }
             }
         }
     };
     timer.Start();
 }
コード例 #2
0
 public void Open(InjectionRuntime runtime, InjectionApiUO injectionApi, Legacy infusionApi, InjectionHost host)
 => InjectionWindow.Open(runtime, injectionApi, infusionApi, host);
コード例 #3
0
 public static void Open(InjectionRuntime runtime, InjectionApiUO injectionApi, Legacy infusionApi, InjectionHost host)
 => Open(new InjectionObjectServices(runtime.Objects, injectionApi, infusionApi), new ScriptServices(runtime, host), new MainServices(infusionApi, host),
         new InjectionConfiguration(infusionApi.Config, host.InjectionOptions));
コード例 #4
0
 public MainServices(Legacy infusionApi, InjectionHost injectionHost)
 {
     this.infusionApi   = infusionApi;
     this.injectionHost = injectionHost;
 }