Beispiel #1
0
        /// <summary>
        /// Creates an instance of <see cref="EncountersViewModel"/>
        /// </summary>
        public EncountersViewModel(Compendium compendium, EncounterSearchService encounterSearchService, EncounterSearchInput encounterSearchInput,
                                   StringService stringService, DialogService dialogService, XMLImporter xmlImporter, DocumentService documentService, DataManager dataManager)
        {
            _compendium             = compendium;
            _encounterSearchService = encounterSearchService;
            _encounterSearchInput   = encounterSearchInput;
            _stringService          = stringService;
            _dialogService          = dialogService;
            _xmlImporter            = xmlImporter;
            _documentService        = documentService;
            _dataManager            = dataManager;

            _selectEncounterCommand     = new RelayCommand(obj => true, obj => SelectEncounter(obj as EncounterListItemViewModel));
            _editEncounterCommand       = new RelayCommand(obj => true, obj => EditEncounter(obj as EncounterViewModel));
            _exportEncounterCommand     = new RelayCommand(obj => true, obj => ExportEncounter(obj as EncounterViewModel));
            _cancelEditEncounterCommand = new RelayCommand(obj => true, obj => CancelEditEncounter());
            _saveEditEncounterCommand   = new RelayCommand(obj => HasUnsavedChanges, obj => SaveEditEncounter());
            _resetFiltersCommand        = new RelayCommand(obj => true, obj => InitializeSearch());
            _addCommand            = new RelayCommand(obj => true, obj => Add());
            _copyCommand           = new RelayCommand(obj => _selectedEncounter != null, obj => Copy());
            _deleteCommand         = new RelayCommand(obj => _selectedEncounter != null, obj => Delete());
            _importCommand         = new RelayCommand(obj => true, obj => Import());
            _selectNextCommand     = new RelayCommand(obj => true, obj => SelectNext());
            _selectPreviousCommand = new RelayCommand(obj => true, obj => SelectPrevious());

            _compendium.CharacterChanged += _compendium_CharacterChanged;
            _compendium.EncounterChanged += _compendium_EncounterChanged;

            Search();
        }
Beispiel #2
0
        /// <summary>
        /// Creates an instance of <see cref="TablesViewModel"/>
        /// </summary>
        public TablesViewModel(Compendium compendium, TableSearchService tableSearchService, TableSearchInput tableSearchInput,
                               StringService stringService, DialogService dialogService, XMLImporter xmlImporter, DocumentService documentService, DataManager dataManager)
        {
            _compendium         = compendium;
            _tableSearchService = tableSearchService;
            _tableSearchInput   = tableSearchInput;
            _stringService      = stringService;
            _dialogService      = dialogService;
            _xmlImporter        = xmlImporter;
            _documentService    = documentService;
            _dataManager        = dataManager;

            _selectTableCommand     = new RelayCommand(obj => true, obj => SelectTable(obj as ListItemViewModel <RandomTableModel>));
            _editTableCommand       = new RelayCommand(obj => true, obj => EditTable(obj as RandomTableViewModel));
            _exportTableCommand     = new RelayCommand(obj => true, obj => ExportTable(obj as RandomTableViewModel));
            _cancelEditTableCommand = new RelayCommand(obj => true, obj => CancelEditTable());
            _saveEditTableCommand   = new RelayCommand(obj => HasUnsavedChanges, obj => SaveEditTable());
            _resetFiltersCommand    = new RelayCommand(obj => true, obj => InitializeSearch());
            _addCommand             = new RelayCommand(obj => true, obj => Add());
            _copyCommand            = new RelayCommand(obj => _selectedTable != null, obj => Copy());
            _deleteCommand          = new RelayCommand(obj => _selectedTable != null, obj => Delete());
            _importCommand          = new RelayCommand(obj => true, obj => Import());
            _selectNextCommand      = new RelayCommand(obj => true, obj => SelectNext());
            _selectPreviousCommand  = new RelayCommand(obj => true, obj => SelectPrevious());

            Search();
        }
        /// <summary>
        /// Creates an instance of <see cref="FeatsViewModel"/>
        /// </summary>
        public FeatsViewModel(Compendium compendium, FeatSearchService classSearchService, FeatSearchInput featSearchInput,
                              StringService stringService, DialogService dialogService, XMLImporter xmlImporter, XMLExporter xmlExporter)
        {
            _compendium        = compendium;
            _featSearchService = classSearchService;
            _featSearchInput   = featSearchInput;
            _stringService     = stringService;
            _dialogService     = dialogService;
            _xmlImporter       = xmlImporter;
            _xmlExporter       = xmlExporter;

            _selectFeatCommand     = new RelayCommand(obj => true, obj => SelectFeat(obj as FeatListItemViewModel));
            _editFeatCommand       = new RelayCommand(obj => true, obj => EditFeat(obj as FeatViewModel));
            _exportFeatCommand     = new RelayCommand(obj => true, obj => ExportFeat(obj as FeatViewModel));
            _cancelEditFeatCommand = new RelayCommand(obj => true, obj => CancelEditFeat());
            _saveEditFeatCommand   = new RelayCommand(obj => HasUnsavedChanges, obj => SaveEditFeat());
            _resetFiltersCommand   = new RelayCommand(obj => true, obj => InitializeSearch());
            _addCommand            = new RelayCommand(obj => true, obj => Add());
            _copyCommand           = new RelayCommand(obj => _selectedFeat != null, obj => Copy());
            _deleteCommand         = new RelayCommand(obj => _selectedFeat != null, obj => Delete());
            _importCommand         = new RelayCommand(obj => true, obj => Import());
            _selectNextCommand     = new RelayCommand(obj => true, obj => SelectNext());
            _selectPreviousCommand = new RelayCommand(obj => true, obj => SelectPrevious());

            Search();
        }
Beispiel #4
0
        /// <summary>
        /// Creates an instance of <see cref="NPCsViewModel"/>
        /// </summary>
        public NPCsViewModel(Compendium compendium, NPCSearchService npcSearchService, NPCSearchInput npcSearchInput,
                             StringService stringService, DialogService dialogService, XMLImporter xmlImporter, DocumentService documentService, DataManager dataManager)
        {
            _compendium       = compendium;
            _npcSearchService = npcSearchService;
            _npcSearchInput   = npcSearchInput;
            _stringService    = stringService;
            _dialogService    = dialogService;
            _xmlImporter      = xmlImporter;
            _documentService  = documentService;
            _dataManager      = dataManager;

            _selectNPCCommand      = new RelayCommand(obj => true, obj => SelectNPC(obj as ListItemViewModel <NPCModel>));
            _editNPCCommand        = new RelayCommand(obj => true, obj => EditNPC(obj as NPCViewModel));
            _exportNPCCommand      = new RelayCommand(obj => true, obj => ExportNPC(obj as NPCViewModel));
            _cancelEditNPCCommand  = new RelayCommand(obj => true, obj => CancelEditNPC());
            _saveEditNPCCommand    = new RelayCommand(obj => HasUnsavedChanges, obj => SaveEditNPC());
            _resetFiltersCommand   = new RelayCommand(obj => true, obj => InitializeSearch());
            _addCommand            = new RelayCommand(obj => true, obj => Add());
            _copyCommand           = new RelayCommand(obj => _selectedNPC != null, obj => Copy());
            _deleteCommand         = new RelayCommand(obj => _selectedNPC != null, obj => Delete());
            _importCommand         = new RelayCommand(obj => true, obj => Import());
            _selectNextCommand     = new RelayCommand(obj => true, obj => SelectNext());
            _selectPreviousCommand = new RelayCommand(obj => true, obj => SelectPrevious());

            Search();
        }
Beispiel #5
0
        /// <summary>
        /// Creates an instance of <see cref="LocationsViewModel"/>
        /// </summary>
        public LocationsViewModel(Compendium compendium, LocationSearchService locationSearchService, LocationSearchInput locationSearchInput,
                                  StringService stringService, DialogService dialogService, XMLImporter xmlImporter, DocumentService documentService, DataManager dataManager)
        {
            _compendium            = compendium;
            _locationSearchService = locationSearchService;
            _locationSearchInput   = locationSearchInput;
            _stringService         = stringService;
            _dialogService         = dialogService;
            _xmlImporter           = xmlImporter;
            _documentService       = documentService;
            _dataManager           = dataManager;

            _selectLocationCommand     = new RelayCommand(obj => true, obj => SelectLocation(obj as ListItemViewModel <LocationModel>));
            _editLocationCommand       = new RelayCommand(obj => true, obj => EditLocation(obj as LocationViewModel));
            _exportLocationCommand     = new RelayCommand(obj => true, obj => ExportLocation(obj as LocationViewModel));
            _cancelEditLocationCommand = new RelayCommand(obj => true, obj => CancelEditLocation());
            _saveEditLocationCommand   = new RelayCommand(obj => HasUnsavedChanges, obj => SaveEditLocation());
            _resetFiltersCommand       = new RelayCommand(obj => true, obj => InitializeSearch());
            _addCommand            = new RelayCommand(obj => true, obj => Add());
            _copyCommand           = new RelayCommand(obj => _selectedLocation != null, obj => Copy());
            _deleteCommand         = new RelayCommand(obj => _selectedLocation != null, obj => Delete());
            _importCommand         = new RelayCommand(obj => true, obj => Import());
            _selectNextCommand     = new RelayCommand(obj => true, obj => SelectNext());
            _selectPreviousCommand = new RelayCommand(obj => true, obj => SelectPrevious());

            Search();
        }
Beispiel #6
0
        /// <summary>
        /// Creates an instance of <see cref="BackgroundsViewModel"/>
        /// </summary>
        public BackgroundsViewModel(Compendium compendium, BackgroundSearchService backgroundSearchService, BackgroundSearchInput backgroundSearchInput,
                                    StringService stringService, DialogService dialogService, XMLImporter xmlImporter, XMLExporter xmlExporter)
        {
            _compendium = compendium;
            _backgroundSearchService = backgroundSearchService;
            _backgroundSearchInput   = backgroundSearchInput;
            _stringService           = stringService;
            _dialogService           = dialogService;
            _xmlImporter             = xmlImporter;
            _xmlExporter             = xmlExporter;

            _selectBackgroundCommand     = new RelayCommand(obj => true, obj => SelectBackground(obj as BackgroundListItemViewModel));
            _editBackgroundCommand       = new RelayCommand(obj => true, obj => EditBackground(obj as BackgroundViewModel));
            _exportBackgroundCommand     = new RelayCommand(obj => true, obj => ExportBackground(obj as BackgroundViewModel));
            _cancelEditBackgroundCommand = new RelayCommand(obj => true, obj => CancelEditBackground());
            _saveEditBackgroundCommand   = new RelayCommand(obj => HasUnsavedChanges, obj => SaveEditBackground());
            _resetFiltersCommand         = new RelayCommand(obj => true, obj => InitializeSearch());
            _addCommand            = new RelayCommand(obj => true, obj => Add());
            _copyCommand           = new RelayCommand(obj => _selectedBackground != null, obj => Copy());
            _deleteCommand         = new RelayCommand(obj => _selectedBackground != null, obj => Delete());
            _importCommand         = new RelayCommand(obj => true, obj => Import());
            _selectNextCommand     = new RelayCommand(obj => true, obj => SelectNext());
            _selectPreviousCommand = new RelayCommand(obj => true, obj => SelectPrevious());

            Search();
        }
Beispiel #7
0
        /// <summary>
        /// Creates an instance of <see cref="ItemsViewModel"/>
        /// </summary>
        public ItemsViewModel(Compendium compendium, ItemSearchService itemSearchService, ItemSearchInput itemSearchInput,
                              StringService stringService, DialogService dialogService, XMLImporter xmlImporter, XMLExporter xmlExporter, DocumentService documentService)
        {
            _compendium        = compendium;
            _itemSearchService = itemSearchService;
            _itemSearchInput   = itemSearchInput;
            _stringService     = stringService;
            _dialogService     = dialogService;
            _xmlImporter       = xmlImporter;
            _xmlExporter       = xmlExporter;
            _documentService   = documentService;

            _selectItemCommand     = new RelayCommand(obj => true, obj => SelectItem(obj as ItemListItemViewModel));
            _editItemCommand       = new RelayCommand(obj => true, obj => EditItem(obj as ItemViewModel));
            _exportItemCommand     = new RelayCommand(obj => true, obj => ExportItem(obj as ItemViewModel));
            _cancelEditItemCommand = new RelayCommand(obj => true, obj => CancelEditItem());
            _saveEditItemCommand   = new RelayCommand(obj => HasUnsavedChanges, obj => SaveEditItem());
            _resetFiltersCommand   = new RelayCommand(obj => true, obj => InitializeSearch());
            _addCommand            = new RelayCommand(obj => true, obj => Add());
            _copyCommand           = new RelayCommand(obj => _selectedItem != null, obj => Copy());
            _deleteCommand         = new RelayCommand(obj => _selectedItem != null, obj => Delete());
            _importCommand         = new RelayCommand(obj => true, obj => Import());
            _selectNextCommand     = new RelayCommand(obj => true, obj => SelectNext());
            _selectPreviousCommand = new RelayCommand(obj => true, obj => SelectPrevious());

            Search();
        }
Beispiel #8
0
        public void CanRT_Compendium()
        {
            //var creator = new BeingCreator(__factory);
            var publisher      = new BookPublisher(_creator);
            var tomeOfChaos    = publisher.Tome_FromNew("gloop");
            var herbal         = new Herbal();
            var socialRegister = new SocialRegister(_creator);
            var dramaticon     = new Dramaticon();
            var atlas          = new Atlas();

            var idGen      = new IDGenerator(33);
            var compendium = new Compendium(idGen, _creator, tomeOfChaos, herbal, socialRegister, dramaticon, atlas);

            var yaml = _serializer.Serialize(compendium);

            Assert.That(yaml, Is.Not.Null);

            var newBook = _deserializer.Deserialize <IBook>(yaml);

            Assert.That(newBook, Is.TypeOf <Compendium>());
            var newCompendium = (Compendium)newBook;

            Assert.That(newCompendium.IDGenerator.UseID(), Is.EqualTo(33));
            Assert.That(newCompendium.TomeOfChaos.TopSeed, Is.EqualTo("gloop"));

            //TODO: slightly more muscular checks once these books go beyond placeholders
            Assert.That(newCompendium.Herbal, Is.Not.Null);
            Assert.That(newCompendium.SocialRegister, Is.Not.Null);
            Assert.That(newCompendium.Dramaticon, Is.Not.Null);
            Assert.That(newCompendium.Atlas, Is.Not.Null);
        }
        /// <summary>
        /// Creates an instance of <see cref="ImportViewModel"/>
        /// </summary>
        public ImportViewModel(Compendium compendium, StringService stringService, DataManager dataManager, DialogService dialogService)
        {
            _compendium    = compendium;
            _stringService = stringService;
            _dataManager   = dataManager;
            _dialogService = dialogService;

            _browseCommand = new RelayCommand(obj => true, obj => Browse());
            _restoreDefaultCompendiumCommand = new RelayCommand(obj => true, obj => RestoreDefaultCompendium());
        }
Beispiel #10
0
        public LocationSearchInput(Compendium compendium)
        {
            _compendium = compendium;

            foreach (LocationSortOption sort in Enum.GetValues(typeof(LocationSortOption)))
            {
                _sortOptions.Add(new KeyValuePair <LocationSortOption, string>(sort, sort.ToString().Replace("_", " ")));
            }

            UpdateTags();

            Reset();
        }
Beispiel #11
0
        public static void TypeSpecificLoad <T>(List <T> list, string location, string type)
        {
            string[] variables = null;
            //monster variables
            string[] monsterKeyWords  = { "name", "size", "type", "alignment", "ac", "hp", "speed", "str", "dex", "con", "int", "wis", "cha", "passive", "vunerable", "description", "save", "cr", "senses", "immune", "resist", "conditionImmune", "languages", "skill" };
            string[] weirdMonKeywords = { "trait", "action", "legendary", "reaction" };
            //spell variables
            string[] spellKeyWords = { "name", "level", "school", "time", "range", "components", "duration", "classes", "text", "ritual" };
            //itemvariables
            string[] itemKeyWords      = { "name", "type", "weight", "ac", "stealth", "strength", "dmg1", "dmg2", "property", "dmgType", "range" };
            string[] itemWeirdKeywords = { "text" };

            string path = (Directory.GetCurrentDirectory() + location);

            if (type == "monster")
            {
                XmlDocument doc = new XmlDocument();
                foreach (string m in monsterDefaults)
                {
                    doc.Load(path + m);
                    Compendium    compendium = new Compendium();
                    XmlSerializer serializer = new XmlSerializer(typeof(Compendium));
                    StreamReader  reader     = new StreamReader(path + m);
                    compendium = (Compendium)serializer.Deserialize(reader);
                    reader.Close();

                    Utillities.monsters = compendium.Monster;
                    foreach (Monster item in compendium.Monster)
                    {
                        Utillities.MonsterCompendium[item.Name] = item;
                    }
                }
                // variables = new string[monsterKeyWords.Length + 4];
                //LoadXmlToList(list, location, monsterDefaults, monsterKeyWords, variables, type, weirdMonKeywords);
            }
            if (type == "spell")
            {
                variables = new string[spellKeyWords.Length];
                foreach (string s in spellDefaults)
                {
                    Console.WriteLine(s);
                }
                LoadXmlToList(list, location, spellDefaults, spellKeyWords, variables, type);
            }
            if (type == "item")
            {
                variables = new string[itemKeyWords.Length + 1];
                LoadXmlToList(list, location, itemDefaults, itemKeyWords, variables, type, itemWeirdKeywords);
            }
        }
Beispiel #12
0
        private void SetupDependencies()
        {
            DependencyResolver.RegisterInstance(_dialogService);
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <StringService>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <XMLImporter>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <XMLExporter>());
            DependencyResolver.RegisterInterface(typeof(IDataManager), typeof(DataManager));
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <DataManager>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <ThemeManager>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <SettingsViewModel>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <StatService>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <DiceService>());

            Compendium compendium = DependencyResolver.Resolve <Compendium>();

            compendium.LoadCompendium();
            DependencyResolver.RegisterInstance(compendium);

            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <CharacterSearchInput>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <AdventureSearchInput>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <EncounterSearchInput>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <LocationSearchInput>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <NPCSearchInput>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <TableSearchInput>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <BackgroundSearchInput>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <ClassSearchInput>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <ConditionSearchInput>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <FeatSearchInput>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <ItemSearchInput>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <MonsterSearchInput>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <RaceSearchInput>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <SpellSearchInput>());

            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <CharactersViewModel>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <AdventuresViewModel>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <EncountersViewModel>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <LocationsViewModel>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <NPCsViewModel>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <TablesViewModel>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <BackgroundsViewModel>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <ClassesViewModel>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <ConditionsViewModel>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <FeatsViewModel>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <ItemsViewModel>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <MonstersViewModel>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <RacesViewModel>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <SpellsViewModel>());
            DependencyResolver.RegisterInstance(DependencyResolver.Resolve <MainWindowViewModel>());
        }
        /// <summary>
        /// Creates an instance of <see cref="SpellSearchViewModel"/>
        /// </summary>
        public SpellSearchViewModel(Compendium compendium, SpellSearchService spellSearchService, SpellSearchInput spellSearchInput,
                                    StringService stringService, DialogService dialogService)
        {
            _compendium         = compendium;
            _spellSearchService = spellSearchService;
            _spellSearchInput   = spellSearchInput;
            _stringService      = stringService;
            _dialogService      = dialogService;

            _selectSpellCommand  = new RelayCommand(obj => true, obj => SelectSpell(obj as SpellListItemViewModel));
            _resetFiltersCommand = new RelayCommand(obj => true, obj => InitializeSearch());
            _acceptCommand       = new RelayCommand(obj => true, obj => OnAccept());
            _rejectCommand       = new RelayCommand(obj => true, obj => OnReject());

            Search();
        }
        public TableSearchInput(Compendium compendium)
        {
            _compendium = compendium;

            foreach (RandomTableSortOption sort in Enum.GetValues(typeof(RandomTableSortOption)))
            {
                _sortOptions.Add(new KeyValuePair <RandomTableSortOption, string>(sort, sort.ToString().Replace("_", " ")));
            }

            UpdateTags();
            _tag = _tagOptions[0];

            Reset();

            _compendium.TagsChanged += _compendium_TagsChanged;
        }
        /// <summary>
        /// Creates an instance of <see cref="ItemSearchViewModel"/>
        /// </summary>
        public ItemSearchViewModel(Compendium compendium, ItemSearchService itemSearchService, ItemSearchInput itemSearchInput,
                                   StringService stringService, DialogService dialogService)
        {
            _compendium        = compendium;
            _itemSearchService = itemSearchService;
            _itemSearchInput   = itemSearchInput;
            _stringService     = stringService;
            _dialogService     = dialogService;

            _selectItemCommand   = new RelayCommand(obj => true, obj => SelectItem(obj as ItemListItemViewModel));
            _resetFiltersCommand = new RelayCommand(obj => true, obj => InitializeSearch());
            _acceptCommand       = new RelayCommand(obj => true, obj => OnAccept());
            _rejectCommand       = new RelayCommand(obj => true, obj => OnReject());

            Search();
        }
Beispiel #16
0
        private void App_Exit(object sender, ExitEventArgs e)
        {
            Compendium  compendium  = DependencyResolver.Resolve <Compendium>();
            DataManager dataManager = DependencyResolver.Resolve <DataManager>();

            if (compendium != null)
            {
                compendium.SaveCharacters();
                compendium.SaveEncounters();
            }

            if (dataManager != null)
            {
                dataManager.SaveLaunchData();
            }
        }
Beispiel #17
0
        /// <summary>
        /// Creates an instance of <see cref="MonsterSearchViewModel"/>
        /// </summary>
        public MonsterSearchViewModel(Compendium compendium, MonsterSearchService monsterSearchService, MonsterSearchInput monsterSearchInput,
                                      StringService stringService, DialogService dialogService)
        {
            _compendium           = compendium;
            _monsterSearchService = monsterSearchService;
            _monsterSearchInput   = monsterSearchInput;
            _stringService        = stringService;
            _dialogService        = dialogService;

            _selectMonsterCommand = new RelayCommand(obj => true, obj => SelectMonster(obj as MonsterListItemViewModel));
            _resetFiltersCommand  = new RelayCommand(obj => true, obj => InitializeSearch());
            _acceptCommand        = new RelayCommand(obj => true, obj => OnAccept());
            _rejectCommand        = new RelayCommand(obj => true, obj => OnReject());

            Search();
        }
Beispiel #18
0
        public MainWindowViewModel(Compendium compendium, DataManager dataManager, DialogService dialogService)
        {
            _compendium    = compendium;
            _dataManager   = dataManager;
            _dialogService = dialogService;

            _minimizeCommand     = new RelayCommand(obj => true, obj => MinimizeMainWindow());
            _restoreCommand      = new RelayCommand(obj => true, obj => RestoreMainWindow());
            _maximizeCommand     = new RelayCommand(obj => true, obj => MaximizeMainWindow());
            _closeCommand        = new RelayCommand(obj => true, obj => CloseMainWindow());
            _showSettingsCommand = new RelayCommand(obj => true, obj => ShowSettingsWindow());

            _charactersCommand        = new RelayCommand(obj => true, obj => NavigateToCharacters());
            _adventuresCommand        = new RelayCommand(obj => true, obj => NavigateToAdventures());
            _encountersCommand        = new RelayCommand(obj => true, obj => NavigateToEncounters());
            _locationsCommand         = new RelayCommand(obj => true, obj => NavigateToLocations());
            _npcsCommand              = new RelayCommand(obj => true, obj => NavigateToNPCs());
            _tablesCommand            = new RelayCommand(obj => true, obj => NavigateToTables());
            _backgroundsCommand       = new RelayCommand(obj => true, obj => NavigateToBackgrounds());
            _classesCommand           = new RelayCommand(obj => true, obj => NavigateToClasses());
            _conditionsCommand        = new RelayCommand(obj => true, obj => NavigateToConditions());
            _featsCommand             = new RelayCommand(obj => true, obj => NavigateToFeats());
            _itemsCommand             = new RelayCommand(obj => true, obj => NavigateToItems());
            _monstersCommand          = new RelayCommand(obj => true, obj => NavigateToMonsters());
            _racesCommand             = new RelayCommand(obj => true, obj => NavigateToRaces());
            _spellsCommand            = new RelayCommand(obj => true, obj => NavigateToSpells());
            _referenceCommand         = new RelayCommand(obj => true, obj => NavigateToReference());
            _importCommand            = new RelayCommand(obj => true, obj => NavigateToImport());
            _showCalculatorCommand    = new RelayCommand(obj => true, obj => ShowCalculator(obj as string));
            _showPatreonCommand       = new RelayCommand(obj => true, obj => ShowPatreon());
            _showOnboardingCommand    = new RelayCommand(obj => true, obj => ShowOnboarding());
            _nextOnboardingCommand    = new RelayCommand(obj => true, obj => NextOnboarding());
            _exitOnboardingCommand    = new RelayCommand(obj => true, obj => ExitOnboarding());
            _showAboutCommand         = new RelayCommand(obj => true, obj => ShowAbout());
            _navigateToPatreonCommand = new RelayCommand(obj => true, obj => NavigateToPatreon());
            _navigateToTwitterCommand = new RelayCommand(obj => true, obj => NavigateToTwitter());
            _navigateToRedditCommand  = new RelayCommand(obj => true, obj => NavigateToReddit());

            _mainView = new CharactersView();

            _compendium.ImportComplete += _compendium_ImportComplete;
        }
Beispiel #19
0
        public IBook Compendium_FromYaml(IParser parser)
        {
            parser.Consume <MappingStart>();

            uint        nextID = uint.Parse(parser.GetKVP_string("NextID"));
            IDGenerator idGen  = new IDGenerator(nextID);

            TomeOfChaos    tome     = null;
            Herbal         herbal   = null;
            SocialRegister register = null;
            Dramaticon     drama    = null;
            Atlas          atlas    = null;

            while (parser.TryConsume <Scalar>(out var next))
            {
                switch (next.Value)
                {
                case "TomeOfChaos": tome = Tome_FromYaml(parser); break;

                case "Herbal": herbal = Herbal_FromYaml(parser); break;

                case "SocialRegister": register = Register_FromYaml(parser, BeingCreator); break;

                case "Dramaticon": drama = Dramaticon_FromYaml(parser); break;

                case "Atlas": atlas = Atlas_FromYaml(parser); break;

                default:
                    throw new NotImplementedException($"Cannot yet parse a [{next.Value}] for Compendium.");
                }
            }

            var compendium = new Compendium(idGen, BeingCreator, tome, herbal, register, drama, atlas);

            parser.Consume <MappingEnd>();
            return(compendium);
        }
Beispiel #20
0
        /// <summary>
        /// Creates an instance of <see cref="CharactersViewModel"/>
        /// </summary>
        public CharactersViewModel(Compendium compendium, CharacterSearchService characterSearchService, CharacterSearchInput characterSearchInput, StringService stringService,
                                   StatService statService, DialogService dialogService, XMLImporter xmlImporter, XMLExporter xmlExporter, DocumentService documentService, DataManager dataManager)
        {
            _compendium             = compendium;
            _characterSearchService = characterSearchService;
            _characterSearchInput   = characterSearchInput;
            _stringService          = stringService;
            _statService            = statService;
            _dialogService          = dialogService;
            _xmlImporter            = xmlImporter;
            _xmlExporter            = xmlExporter;
            _documentService        = documentService;
            _dataManager            = dataManager;

            _selectCharacterCommand     = new RelayCommand(obj => true, obj => SelectCharacter(obj as CharacterListItemViewModel));
            _editCharacterCommand       = new RelayCommand(obj => true, obj => EditCharacter(obj as CharacterViewModel));
            _exportCharacterCommand     = new RelayCommand(obj => true, obj => ExportCharacter(obj as CharacterViewModel));
            _cancelEditCharacterCommand = new RelayCommand(obj => true, obj => CancelEditCharacter());
            _saveEditCharacterCommand   = new RelayCommand(obj => HasUnsavedChanges, obj => SaveEditCharacter());
            _resetFiltersCommand        = new RelayCommand(obj => true, obj => InitializeSearch());
            _addCommand            = new RelayCommand(obj => true, obj => Add());
            _copyCommand           = new RelayCommand(obj => _selectedCharacter != null, obj => Copy());
            _deleteCommand         = new RelayCommand(obj => _selectedCharacter != null, obj => Delete());
            _importCommand         = new RelayCommand(obj => true, obj => Import());
            _selectNextCommand     = new RelayCommand(obj => true, obj => SelectNext());
            _selectPreviousCommand = new RelayCommand(obj => true, obj => SelectPrevious());

            _selectInfoEditCommand        = new RelayCommand(obj => true, obj => SelectInfoEdit());
            _selectLevelsEditCommand      = new RelayCommand(obj => true, obj => SelectLevelsEdit());
            _selectAbilitiesEditCommand   = new RelayCommand(obj => true, obj => SelectAbilitiesEdit());
            _selectProficiencyEditCommand = new RelayCommand(obj => true, obj => SelectProficiencyEdit());

            _compendium.CharacterChanged += _compendium_CharacterChanged;

            Search();
        }
Beispiel #21
0
        public RaceSearchInput(Compendium compendium, StringService stringService)
        {
            _compendium    = compendium;
            _stringService = stringService;

            foreach (RaceSortOption sort in Enum.GetValues(typeof(RaceSortOption)))
            {
                _sortOptions.Add(new KeyValuePair <RaceSortOption, string>(sort, sort.ToString().Replace("_", " ")));
            }

            _sizes.Add(new KeyValuePair <CreatureSize, string>(CreatureSize.None, "Any Size"));
            foreach (CreatureSize size in Enum.GetValues(typeof(CreatureSize)))
            {
                if (size != CreatureSize.None)
                {
                    _sizes.Add(new KeyValuePair <CreatureSize, string>(size, _stringService.GetString(size)));
                }
            }

            _abilities.Add(new KeyValuePair <Ability, string>(Enums.Ability.None, "Any Ability"));
            foreach (Ability ability in Enum.GetValues(typeof(Ability)))
            {
                if (ability != Enums.Ability.None)
                {
                    _abilities.Add(new KeyValuePair <Ability, string>(ability, _stringService.GetString(ability)));
                }
            }

            _languages.Add(new KeyValuePair <LanguageModel, string>(null, "Any Language"));
            foreach (LanguageModel languageModel in _compendium.Languages)
            {
                _languages.Add(new KeyValuePair <LanguageModel, string>(languageModel, languageModel.Name));
            }

            Reset();
        }
Beispiel #22
0
 /// <summary>
 /// Creates a new instance of <see cref="LocationSearchService"/>
 /// </summary>
 public LocationSearchService(Compendium compendium)
 {
     _compendium = compendium;
 }
Beispiel #23
0
 /// <summary>
 /// Creates a new instance of <see cref="RaceSearchService"/>
 /// </summary>
 public RaceSearchService(Compendium compendium)
 {
     _compendium = compendium;
 }
 /// <summary>
 /// Creates a new instance of <see cref="FeatSearchService"/>
 /// </summary>
 public FeatSearchService(Compendium compendium)
 {
     _compendium = compendium;
 }
Beispiel #25
0
 /// <summary>
 /// Creates a new instance of <see cref="TableSearchService"/>
 /// </summary>
 public TableSearchService(Compendium compendium)
 {
     _compendium = compendium;
 }
 /// <summary>
 /// Creates a new instance of <see cref="MonsterSearchService"/>
 /// </summary>
 public MonsterSearchService(Compendium compendium, StringService stringService, StatService statService)
 {
     _compendium    = compendium;
     _stringService = stringService;
     _statService   = statService;
 }
 /// <summary>
 /// Creates a new instance of <see cref="EncounterSearchService"/>
 /// </summary>
 public EncounterSearchService(Compendium compendium)
 {
     _compendium = compendium;
 }
Beispiel #28
0
 /// <summary>
 /// Creates a new instance of <see cref="AdventureSearchService"/>
 /// </summary>
 public AdventureSearchService(Compendium compendium)
 {
     _compendium = compendium;
 }
 /// <summary>
 /// Creates a new instance of <see cref="CharacterSearchService"/>
 /// </summary>
 public CharacterSearchService(Compendium compendium)
 {
     _compendium = compendium;
 }
 /// <summary>
 /// Creates a new instance of <see cref="ClassSearchService"/>
 /// </summary>
 public ClassSearchService(Compendium compendium, StringService stringService)
 {
     _compendium    = compendium;
     _stringService = stringService;
 }