public CharacterWindow(CampaignManager campaignManager, CharacterManager characterManager) { InitializeComponent(); Campaign = campaignManager; CharacterManager = characterManager; var character = characterManager.Character; SyncSkills(character, campaignManager.Campaign.SkillListings); DataContext = new CharacterWindowViewModel { CharacterManager = characterManager, PowerSources = campaignManager.Campaign.PowerSources, SkillScores = character.SkillScores.Select( s => new SkillScoreViewModel { SkillScore = s }) .ToList() }; }
// TODO: Figure out what to do re: gameSystemManager vs masterValuesTable. public CharacterManager(CampaignManager campaignManager, string fileName, CharacterConverter converter, string characterDirectory) { FileName = fileName; _masterValuesTable = campaignManager.MasterValuesTable; _converter = converter; _characterDirectory = characterDirectory; }
public CampaignWindow(CampaignManager campaignManager) { CampaignManager = campaignManager; InitializeComponent(); DataContext = new CampaignViewModel(CampaignManager); }
// TODO: Move I/O to a GameSystemManager class public void Load() { foreach (var fileName in Directory.EnumerateFiles(Path.Combine(SourceBookDirectory, "Skills"))) { var contents = File.ReadAllText(fileName); var skill = JsonConvert.DeserializeObject<SkillListing>(contents, new SkillListingConverter()); GameSystem.SkillListings.Add(skill); } foreach (var fileName in Directory.EnumerateFiles(Path.Combine(SourceBookDirectory, "PowerSources"))) { var contents = File.ReadAllText(fileName); var powerSource = JsonConvert.DeserializeObject<PowerSource>(contents); GameSystem.PowerSources.Add(powerSource); } foreach (var fileName in Directory.EnumerateFiles(Path.Combine(SourceBookDirectory, "PersonalityFlaws"))) { var contents = File.ReadAllText(fileName); var personalityFlaw = JsonConvert.DeserializeObject<PersonalityFlaw>(contents); GameSystem.PersonalityFlaws.Add(personalityFlaw); } var masterValueFile = Path.Combine(SourceBookDirectory, "MasterValuesTable.csv"); GameSystem.MasterValuesTable.AddRange(MasterValueRecord.ReadCsvFile(masterValueFile)); if (Directory.Exists(CampaignDirectory)) { foreach (var directory in Directory.EnumerateDirectories(CampaignDirectory)) { var manifestFileName = Path.Combine(directory, "manifest.json"); var campaignManager = new CampaignManager( this, manifestFileName, _campaignManifestConverter, CampaignDirectory); Campaigns.Add(campaignManager); } } }
public CampaignViewModel(CampaignManager campaignManager) { _campaignManager = campaignManager; }