Files @ d6859ea7177f
Branch filter:

Location: ATITD-Tools/Desert-Paint-Codex/ViewModels/MessageBoxViewModel.cs - annotation

Jason Maltzen
Add some sanity checks on min/max concentration and min/max reagents in recipe generation. Also, clear out the search queue when generation has finished so the queue isn't loaded next time. This fixes the start/resume button state when entering the recipe generator after a prior run had finished.
using Avalonia.Media;
using ReactiveUI;

namespace DesertPaintCodex.ViewModels
{
    public class MessageBoxViewModel : ViewModelBase
    {
        private string? _title;
        public string? Title  { get => _title; private set => this.RaiseAndSetIfChanged(ref _title, value); }
        
        private string? _message;
        public string? Message  { get => _message; private set => this.RaiseAndSetIfChanged(ref _message, value); }

        private string? _optionAText;
        public string? OptionAText { get => _optionAText; private set => this.RaiseAndSetIfChanged(ref _optionAText, value); }

        private string? _optionBText;
        public string? OptionBText { get => _optionBText; private set => this.RaiseAndSetIfChanged(ref _optionBText, value); }
        
        private string? _optionCText;
        public string? OptionCText { get => _optionCText; private set => this.RaiseAndSetIfChanged(ref _optionCText, value); }
        
        
        public MessageBoxViewModel() : this("A Message For You", "This is a test message for use in developer mode", "Ok") {}
        
        public MessageBoxViewModel(string title, string message, string optionA, string? optionB = null, string? optionC = null)
        {
            Title = title;
            Message = message;
            PickOption = ReactiveCommand.Create((string value) => int.Parse(value));
            OptionAText = optionA;
            OptionBText = optionB;
            OptionCText = optionC;
        }
        
        public ReactiveCommand<string, int> PickOption { get; }
    }
}