private void PopulateRites() { XPathNavigator nav = cvRitesXml.CreateNavigator(); XPathNodeIterator nodeIter = nav.Select("Rites/Rite"); _formCreation.pnlRites.Controls.Clear(); CheckBox lvRiteCheck; rdoAbilityRank lvAr; while (nodeIter.MoveNext()) { lvRiteCheck = new CheckBox(); lvRiteCheck.Width = 230; lvRiteCheck.BackColor = Color.Transparent; lvRiteCheck.Name = "cbxRite" + nodeIter.Current.SelectSingleNode("@Name").Value.Replace(" ", String.Empty); lvRiteCheck.Text = nodeIter.Current.SelectSingleNode("@Name").Value; lvRiteCheck.CheckedChanged += cbxRite_CheckChanged; lvAr = new rdoAbilityRank(); lvAr.RadioCount = 5; lvAr.AbilityRank = nodeIter.Current.SelectSingleNode("@Rituals").ValueAsInt; _formCreation.pnlRites.Controls.Add(lvRiteCheck); _formCreation.pnlRites.Controls.Add(lvAr); _formCreation.pnlRites.SetFlowBreak(lvAr, true); } }
private int RenownTotal() { int sum = 0; foreach (Control cntrl in _formCreation.pnlRenown.Controls) { if (cntrl.GetType() == typeof(rdoAbilityRank)) { rdoAbilityRank rank = (rdoAbilityRank)cntrl; XPathNavigator tribeRenownNav = cvTribeXml.CreateNavigator().SelectSingleNode(String.Format("Clans/Template[@Name='{0}']/Clan[@Name='{1}']/Renown", Player.Template, Player.Clan)); XPathNavigator auspRenownNav = cvAuspiceXml.CreateNavigator().SelectSingleNode(String.Format("Covenants/Template[@Name='{0}']/Covenant[@Name='{1}']/Renown", Player.Template, Player.Clan)); if (rank.Name.Replace("rdo", "") == tribeRenownNav.Value || rank.Name.Replace("rdo", "") == auspRenownNav.Value) { sum += rank.AbilityRank * _knownRenownCost; } else { sum += rank.AbilityRank * _unknownRenownCost; } } } return(sum); }
private void PopulateDisciplines() { //TODO: The Coils of the Dragon XPathNavigator nav = cvDisciplineXml.CreateNavigator(); XPathNodeIterator nodeIter = nav.Select("Disciplines/Discipline"); _formCreation.pnlDisciplines.Controls.Clear(); while (nodeIter.MoveNext()) { Label lbl = new Label(); lbl.Name = "lblDisc" + nodeIter.Current.SelectSingleNode("@Name").Value.Replace(" ", String.Empty); lbl.Text = nodeIter.Current.SelectSingleNode("@Name").Value; lbl.Height = 28; lbl.TextAlign = ContentAlignment.MiddleLeft; rdoAbilityRank ar = new rdoAbilityRank(); ar.Name = "rdoDisc" + nodeIter.Current.SelectSingleNode("@Name").Value.Replace(" ", String.Empty); ar.RadioCount = 5; ar.AbilityRank = 0; ar.Height = 25; lbl.MouseHover += lblDisc_MouseHover; lbl.MouseClick += lblDisc_Click; ar.GotFocus += rdoDisc_Clicked; _formCreation.pnlDisciplines.Controls.Add(lbl); _formCreation.pnlDisciplines.Controls.Add(ar); _formCreation.pnlDisciplines.SetFlowBreak(ar, true); } }
private void AddRotesToTab(string arcana, FlowLayoutPanel pnl) { XPathNavigator xNav = cvArcanaXml.CreateNavigator().SelectSingleNode($"Arcanum/Arcana[@Name=\"{arcana}\"]"); XPathNodeIterator xNodeIter = xNav.Select("Rote"); while (xNodeIter.MoveNext()) { string rote = xNodeIter.Current.SelectSingleNode("@Name").Value; int roteLevel = xNodeIter.Current.SelectSingleNode("@Level").ValueAsInt; CheckBox cbx = new CheckBox(); cbx.Name = "cbxRote" + rote.Replace(" ", ""); cbx.Text = rote; cbx.Width = 160; cbx.Height = 28; cbx.CheckedChanged += rote_CheckedChanged; rdoAbilityRank rdo = new rdoAbilityRank(); rdo.AbilityRank = roteLevel; rdo.RadioCount = roteLevel; rdo.ReadOnly = true; rdo.Height = 28; pnl.Controls.Add(cbx); pnl.Controls.Add(rdo); pnl.SetFlowBreak(rdo, true); } }
public void rdoDisc_Clicked(object sender, EventArgs e) { rdoAbilityRank rank = (rdoAbilityRank)sender; String lvDiscName = rank.Name.Replace("rdoDisc", String.Empty); Label lbl = (Label)_formCreation.Controls.Find("lblDisc" + lvDiscName, true)[0]; if (lbl == null) { throw new Exception(); } else { if (rank.AbilityRank > 0) { PopulateDiscDetail(lbl.Text, rank.AbilityRank); } } //_disciplineTotal = 0; //foreach (Control lvControl in _formCreation.Controls) //{ // if (lvControl.GetType() == typeof(rdoAbilityRank)) // { // _disciplineTotal += ((rdoAbilityRank)lvControl).AbilityRank; // } //} }
public void LoadCharacterDisciplines() { foreach (KeyValuePair <string, int> d in Player.Discipline) { if (!String.IsNullOrEmpty(d.Key)) { rdoAbilityRank rdoDisc = (rdoAbilityRank)_formCreation.pnlDisciplines.Controls.Find("rdoDisc" + d.Key.Replace(" ", String.Empty), true)[0]; rdoDisc.AbilityRank = d.Value; rdoDisc.Refresh(); } } _disciplineTotal = DisciplineTotal(); }
private int DisciplineTotal() { int sum = 0; foreach (Control cntrl in _formCreation.pnlDisciplines.Controls) { if (cntrl.GetType() == typeof(Label)) { Label lbl = (Label)cntrl; rdoAbilityRank rank = (rdoAbilityRank)_formCreation.pnlDisciplines.Controls.Find("rdoDisc" + lbl.Text.Replace(" ", String.Empty), true)[0]; XPathNodeIterator clanDiscIter = cvClanXml.CreateNavigator().Select(String.Format("Clans/Template[@Name='{0}']/Clan[@Name='{1}']/Disciplines/Discipline", Player.Template, Player.Clan)); bool match = false; while (clanDiscIter.MoveNext()) { match = clanDiscIter.Current.Value == lbl.Text ? true : false; if (match) { break; } } if (lbl.Text == "Crúac" || lbl.Text == "Theban Sorcery") { sum += rank.AbilityRank * _lesserDisciplineCost; } else if (match) { sum += rank.AbilityRank * _knownDisciplineCost; } else { sum += rank.AbilityRank * _unknownDisciplineCost; } } } return(sum); }
public void SaveDisciplines(XmlTextWriter textWriter) { textWriter.WriteStartElement("Disciplines"); foreach (Control lvControl in _formCreation.pnlDisciplines.Controls) { if (lvControl.GetType() == typeof(rdoAbilityRank) && ((rdoAbilityRank)lvControl).AbilityRank > 0) { rdoAbilityRank ar = ((rdoAbilityRank)lvControl); Control lbl = _formCreation.pnlDisciplines.Controls.Find("lblDisc" + ar.Name.Replace("rdoDisc", String.Empty), true)[0]; textWriter.WriteStartElement("Discipline"); textWriter.WriteStartAttribute("Name"); textWriter.WriteString(lbl.Text); textWriter.WriteEndAttribute(); textWriter.WriteStartAttribute("Level"); textWriter.WriteString(ar.AbilityRank.ToString()); textWriter.WriteEndAttribute(); textWriter.WriteEndElement(); } } textWriter.WriteEndElement(); }
private void LoadCharacterRotes() { foreach (KeyValuePair <string, int> d in Player.Arcana) { if (!String.IsNullOrEmpty(d.Key)) { rdoAbilityRank rdoArcana = (rdoAbilityRank)_formCreation.tblArcana.Controls.Find("rdoArcana" + d.Key, true)[0]; rdoArcana.AbilityRank = d.Value; rdoArcana.Refresh(); } } foreach (KeyValuePair <string, string> d in Player.Rote) { CheckBox cbx; switch (d.Value) { case "Death": cbx = (CheckBox)_formCreation.pnlRoteDeath.Controls.Find("cbxRote" + d.Key.Replace(" ", ""), true)[0]; cbx.Checked = true; cbx.Refresh(); break; case "Fate": cbx = (CheckBox)_formCreation.pnlRoteFate.Controls.Find("cbxRote" + d.Key.Replace(" ", ""), true)[0]; cbx.Checked = true; cbx.Refresh(); break; case "Forces": cbx = (CheckBox)_formCreation.pnlRoteForces.Controls.Find("cbxRote" + d.Key.Replace(" ", ""), true)[0]; cbx.Checked = true; cbx.Refresh(); break; case "Life": cbx = (CheckBox)_formCreation.pnlRoteLife.Controls.Find("cbxRote" + d.Key.Replace(" ", ""), true)[0]; cbx.Checked = true; cbx.Refresh(); break; case "Matter": cbx = (CheckBox)_formCreation.pnlRoteMatter.Controls.Find("cbxRote" + d.Key.Replace(" ", ""), true)[0]; cbx.Checked = true; cbx.Refresh(); break; case "Mind": cbx = (CheckBox)_formCreation.pnlRoteMind.Controls.Find("cbxRote" + d.Key.Replace(" ", ""), true)[0]; cbx.Checked = true; cbx.Refresh(); break; case "Prime": cbx = (CheckBox)_formCreation.pnlRotePrime.Controls.Find("cbxRote" + d.Key.Replace(" ", ""), true)[0]; cbx.Checked = true; cbx.Refresh(); break; case "Space": cbx = (CheckBox)_formCreation.pnlRoteSpace.Controls.Find("cbxRote" + d.Key.Replace(" ", ""), true)[0]; cbx.Checked = true; cbx.Refresh(); break; case "Spirit": cbx = (CheckBox)_formCreation.pnlRoteSpirit.Controls.Find("cbxRote" + d.Key.Replace(" ", ""), true)[0]; cbx.Checked = true; cbx.Refresh(); break; case "Time": cbx = (CheckBox)_formCreation.pnlRoteTime.Controls.Find("cbxRote" + d.Key.Replace(" ", ""), true)[0]; cbx.Checked = true; cbx.Refresh(); break; default: break; } } }