private async Task ProcessWheel(ITextImageService srv, WheelNames wheel, string imagePath)
        {
            if (_selectedService.CurrentSystem.ToLower().Contains("main menu"))
            {
                ProcessWheelSetting.PreviewText = wheel.RomName;
            }
            else
            {
                ProcessWheelSetting.PreviewText = wheel.Description;
            }

            using (var image = await srv.GenerateCaptionAsync(ProcessWheelSetting))
            {
                image.Write(imagePath);

                if (PreviewCreated)
                {
                    _eventAgg.GetEvent <GenerateWheelEvent>().Publish(imagePath);
                }
            }
        }
예제 #2
0
        public TextWheelViewModel(ITextImageService textImageService, IEventAggregator eventAggregator, ISettingsHypermint settings, IFileDialogHelper findDir)
        {
            _eventAgg          = eventAggregator;
            _settingsRepo      = settings;
            _fileFolderService = findDir;
            _textImageService  = textImageService;

            GravityOptions = Enum.GetNames(typeof(Gravity));

            SelectFontCommand = new DelegateCommand(SelectFont);

            SavePresetCommand = new DelegateCommand(SavePreset);

            GeneratePreviewCommand = new DelegateCommand(GeneratePreview);

            SelectFontLocalCommand = new DelegateCommand(() =>
            {
                var fontDir = Path.Combine(_settingsRepo.HypermintSettings.RlMediaPath, "Fonts");

                string result = "";

                if (Directory.Exists(fontDir))
                {
                    result = _fileFolderService.SetFileDialog(fontDir);
                }
                else
                {
                    result = _fileFolderService.SetFileDialog();
                }

                CurrentWheelSetting.FontName = result;
                FontName = result;
            });

            GetPresets();
        }
        public WheelProcessViewModel(ITextImageService textImageService, IEventAggregator ea, ISelectedService selectedService,
                                     IHyperspinManager hyperspinManager, ISettingsHypermint settings)
        {
            _eventAgg         = ea;
            _selectedService  = selectedService;
            _hyperspinManager = hyperspinManager;
            _settings         = settings;
            _textImageService = textImageService;

            PresetsUpdated("");

            ProcessWheelsCommand = new DelegateCommand(async() =>
            {
                if (_hyperspinManager.CurrentSystemsGames != null)
                {
                    Cancellable = true;

                    if (ProcessWheels)
                    {
                        await ProcessWheelsAsync();
                    }
                    else if (ProcessLetters)
                    {
                        await ProcessLettersAsync();
                    }
                    else if (ProcessGenres)
                    {
                        await ProcessGenresAsync();
                    }
                }
            });

            ProcessCancelCommand = new DelegateCommand(() =>
            {
                Cancellable   = false;
                ProcessCancel = true;
            });

            GeneratePreviewCommand = new DelegateCommand(GeneratePreview);

            OpenExportFolderCommand = new DelegateCommand(() =>
            {
                var exportPath = GetSystemsWheelExportPath("Wheels");

                if (ProcessLetters)
                {
                    exportPath = GetSystemsWheelExportPath("Letters");
                }
                else if (ProcessGenres)
                {
                    exportPath = GetSystemsWheelExportPath("Genres");
                }

                var result = new DirectoryInfo(exportPath).Open();
            });

            _eventAgg.GetEvent <PresetWheelsUpdatedEvent>().Subscribe(x =>
            {
                PresetsUpdated(x);
            });
        }