コード例 #1
0
        private void UserInterfaceThreadStart()
        {
            var clientConfiguration  = ryu.Get <IClientConfiguration>();
            var fileSystemProxy      = ryu.Get <IFileSystemProxy>();
            var driveNodeFactory     = new DriveNodeFactory(ryu.Get <IStreamFactory>());
            var pofContext           = ryu.Get <IPofContext>();
            var pofSerializer        = ryu.Get <IPofSerializer>();
            var temporaryFileService = ryu.Get <ServiceClient>().GetService <TemporaryFileService>();
            var exeggutorService     = ryu.Get <ServiceClient>().GetService <ExeggutorService>();
            var riotSolutionLoader   = ryu.Get <RiotSolutionLoader>();
            var modificationLoader   = ryu.Get <ModificationLoader>();
            var leagueBuildUtilities = ryu.Get <LeagueBuildUtilities>();

            application = Application.Current ?? new Application();
            var dispatcher = application.Dispatcher;
            var window     = new MainWindow();

            var repositoriesDirectory = Path.Combine(clientConfiguration.UserDataDirectoryPath, kRepositoryDirectoryName);

            var modificationImportViewModelFactory = new ModificationImportViewModelFactory(fileSystemProxy, driveNodeFactory);
            ModificationComponentFactory modificationComponentFactory           = new ModificationComponentFactory(fileSystemProxy, pofContext, new SlotSourceFactoryImpl(), pofSerializer);
            ObservableCollection <ModificationViewModel> modificationViewModels = new ObservableCollection <ModificationViewModel>();
            var rootViewModelCommandFactory     = new ModificationImportController(pofSerializer, repositoriesDirectory, temporaryFileService, exeggutorService, modificationComponentFactory, fileSystemProxy, riotSolutionLoader, modificationImportViewModelFactory, modificationViewModels, modificationLoader, leagueBuildUtilities);
            var modificationListingSynchronizer = new ModificationListingSynchronizer(pofSerializer, fileSystemProxy, clientConfiguration, temporaryFileService, exeggutorService, modificationLoader, modificationViewModels, leagueBuildUtilities);

            modificationListingSynchronizer.Initialize();
            var rootViewModel = new RootViewModel(rootViewModelCommandFactory, window, modificationViewModels);

            window.DataContext = rootViewModel;
            application.Run(window);
            host?.Shutdown(ShutdownReason.None);
        }
コード例 #2
0
 public void Shutdown()
 {
     if (!isShutdownSignalled)
     {
         isShutdownSignalled = true;
         ShuttingDown?.Invoke(this, new EventArgs());
         host.Shutdown();
     }
 }
コード例 #3
0
 public NestResult Shutdown()
 {
     host?.Shutdown();
     return(NestResult.Success);
 }
コード例 #4
0
 public NestResult Shutdown(ShutdownReason reason)
 {
     trinketDtpServer.Dispose();
     host.Shutdown();
     return(NestResult.Success);
 }