internal void DeRegisterRunManager(RunManager runManager)
 {
     lock (_registeredRunManagersLock)
     {
         _registeredRunManagers.Remove(runManager);
     }
 }
 // Initialization
 void Awake()
 {
     // get reference to runManager
     runManager = Object.FindObjectOfType<RunManager>();
     // bar will actually go larger than this due to energy increasing jump cap
     maxBarHeight = 1f;
 }
 public void Awake()
 {
     // get reference to runManager
     runManager  = Object.FindObjectOfType <RunManager>();
     gameManager = Object.FindObjectOfType <GameManager>();
     canvas.SetActive(false);
 }
Esempio n. 4
0
    // Initialization
    void Start()
    {
        // get reference to gameManager
        gameManager = Object.FindObjectOfType <GameManager>();
        // get reference to runManager
        runManager = Object.FindObjectOfType <RunManager>();

        // set activity platform label (todo: make nicer!)
        GameObject platform = this.transform.parent.transform.parent.gameObject;

        ap = platform.GetComponent <ActivityPlatform>();
        scheduleCollectableOffset = new Vector2(1.3f, .8f);
        if (ap.activity != null)
        {
            string prefix = ap.jumpNumber.ToString() + ") ";
            gameObject.GetComponent <TextMeshProUGUI>().text = prefix + ap.activity.name.ToString();
            // spawn collectible for scheduled activities
            if (gameManager.profile.GetSchedule(runManager.runState.timeSteps + 1) == ap.activity)
            {
                gameObject.GetComponent <TextMeshProUGUI>().text = gameObject.GetComponent <TextMeshProUGUI>().text;
                scheduleCollectable = Instantiate(ScheduleCollectablePrefab, ap.transform);
                scheduleCollectable.transform.localPosition = scheduleCollectableOffset;
            }
        }
    }
Esempio n. 5
0
        public MilkyManager()
        {
            KeyboardListener = KeyboardListener.GetOrNewInstance();

            ConsoleLoops    = ConsoleLoops.GetOrNewInstance();
            LoopsManager    = LoopsManager.GetOrNewInstance();
            StatisticsLoops = StatisticsLoops.GetOrNewInstance();

            OutputSettings = OutputSettings.GetOrNewInstance();

            ProgramInformations = ProgramInformations.GetOrNewInstance();
            ProgramManager      = ProgramManager.GetOrNewInstance();

            RunInformations = RunInformations.GetOrNewInstance();
            RunLists        = RunLists.GetOrNewInstance();
            RunManager      = RunManager.GetOrNewInstance();

            ConsoleSettings = ConsoleSettings.GetOrNewInstance();
            RunSettings     = RunSettings.GetOrNewInstance();

            CustomStatistics = CustomStatistics.GetOrNewInstance();
            RunStatistics    = RunStatistics.GetOrNewInstance();

            ConsoleUtils  = ConsoleUtils.GetOrNewInstance();
            DateTimeUtils = DateTimeUtils.GetOrNewInstance();
            FileUtils     = FileUtils.GetOrNewInstance();
            FormatUtils   = FormatUtils.GetOrNewInstance();
            HashUtils     = HashUtils.GetOrNewInstance();
            ListUtils     = ListUtils.GetOrNewInstance();
            RequestUtils  = RequestUtils.GetOrNewInstance();
            StringUtils   = StringUtils.GetOrNewInstance();
            UserUtils     = UserUtils.GetOrNewInstance();
        }
Esempio n. 6
0
        static void MANAGE_RUN(string inputSeed, bool immediateRestart = false)
        {
            SoulsMod mod  = new SoulsMod(MOD_PATH, ".smbak");
            DSRHook  hook = new DSRHook(5000, 5000);

            hook.Start();

            Console.WriteLine("Waiting for game application to start...");
            while (!hook.Hooked)
            {
                Thread.Sleep(100);
            }

            Console.WriteLine("Waiting for game to be loaded...");
            while (!hook.Loaded)
            {
                Thread.Sleep(100);
            }

            Console.WriteLine("Hooked.");
            Console.WriteLine("Roguelike Souls manager starting...");
            RunManager runManager = new RunManager(mod, hook, inputSeed);

            runManager.RunMainLoop(immediateRestart);
        }
 public RunManager()
 {
     if (instance)
     {
         return;
     }
     instance = this;
 }
 void Awake()
 {
     anim = GetComponent <Animator>();
     rb2d = GetComponent <Rigidbody2D>();
     // get reference to runManager
     runManager  = Object.FindObjectOfType <RunManager>();
     thoughtMenu = Object.FindObjectOfType <ThoughtMenu>();
 }
Esempio n. 9
0
 // Initialization
 void Awake()
 {
     // get reference to runManager
     runManager  = Object.FindObjectOfType <RunManager>();
     thoughtMenu = Object.FindObjectOfType <ThoughtMenu>();
     bubble      = transform.Find("Bubble").gameObject;
     text        = transform.Find("Text").gameObject;
 }
Esempio n. 10
0
        public override void OnCreate(Android.OS.Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            mRunManager = RunManager.Get(Activity);
            CurrentLocationReceiver = new RunLocationReceiver(this);
            Activity.RegisterReceiver(CurrentLocationReceiver, new IntentFilter(RunManager.ACTION_LOCATION));
        }
Esempio n. 11
0
    void GameWon()
    {
        miniGameDetails.Won     = true;
        miniGameDetails.WinTime = miniGameDetails.LimitTime - _time;
        RunManager.AddCompletedLevel(miniGameDetails);

        Debug.Log("Game Win");
        GameCompleted();
    }
    List <Note> nearestNotes  = new List <Note>(); // notes from the active group arriving at the same time

    void Awake()
    {
        // get reference to managers + player
        runManager      = Object.FindObjectOfType <RunManager>();
        gameManager     = Object.FindObjectOfType <GameManager>();
        tutorialManager = Object.FindObjectOfType <TutorialManager>();
        player          = Object.FindObjectOfType <PlayerController>();
        beamWidth       = 0;
    }
Esempio n. 13
0
 void Awake()
 {
     runManager    = FindObjectOfType <RunManager>();
     rhythmManager = FindObjectOfType <RhythmManager>();
     hitArea       = GameObject.FindWithTag("HitArea").transform;
     icon          = transform.Find("Icon").GetComponent <SpriteRenderer>();
     arrow         = transform.Find("Arrow").GetComponent <SpriteRenderer>();
     xMark         = transform.Find("XMark").GetComponent <SpriteRenderer>();
 }
Esempio n. 14
0
        public IActionResult OnPost([FromBody] AwsMessage message)
        {
            _logger.Info(Request.GetBody());

            var context = message.CreateContext("slack");

            var result = RunManager.Create().RunWithTimeout(_runner, context, TimeSpan.FromSeconds(GlobalAppSettings.RunTimeoutInSeconds));

            return(Ok(DialogAction.Create("Close", "Fulfilled", result)));
        }
Esempio n. 15
0
        /// <summary>
        /// 开始执行工作流时触发
        /// </summary>
        /// <param name="obj">对象</param>
        private void BeginRun(RunManager obj)
        {
            //流程运行开始……
            SharedObject.Instance.Output(SharedObject.enOutputType.Trace, ResxIF.GetString("TheProcessStarted"));

            //不应该更新状态为START,不然和用户自己设置的标识冲突了
            //Task.Run(async()=> {
            //    await ControlServerService.UpdateRunStatus(obj.m_packageItem.Name, obj.m_packageItem.Version, ControlServerService.enProcessStatus.Start);
            //});


            if (FFmpegService != null)
            {
                FFmpegService.StopCaptureScreen();
                FFmpegService = null;
            }

            if (ViewModelLocator.Instance.UserPreferences.IsEnableScreenRecorder)
            {
                //屏幕录像开始……
                SharedObject.Instance.Output(SharedObject.enOutputType.Trace, ResxIF.GetString("ScreenRecordingStarted"));
                var screenRecorderFilePath = App.LocalRPAStudioDir + @"\ScreenRecorder\" + obj.m_packageItem.Name + @"(" + DateTime.Now.ToString(ResxIF.GetString("YYYYMMDD")) + ").mp4";
                FFmpegService = new FFmpegService(screenRecorderFilePath, ViewModelLocator.Instance.UserPreferences.FPS, ViewModelLocator.Instance.UserPreferences.Quality);//默认存到%localappdata%下RPASTUDIO下的ScreenRecorder目录下

                Task.Run(() =>
                {
                    FFmpegService.StartCaptureScreen();
                });

                //等待屏幕录像ffmpeg进程启动
                int wait_count = 0;
                while (!FFmpegService.IsRunning())
                {
                    wait_count++;
                    Thread.Sleep(300);
                    if (wait_count == 10)
                    {
                        break;
                    }
                }
            }


            Common.RunInUI(() => {
                m_view.Hide();

                obj.m_packageItem.IsRunning = true;

                IsWorkflowRunning      = true;
                WorkflowRunningName    = obj.m_packageItem.Name;
                WorkflowRunningToolTip = obj.m_packageItem.ToolTip;
                WorkflowRunningStatus  = ResxIF.GetString("RunningText"); //正在运行
            });
        }
Esempio n. 16
0
 private void Awake()
 {
     if (_instance != null && _instance != this)
     {
         Destroy(this.gameObject);
     }
     else
     {
         _instance = this;
     }
 }
Esempio n. 17
0
        private void StartNewRun(Params currParams)
        {
            _runManager = new RunManager(currParams, GridSize, GridSize, new Random());

            for (int row = 0; row < GridSize; row++)
            {
                for (int column = 0; column < GridSize; column++)
                {
                    _imageGrid[row, column].DataContext = _runManager.GrassBoard.GrassCells[row][column];
                }
            }
        }
Esempio n. 18
0
        private void Start()
        {
            LeaderboardsModal        = m_leaderboardsModal;
            PlayAndLeaderboardsModal = m_playAndLeaderboardsModal;
            GameOverModal            = m_gameOverModal;
            PauseModal = m_pauseModal;

            RunManager = FindObjectOfType <RunManager>();

            DisplayPauseButton(false);
            DisplayScore(false);
        }
Esempio n. 19
0
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
         DontDestroyOnLoad(gameObject);
     }
     else
     {
         Destroy(gameObject);
     }
 }
        private async Task <bool> Run(string resFilename, RunManager runMgr)
        {
            TestSuites testsuites = await runMgr.Execute();

            if (await SaveResults(resFilename, testsuites))
            {
                return(testsuites?.ListOfTestSuites.Any(ts => ts.ListOfTestCases.Any()) == true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 21
0
 // Initialization
 void Awake()
 {
     // get reference to runManager
     runManager = Object.FindObjectOfType <RunManager>();
     // get reference to gameManager
     gameManager     = Object.FindObjectOfType <GameManager>();
     tutorialManager = Object.FindObjectOfType <TutorialManager>();
     // record emotion fill colors
     emotionFillColors = new Dictionary <EmotionType, Color>();
     emotionFillColors.Add(EmotionType.anxiety, anxietyMeter.transform.Find("Filler").GetComponent <Image>().color);
     emotionFillColors.Add(EmotionType.frustration, frustrationMeter.transform.Find("Filler").GetComponent <Image>().color);
     emotionFillColors.Add(EmotionType.despair, despairMeter.transform.Find("Filler").GetComponent <Image>().color);
 }
Esempio n. 22
0
        // POST api/<controller>
        public IHttpActionResult Post([FromBody] Params currParams)
        {
            if (currParams == null)
            {
                return(BadRequest());
            }

            var runManager = new RunManager(currParams, GameConstants.GridSize, GameConstants.GridSize, new Random());

            var gameId = Guid.NewGuid().ToString();

            HttpContext.Current.Application.Add(gameId, runManager);

            return(Ok(gameId));
        }
Esempio n. 23
0
        public static void Main(string[] args)
        {
            PrintVersionInfo(typeof(Program).GetTypeInfo().Assembly);

            CommandLine commandLine = CommandLine.Parse(args);

            if (commandLine.DesignTime)
            {
                throw new NotSupportedException("DesignTime mode is not supported yet.");
            }

            string assemblyPath = commandLine.AssemblyFile;

            Assembly testAssembly  = AssemblyHelper.LoadTestAssemblyOrDependency(assemblyPath);
            Assembly mspecAssembly = AssemblyHelper.LoadTestAssemblyOrDependency(
                Path.Combine(Path.GetDirectoryName(assemblyPath), "Machine.Specifications.dll")
                );

            PrintVersionInfo(mspecAssembly);

            ConsoleOutputRunListener  runListener   = new ConsoleOutputRunListener();
            ISpecificationRunListener allListeneres = new AggregateRunListener(new ISpecificationRunListener[] {
                runListener,
                new AssemblyLocationAwareRunListener(new[] { testAssembly })
            });



            var testController = new TestController(mspecAssembly, allListeneres);

            if (commandLine.List)
            {
                Console.WriteLine(testController.DiscoverTestsRaw(testAssembly));
            }
            else
            {
                var runBuilder      = new RunBuilder(testController);
                var runManager      = new RunManager(testController, runBuilder);
                var assembliesToRun = new[] { testAssembly };
                runManager.Run(commandLine, assembliesToRun);

                if (runListener.FailureOccurred)
                {
                    Environment.Exit(-1);
                }
            }
        }
Esempio n. 24
0
        private void BeginRun(RunManager obj)
        {
            SharedObject.Instance.Output(SharedObject.enOutputType.Trace, "流程运行开始……", null);
            if (this.FFmpegService != null)
            {
                this.FFmpegService.StopCaptureScreen();
                this.FFmpegService = null;
            }
            if (ViewModelLocator.Instance.UserPreferences.IsEnableScreenRecorder)
            {
                SharedObject.Instance.Output(SharedObject.enOutputType.Trace, "屏幕录像开始……", null);
                var screenCaptureSavePath = Path.Combine(
                    App.LocalRPAStudioDir,
                    "ScreenRecorder",
                    obj.m_packageItem.Name,
                    "(",
                    DateTime.Now.ToString("yyyy年MM月dd日HH时mm分ss秒"),
                    ").mp4"
                    );
                FFmpegService = new FFmpegService(screenCaptureSavePath, ViewModelLocator.Instance.UserPreferences.FPS, ViewModelLocator.Instance.UserPreferences.Quality);
                Task.Run(FFmpegService.StartCaptureScreen);

                // 三秒
                int num = 0;
                while (!FFmpegService.IsRunning())
                {
                    num++;
                    Thread.Sleep(300);
                    if (num == 10)
                    {
                        break;
                    }
                }
            }

            Common.RunInUI(() =>
            {
                ViewModelLocator.Instance.Main.m_view.Hide();

                obj.m_packageItem.IsRunning = true;

                IsWorkflowRunning      = true;
                WorkflowRunningName    = obj.m_packageItem.Name;
                WorkflowRunningToolTip = obj.m_packageItem.ToolTip;
                WorkflowRunningStatus  = "正在运行";
            });
        }
Esempio n. 25
0
        private void ThreadCode()
        {
            int Gener = 0;

            do
            {
                bool Run = false;

                lock (ThreadLock)
                {
                    if (isStarted && RunManager != null)
                    {
                        Run = true;
                    }
                }

                if (Run)
                {
                    if (GensToRun > 0)
                    {
                        int res = RunManager.StartRun(1);

                        if (IsAutosaving)
                        {
                            try
                            {
                                Directory.CreateDirectory(AutosaveLocation);

                                string filename = Path.Combine(AutosaveLocation, "Backup_" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ffffff") + ".xml");

                                SaveRunGAToFile(RunManager, filename);
                            }
                            catch (Exception e)
                            {
                            }
                        }
                    }
                }
                Gener++;
            } while (Gener < GensToRun);

            lock (ThreadLock)
            {
                isStarted = false;
            }
        }
Esempio n. 26
0
        private RunManagerDto Convert(RunManager runManager)
        {
            var grassCells = new string[runManager.GrassBoard.RowLength, runManager.GrassBoard.ColumnLength];

            for (int i = 0; i < runManager.GrassBoard.RowLength; i++)
            {
                for (int j = 0; j < runManager.GrassBoard.ColumnLength; j++)
                {
                    grassCells[i, j] = runManager.GrassBoard.GrassCells[i][j].IsAlive ? "Live" : "Dead";
                }
            }

            var snakes = new List <SnakeDto>();

            foreach (var snake in runManager.Snakes)
            {
                var snakeDto = new SnakeDto();

                foreach (var location in snake.Locations)
                {
                    snakeDto.Locations.Add(new SnakeCellDto
                    {
                        RowIndex    = location.RowIndex,
                        ColumnIndex = location.ColumnIndex
                    });
                    if (grassCells[location.RowIndex, location.ColumnIndex] == "Live")
                    {
                        grassCells[location.RowIndex, location.ColumnIndex] = "Live_Snake";
                    }
                    if (grassCells[location.RowIndex, location.ColumnIndex] == "Dead")
                    {
                        grassCells[location.RowIndex, location.ColumnIndex] = "Dead_Snake";
                    }
                }

                snakes.Add(snakeDto);
            }

            return(new RunManagerDto
            {
                GrassCellsState = grassCells,
                Snakes = snakes,
                HasEnded = runManager.HasEnded
            });
        }
Esempio n. 27
0
        /// <summary>
        /// Creates run from template
        /// </summary>
        /// <param name="templateRun"></param>
        /// <param name="runRepository"></param>
        /// <returns></returns>
        private Run CreateRunFromTemplate(Run templateRun, IRunRepository runRepository)
        {
            using (var scope = _repositoryFactory.BeginRepositoryScope())
            {
                // Get sales areas for the run
                var salesAreaRepository = scope.CreateRepository <ISalesAreaRepository>();

                var salesAreas = RunManager.GetSalesAreas(templateRun, salesAreaRepository.GetAll());

                // Set the default run start date time using today's date and time from template run, use it as the starting point to try and
                // find some schedule data.
                DateTime startingDateTime = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, templateRun.StartDate.Hour, templateRun.StartDate.Minute, templateRun.StartDate.Second, templateRun.StartDate.Millisecond, templateRun.StartDate.Kind);

                // Clone template run, reset it, set date range
                Run cloneRun = (Run)templateRun.Clone();
                cloneRun.Id                     = Guid.NewGuid();
                cloneRun.Description            = $"Deployment Test ({GetVersion().Version})";
                cloneRun.CreatedDateTime        = DateTime.UtcNow;
                cloneRun.ExecuteStartedDateTime = null;
                cloneRun.LastModifiedDateTime   = cloneRun.CreatedDateTime;
                cloneRun.IsLocked               = false;
                cloneRun.Scenarios.ForEach(scenario => scenario.ResetToPendingStatus());
                cloneRun.StartDate = GetRunStartDate(startingDateTime, salesAreas, 90);
                if (cloneRun.StartDate == DateTime.MaxValue)
                {
                    throw new Exception("Unable to determine start date for test run due to insufficient data");
                }
                cloneRun.EndDate = cloneRun.StartDate.AddDays(1);
                cloneRun.Real    = false;  // Flag that it's not a real run

                // Clear IDs so that we can assign new ones
                //IdUpdater.ClearIds(cloneRun);
                cloneRun.Id       = Guid.Empty;
                cloneRun.CustomId = 0;

                // Set new IDs
                IdUpdater.SetIds(cloneRun, _identityGeneratorResolver);

                // Save run
                runRepository.Add(cloneRun);
                runRepository.SaveChanges();
                return(cloneRun);
            }
        }
Esempio n. 28
0
        public async Task Execute(IJobExecutionContext context)
        {
            RunManager.Logger.LogDebug("ConnectionManagerJob");

            RunManager.Clock = await RunManager.AlpacaTradingClient.GetClockAsync();

            RunManager.Logger.LogDebug($"Market IsOpen: {RunManager.Clock.IsOpen}");

            if (RunManager.Clock.IsOpen)
            {
                // Market should be open.  We need to ensure we are connected and subscribed.
                await RunManager.Connect();
            }
            else
            {
                // Market should be closed.  We need to ensure we are disconnected and unsubscribed.
                await RunManager.Disconnect();
            }
        }
Esempio n. 29
0
    public void SaveConfigForIncrement(RunManager manager)
    {
        var buffer = new StringBuilder();

        buffer.Append("default:\r\n");
        buffer.Append("    " + "trainer: ppo" + "\r\n");
        buffer.Append("    " + "batch_size: 1024" + "\r\n");
        buffer.Append("    " + "beta: 5.0e-3" + "\r\n");
        buffer.Append("    " + "buffer_size: 10240" + "\r\n");
        buffer.Append("    " + "epsilon: 0.2" + "\r\n");
        buffer.Append("    " + "gamma: 0.99" + "\r\n");
        buffer.Append("    " + "hidden_units: 128" + "\r\n");
        buffer.Append("    " + "lambd: 0.95" + "\r\n");
        buffer.Append("    " + "learning_rate: 3.0e-4" + "\r\n");
        buffer.Append("    " + "max_steps: 5.0e4" + "\r\n");
        buffer.Append("    " + "memory_size: 256" + "\r\n");
        buffer.Append("    " + "normalize: false" + "\r\n");
        buffer.Append("    " + "num_epoch: 3" + "\r\n");
        buffer.Append("    " + "num_layers: 2" + "\r\n");
        buffer.Append("    " + "time_horizon: 64" + "\r\n");
        buffer.Append("    " + "sequence_length: 64" + "\r\n");
        buffer.Append("    " + "summary_freq: 1000" + "\r\n");
        buffer.Append("    " + "use_recurrent: false" + "\r\n");
        buffer.Append("    " + "use_curiosity: false" + "\r\n");
        buffer.Append("    " + "use_recurrent: false" + "\r\n");
        buffer.Append("    " + "curiosity_strength: 0.01" + "\r\n");
        buffer.Append("    " + "curiosity_enc_size: 128" + "\r\n");
        buffer.Append("\r\n");

        buffer.Append(BrainName + ":\r\n");
        foreach (var setting in settings)
        {
            if (setting.isUsed)
            {
                var outSetting = setting.Interpolate(manager.StartingConfigIncrement, manager.MaxConfigIncrement, manager.GetCurrentStep());
                buffer.Append("    " + outSetting.key + ": " + outSetting.value + "\r\n");
            }
        }

        File.WriteAllText(configFile, buffer.ToString());
        File.WriteAllText(Path.Combine(tensorFlowConfig.MlAgentsConfigDirectory, manager.RunSetName + "-inc" + manager.GetCurrentStep() + ".yaml"), buffer.ToString());
    }
Esempio n. 30
0
        private void EndRun(RunManager obj)
        {
            SharedObject.Instance.Output(SharedObject.enOutputType.Trace, ResxIF.GetString("EndProcessRun")); //流程运行结束

            Task.Run(async() =>
            {
                if (obj.HasException)
                {
                    await ControlServerService.UpdateRunStatus(obj.m_packageItem.Name, obj.m_packageItem.Version, ControlServerService.enProcessStatus.Exception);
                }
                else
                {
                    await ControlServerService.UpdateRunStatus(obj.m_packageItem.Name, obj.m_packageItem.Version, ControlServerService.enProcessStatus.Stop);
                }
            });

            if (ViewModelLocator.Instance.UserPreferences.IsEnableScreenRecorder)
            {
                SharedObject.Instance.Output(SharedObject.enOutputType.Trace, ResxIF.GetString("EndScreenRecording")); //屏幕录像结束
                FFmpegService.StopCaptureScreen();
                FFmpegService = null;
            }

            Common.RunInUI(() => {
                m_view.Show();
                m_view.Activate();

                obj.m_packageItem.IsRunning = false;

                //由于有可能列表已经刷新,所以需要重置IsRunning状态,为了方便,全部重置
                foreach (var pkg in PackageItems)
                {
                    pkg.IsRunning = false;
                }

                IsWorkflowRunning     = false;
                WorkflowRunningName   = "";
                WorkflowRunningStatus = "";
            });
        }
Esempio n. 31
0
        static void Main(string[] args)
        {
            CodeTimer.Initialize();

            Console.WriteLine("IOC - Singleton");
            // Autofac Singleton
            RunManager.Start(new AutofacRunner(), RunType.Singleton);
            // Castle Windsor
            RunManager.Start(new WindsorRunner(), RunType.Singleton);
            // Unity
            RunManager.Start(new UnityRunner(), RunType.Singleton);
            // Spring.NET
            RunManager.Start(new SpringRunner(), RunType.Singleton);
            // StructureMap
            RunManager.Start(new StructureMapRunner(), RunType.Singleton);
            // Ninject
            RunManager.Start(new NinjectRunner(), RunType.Singleton);
            // NLite
            RunManager.Start(new NLiteRunner(), RunType.Singleton);


            Console.WriteLine("===================================");
            Console.WriteLine("IOC - Transient");
            // Autofac Singleton
            RunManager.Start(new AutofacRunner(), RunType.Transient);
            // Castle Windsor
            RunManager.Start(new WindsorRunner(), RunType.Transient);
            // Unity
            RunManager.Start(new UnityRunner(), RunType.Transient);
            // Spring.NET
            RunManager.Start(new SpringRunner(), RunType.Transient);
            // StructureMap
            RunManager.Start(new StructureMapRunner(), RunType.Transient);
            // Ninject
            RunManager.Start(new NinjectRunner(), RunType.Transient);
            // NLite
            RunManager.Start(new NLiteRunner(), RunType.Transient);
            Console.Read();
        }