public static List <SkillEditor> CreateEditors(PathfinderSheet ps, Window?owner = null) { List <SkillEditor> eds = new List <SkillEditor>(); foreach (var item in SkillEntries) { SkillEditor se = new SkillEditor(); se.SkillName = item.Value.name; se.SkillAbility = item.Value.modifier; se.CanEditTitle = item.Value.canEdit; se.SkillInternalName = item.Key; se.OwnerWindow = owner; // set skill name to use with d20pfsrd.com string snl = se.SkillName.ToLowerInvariant(); if (snl.Contains("knowledge")) { se.SkillOnlineName = "knowledge"; } else { se.SkillOnlineName = snl.Replace(' ', '-'); } if (ps.Skills != null) { try { Skill s = ps.Skills[item.Key] ?? new Skill(); se.LoadSkillData(s); } catch (KeyNotFoundException) { Skill s = new Skill(); s.Total = "0"; s.Ranks = "0"; s.ClassSkill = false; se.LoadSkillData(s); } } else { Skill s = new Skill(); s.Total = "0"; s.Ranks = "0"; s.ClassSkill = false; se.LoadSkillData(s); } eds.Add(se); } return(eds); }
private void btnImport_Click(object sender, RoutedEventArgs e) { Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog(); ofd.Title = "Import Data from File"; ofd.Filter = "Pathfinder Character Sheet|*.json|All Files|*.*"; if (ofd.ShowDialog() ?? false == true) { string filename = ofd.FileName; PathfinderSheet ps = PathfinderSheet.LoadJsonFile(filename); LoadUserData(ps.Player ?? new UserData(true)); } }
private void btnCreate_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrWhiteSpace(txtCharacterName.Text) || string.IsNullOrWhiteSpace(txtCharacterLevel.Text)) { MessageDialog md = new MessageDialog(ColorScheme); md.Image = MessageDialogImage.Error; md.Message = "Either the character's name or class/level is missing. Please enter those before continuing."; md.Title = "Missing Data"; md.Owner = this; md.ShowDialog(); return; } // Create Pathfinder sheet // Including ability scores // (I also set up the RawAbilities property despite it not really being used, in case it may become an issue later on) Sheet = PathfinderSheet.CreateNewSheet(txtCharacterName.Text, txtCharacterLevel.Text, ud); Sheet.Charisma = txtCha.Value; Sheet.Constitution = txtCon.Value; Sheet.Dexterity = txtDex.Value; Sheet.Intelligence = txtInt.Value; Sheet.Strength = txtStr.Value; Sheet.Wisdom = txtWis.Value; Dictionary <string, string> abilities = new Dictionary <string, string> { { "str", txtStr.Value.ToString() }, { "dex", txtDex.Value.ToString() }, { "cha", txtCha.Value.ToString() }, { "con", txtCon.Value.ToString() }, { "int", txtInt.Value.ToString() }, { "wis", txtWis.Value.ToString() } }; Sheet.RawAbilities = abilities; if (!string.IsNullOrEmpty(FileLocation)) { Sheet.SaveJsonFile(FileLocation, App.Settings.IndentJsonData); } DialogResult = true; Close(); }
private void btnImportData_Click(object sender, RoutedEventArgs e) { Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog(); ofd.Title = "Import Data from File"; ofd.Filter = "Pathfinder Character Sheet|*.json|All Files|*.*"; if (ofd.ShowDialog() ?? false == true) { string filename = ofd.FileName; PathfinderSheet ps = PathfinderSheet.LoadJsonFile(filename); ud = ps.Player ?? new UserData(true); if (!string.IsNullOrEmpty(ud.DisplayName)) { txtPlayerName.Text = ud.DisplayName; } else { txtPlayerName.Text = "(not set)"; } } }