Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
        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;
            //    }
            //}
        }
Ejemplo n.º 6
0
        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();
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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();
        }
Ejemplo n.º 9
0
        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;
                }
            }
        }