private void SpellCheck_Click(object sender, RoutedEventArgs e) { List <Spell> newsp = XmlListLoader <Spell> .Load("spells.xml"); Dictionary <String, List <Spell> > spells = new Dictionary <string, List <Spell> >(); foreach (Spell sp in newsp) { if (spells.ContainsKey(sp.Name)) { } else { spells[sp.Name] = new List <Spell>(); } spells[sp.Name].Add(sp); } foreach (List <Spell> spl in from sl in spells.Values where sl.Count > 1 select sl) { System.Diagnostics.Debug.Write(spl[0].Name); foreach (Spell sp in spl) { System.Diagnostics.Debug.Write(" / " + sp.source); } System.Diagnostics.Debug.WriteLine(""); } }
static void SaveColors() { List <ColorListEntry> cle = new List <ColorListEntry>(); foreach (var kv in recentColors) { ColorListEntry cl = new ColorListEntry(); cl.Name = kv.Key; cl.Colors = kv.Value; cle.Add(cl); } XmlListLoader <ColorListEntry> .Save(cle, "FavoriteColors.xml", true); }
private ColorSchemeManager() { defaultSchemes = XmlListLoader <ColorScheme> .Load("DefaultColorSchemes.xml"); colorSchemes = new List <ColorScheme>(); colorSchemes.AddRange(defaultSchemes); schemeDictionary = new Dictionary <int, ColorScheme>(); foreach (var v in colorSchemes) { schemeDictionary[v.ID] = v; } }
static void LoadColors() { recentColors = new Dictionary <string, List <uint> >(); var cle = XmlListLoader <ColorListEntry> .Load("FavoriteColors.xml", true); if (cle != null) { foreach (var cl in cle) { recentColors[cl.Name] = cl.Colors; } } }
private void button1_Click(object sender, RoutedEventArgs e) { foreach (Spell spell in Spell.Spells) { spell.PotionWeight = NullValue(spell.PotionWeight); spell.ArcaneScrollWeight = NullValue(spell.ArcaneScrollWeight); spell.DivineScrollWeight = NullValue(spell.DivineScrollWeight); spell.WandWeight = NullValue(spell.WandWeight); } List <Spell> list = new List <Spell>(Spell.Spells); XmlListLoader <Spell> .Save(list, "Spells.xml"); }
private void button3_Click(object sender, RoutedEventArgs e) { List <WeaponSpecialAbility> wsList = XmlListLoader <WeaponSpecialAbility> .Load("WeaponSpecialAbility.xml"); foreach (WeaponSpecialAbility ws in wsList) { ws.Minor = FixChartNum(ws.Minor); ws.Medium = FixChartNum(ws.Medium); ws.Major = FixChartNum(ws.Major); ws.RangedMinor = FixChartNum(ws.RangedMinor); ws.RangedMedium = FixChartNum(ws.RangedMedium); ws.RangedMajor = FixChartNum(ws.RangedMajor); } XmlListLoader <WeaponSpecialAbility> .Save(wsList, "WeaponSpecialAbility2.xml"); }
private void button2_Click(object sender, RoutedEventArgs e) { List <SpecificItemChart> chartList = XmlListLoader <SpecificItemChart> .Load("APGItemChart.xml"); foreach (SpecificItemChart chart in chartList) { chart.Major = FixChartNum(chart.Major, chart.Type); chart.Medium = FixChartNum(chart.Medium, chart.Type); chart.Minor = FixChartNum(chart.Minor, chart.Type); chart.Name = FixChartTextItem(chart.Name); chart.Cost = FixChartTextItem(chart.Cost); } XmlListLoader <SpecificItemChart> .Save(chartList, "APGItemChartOut.xml"); }
void SavePressed(LinearLayout cl, bool monsters) { FileDialog.CheckFilePermission(Activity, () => { FileDialog fd = new FileDialog(cl.Context, _Extensions, false); fd.DialogComplete += (object s, FileDialog.FileDialogEventArgs ea) => { string name = ea.Filename; if (!name.EndsWith(".cmpt", StringComparison.CurrentCultureIgnoreCase)) { name = name + ".cmpt"; } string fullname = Path.Combine(fd.Folder, name); XmlListLoader <Character> .Save(new List <Character>(_CombatState.Characters.Where((a) => a.IsMonster == monsters)), fullname); }; fd.Show(); }); }
private void SpellWeightRunButton_Click(object sender, RoutedEventArgs e) { List <WeightValue> weights = XmlListLoader <WeightValue> .Load("Weight.xml"); foreach (WeightValue w in weights) { //find spell Spell spell = Spell.Spells.FirstOrDefault(a => String.Compare(a.name, w.Name, true) == 0); if (spell == null) { System.Diagnostics.Debug.WriteLine(w.Name + " " + w.Type + " Level " + w.Level); } else { if (w.Type == "Potion") { spell.PotionCost = w.Price; spell.PotionLevel = w.Level; spell.PotionWeight = w.Weight; } else if (w.Type == "Wand") { spell.WandCost = w.Price; spell.WandLevel = w.Level; spell.WandWeight = w.Weight; } else if (w.Type == "Divine") { spell.DivineScrollCost = w.Price; spell.DivineScrollLevel = w.Level; spell.DivineScrollWeight = w.Weight; } else if (w.Type == "Arcane") { spell.ArcaneScrollCost = w.Price; spell.ArcaneScrollLevel = w.Level; spell.ArcaneScrollWeight = w.Weight; } } } }
void LoadPressed(LinearLayout cl, bool monsters) { FileDialog.CheckFilePermission(Activity, () => { FileDialog fd = new FileDialog(cl.Context, _Extensions, true); fd.Show(); fd.DialogComplete += (object s, FileDialog.FileDialogEventArgs ea) => { string name = ea.Filename; string fullname = Path.Combine(fd.Folder, name); FileInfo file = new FileInfo(fullname); if (String.Compare(".por", file.Extension, true) == 0 || String.Compare(".rpgrp", file.Extension, true) == 0) { List <Monster> importmonsters = Monster.FromFile(fullname); if (importmonsters != null) { foreach (Monster m in importmonsters) { Character ch = new Character(m, false); ch.IsMonster = monsters; _CombatState.AddCharacter(ch); } } } else { List <Character> l = XmlListLoader <Character> .Load(fullname); foreach (var c in l) { c.IsMonster = monsters; _CombatState.AddCharacter(c); } } }; }); }
private void AddCharacterList(LayoutInflater inflater, ViewGroup container, View v, int id, bool monsters) { LinearLayout cl = (LinearLayout)inflater.Inflate(Resource.Layout.CharacterList, container, false); cl.LayoutParameters = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.MatchParent, 1f); ListView lv = cl.FindViewById <ListView>(Resource.Id.characterList); lv.Adapter = (new CharacterListAdapter(_CombatState, monsters)); lv.ItemSelected += (sender, e) => { Character c = ((BaseAdapter <Character>)lv.Adapter)[e.Position]; ShowCharacter(v, c); }; lv.ItemClick += (sender, e) => { Character c = ((BaseAdapter <Character>)lv.Adapter)[e.Position]; ShowCharacter(v, c); }; if (!monsters) { _PlayerList = lv; } else { _MonsterList = lv; } lv.SetOnDragListener(new ListOnDragListener(monsters, v)); cl.FindViewById <ImageButton>(Resource.Id.blankButton).Click += (object sender, EventArgs e) => { _CombatState.AddBlank(monsters); }; cl.FindViewById <ImageButton>(Resource.Id.monsterButton).Click += (object sender, EventArgs e) => { MonsterPickerDialog dl = new MonsterPickerDialog(v.Context, monsters, _CombatState); dl.Show(); }; cl.FindViewById <ImageButton>(Resource.Id.loadButton).Click += (object sender, EventArgs e) => { FileDialog fd = new FileDialog(cl.Context, _Extensions, true); fd.Show(); fd.DialogComplete += (object s, FileDialog.FileDialogEventArgs ea) => { string name = ea.Filename; string fullname = Path.Combine(fd.Folder, name); FileInfo file = new FileInfo(fullname); if (String.Compare(".por", file.Extension, true) == 0 || String.Compare(".rpgrp", file.Extension, true) == 0) { List <Monster> importmonsters = Monster.FromFile(fullname); if (importmonsters != null) { foreach (Monster m in importmonsters) { Character ch = new Character(m, false); ch.IsMonster = monsters; _CombatState.AddCharacter(ch); } } } else { List <Character> l = XmlListLoader <Character> .Load(fullname); foreach (var c in l) { c.IsMonster = monsters; _CombatState.AddCharacter(c); } } }; }; cl.FindViewById <ImageButton>(Resource.Id.saveButton).Click += (object sender, EventArgs e) => { FileDialog fd = new FileDialog(v.Context, _Extensions, false); fd.DialogComplete += (object s, FileDialog.FileDialogEventArgs ea) => { string name = ea.Filename; if (!name.EndsWith(".cmpt", StringComparison.CurrentCultureIgnoreCase)) { name = name + ".cmpt"; } string fullname = Path.Combine(fd.Folder, name); XmlListLoader <Character> .Save(new List <Character>(_CombatState.Characters.Where((a) => a.IsMonster == monsters)), fullname); }; fd.Show(); }; cl.FindViewById <Button>(Resource.Id.clearButton).Click += (object sender, EventArgs e) => { AlertDialog.Builder bui = new AlertDialog.Builder(v.Context); bui.SetMessage("Clear " + (monsters?"Monsters":"Players") + " List?"); bui.SetPositiveButton("OK", (a, x) => { List <Character> removeList = new List <Character>(from c in _CombatState.Characters where c.IsMonster == monsters select c); foreach (Character c in removeList) { _CombatState.RemoveCharacter(c); } }); bui.SetNegativeButton("Cancel", (a, x) => {}); bui.Show(); }; if (monsters) { _XPText = cl.FindViewById <TextView>(Resource.Id.xpText); ReloadXPText(); } v.FindViewById <LinearLayout>(id).AddView(cl); }
private void button2_Click_1(object sender, RoutedEventArgs e) { Feat.LoadFeats(); StreamReader str = new StreamReader("NewFeat.txt"); String bigText = str.ReadToEnd(); List <Feat> feats = new List <Feat>(); bigText = Regex.Replace(bigText, "(\\<a href[^\\>]+>)|(\\</a\\>)|\\</?i\\>", delegate(Match asd) { return(""); }); bigText = Regex.Replace(bigText, " ?\\<br/\\>", "\r\n"); bigText = Regex.Replace(bigText, "–", "-"); Regex x = new Regex("\\<h2 id\\=\"[-\\p{L}0-9()]+\"\\>(?<name>[-\\p{L} '0-9]+)( \\((?<type>[^)]+)\\))?\\</h2\\>[ \\t\\r\\n]*" + "\\<p\\>(?<short>([^\\<]|\\</?i\\>)+)\\</p\\>[ \\t\\r\\n]*" + "(\\<p\\>\\<b\\>Prerequisites?\\</b\\>: (?<prereq>[^\\<]+)\\</p\\>[ \\t\\r\\n]*)?" + "(\\<p\\>\\<b\\>Benefits?\\</b\\>: (?<benefit>[^\\<]+)\\</p\\>[ \\t\\r\\n]*)?" + "(?<beneextra>(\\<p\\>([^\\<]|\\</?i\\>)+\\</p\\>[ \\t\\r\\n]*)+)?" + "(\\<p\\>\\<b\\>Special\\</b\\>: (?<special>[^\\<]+)\\</p\\>[ \\t\\r\\n]*)?" + "(\\<p id=\"normal\"\\>\\<b\\>Normal\\</b\\>: (?<normal>[^\\<]+)\\</p\\>[ \\t\\r\\n]*)?" + "(\\<p id=\"note\"\\>\\<b\\>Note\\</b\\>: (?<note>[^\\<]+)\\</p\\>[ \\t\\r\\n]*)?" + ""); Match m = x.Match(bigText); int count = 0; int prereq = 0; int bene = 0; int beneextra = 0; int special = 0; int normal = 0; int note = 0; while (m.Success) { count++; if (m.Groups["prereq"].Success) { prereq++; } if (m.Groups["benefit"].Success) { bene++; } else { System.Diagnostics.Debug.WriteLine(m.Groups["name"]); } if (m.Groups["beneextra"].Success) { beneextra++; } if (m.Groups["special"].Success) { special++; } if (m.Groups["normal"].Success) { normal++; } if (m.Groups["note"].Success) { note++; } Feat f = new Feat(); f.Name = m.Value("name"); f.Summary = m.Value("short"); string benefitText = m.Value("benefit").Trim(); if (m.GroupSuccess("beneextra")) { string bx = m.Value("beneextra"); bx = Regex.Replace(bx, "\\<p\\>", "\r\n"); bx = Regex.Replace(bx, "\t|\\</p\\>", ""); benefitText += bx; } if (m.GroupSuccess("note")) { benefitText += "\r\nNote: " + m.Value("note"); } benefitText = Regex.Replace(benefitText, "( )|(\\t)", ""); benefitText = benefitText.Trim(new char[] { '\r', '\n', ' ', '\t' }); benefitText = Regex.Replace(benefitText, "(\\r\\n)*\\r\\n", "\r\n\r\n"); f.Benefit = benefitText; f.Normal = m.Value("normal"); f.Special = m.Value("special"); f.Prerequistites = m.Value("prereq"); if (m.GroupSuccess("type")) { f.Type = m.Value("type"); } else { f.Type = "General"; } f.Source = "APG"; string name = m.Groups["name"].Value; if (!Feat.FeatMap.ContainsKey(name)) { System.Diagnostics.Debug.WriteLine(name); feats.Add(f); } m = m.NextMatch(); } XmlListLoader <Feat> .Save(feats, "NewFeats.xml"); MessageBox.Show(count.ToString() + "\r\npre: " + prereq + "\r\nbene: " + bene + "\r\nextra: " + beneextra + "\r\nspecial: " + special + "\r\nnormal: " + normal + "\r\nnote: " + note); }