AdvancedLogParser.CharacterDetails.CharacterDetails C# (CSharp) Method

CharacterDetails() public method

public CharacterDetails ( Character character ) : System
character Character
return System
        public CharacterDetails(Character character)
        {
            this.Name = character.Name;
            this.Text = character.Name;

            switch (character.Alignment)
            {
                case Alignment.LawfulGood:
                    alignment.Text = "Lawful Good";
                    break;
                case Alignment.NeutralGood:
                    alignment.Text = "Neutral Good";
                    break;
                case Alignment.ChaoticGood:
                    alignment.Text = "Chaotic Good";
                    break;
                case Alignment.LawfulNeutral:
                    alignment.Text = "Lawful Neutral";
                    break;
                case Alignment.TrueNeutral:
                    alignment.Text = "True Neutral";
                    break;
                case Alignment.ChaoticNeutral:
                    alignment.Text = "Chaotic Neutral";
                    break;
                case Alignment.LawfulEvil:
                    alignment.Text = "Lawful Evil";
                    break;
                case Alignment.NeutralEvil:
                    alignment.Text = "Neutral Evil";
                    break;
                case Alignment.ChaoticEvil:
                    alignment.Text = "Chaotic Evil";
                    break;
            }
            alignment.Text += " " + SubraceToString(character.SubRace);
            alignment.Size = alignment.PreferredSize;
            alignment.Location = new Point(leftColumn, 5);

            classLabel.Text = "Class:";
            classLabel.Size = classLabel.PreferredSize;
            classLabel.Location = new Point(leftColumn, alignment.Location.Y + alignment.Height);

            string classes = PlayerDetails.ClassToAbbreviation(character.Class1) + character.Level1;
            if (character.Class2 < 255)
            {
                classes += "/" + PlayerDetails.ClassToAbbreviation(character.Class2) + character.Level2;
            }
            if (character.Class3 < 255)
            {
                classes += "/" + PlayerDetails.ClassToAbbreviation(character.Class3) + character.Level3;
            }
            classes += String.Format(" ({0} XP)", character.XP);
            classValue.Text = classes;
            classValue.Size = classValue.PreferredSize;
            classValue.Location = new Point(rightColumn, classLabel.Location.Y);

            wealthLabel.Text = "Wealth";
            wealthLabel.Size = wealthLabel.PreferredSize;
            wealthLabel.Location = new Point(leftColumn, classLabel.Location.Y + classLabel.Height);

            WealthLevel lvl = InfoGather.GetWealthLevel(character);
            uint target = InfoGather.GetMedWealth(character.XP);
            switch (lvl)
            {
                case WealthLevel.VeryPoor:
                    wealthValue.Text = String.Format("Very Poor ({0} / {1})", character.Wealth, target);
                    wealthValue.ForeColor = Color.Red;
                    wealthValue.BackColor = Color.Yellow;
                    break;
                case WealthLevel.Poor:
                    wealthValue.Text = String.Format("Poor ({0} / {1})", character.Wealth, target);
                    break;
                case WealthLevel.Target:
                    wealthValue.Text = String.Format("Near Target ({0} / {1})", character.Wealth, target);
                    break;
                case WealthLevel.Rich:
                    wealthValue.Text = String.Format("Rich ({0} / {1})", character.Wealth, target);
                    break;
                case WealthLevel.VeryRich:
                    wealthValue.Text = String.Format("Very Rich ({0} / {1})", character.Wealth, target);
                    break;
                case WealthLevel.Cutoff:
                    wealthValue.Text = String.Format("Cutoff ({0} / {1})", character.Wealth, target);
                    wealthValue.ForeColor = Color.Red;
                    wealthValue.BackColor = Color.Yellow;
                    break;
            }
            wealthValue.Size = wealthValue.PreferredSize;
            wealthValue.Location = new Point(rightColumn, wealthLabel.Location.Y);

            deityLabel.Text = "Deity:";
            deityLabel.Size = deityLabel.PreferredSize;
            deityLabel.Location = new Point(leftColumn, wealthLabel.Location.Y + wealthLabel.Height);

            deityValue.Text = character.Deity;
            deityValue.Size = deityValue.PreferredSize;
            deityValue.Location = new Point(rightColumn, deityLabel.Location.Y);

            strengthLabel.Text = "Strength:";
            strengthLabel.Size = strengthLabel.PreferredSize;
            strengthLabel.Location = new Point(leftColumn, deityLabel.Location.Y + deityLabel.Height);

            if (character.Strength >= 10)
            {
                strengthValue.Text = String.Format("{0} (+{1})", character.Strength, ((int)character.Strength - 10) / 2);
            }
            else
            {
                strengthValue.Text = String.Format("{0} ({1})", character.Strength, ((int)character.Strength - 10) / 2);
            }
            strengthValue.Size = strengthValue.PreferredSize;
            strengthValue.Location = new Point(rightColumn, strengthLabel.Location.Y);

            dexterityLabel.Text = "Dexterity:";
            dexterityLabel.Size = dexterityLabel.PreferredSize;
            dexterityLabel.Location = new Point(leftColumn, strengthLabel.Location.Y + strengthLabel.Height);

            if (character.Dexterity >= 10)
            {
                dexterityValue.Text = String.Format("{0} (+{1})", character.Dexterity, ((int)character.Dexterity - 10) / 2);
            }
            else
            {
                dexterityValue.Text = String.Format("{0} ({1})", character.Dexterity, ((int)character.Dexterity - 10) / 2);
            }
            dexterityValue.Size = dexterityValue.PreferredSize;
            dexterityValue.Location = new Point(rightColumn, dexterityLabel.Location.Y);

            constitutionLabel.Text = "Constitution:";
            constitutionLabel.Size = constitutionLabel.PreferredSize;
            constitutionLabel.Location = new Point(leftColumn, dexterityLabel.Location.Y + dexterityLabel.Height);

            if (character.Constitution >= 10)
            {
                constitutionValue.Text = String.Format("{0} (+{1})", character.Constitution, ((int)character.Constitution - 10) / 2);
            }
            else
            {
                constitutionValue.Text = String.Format("{0} ({1})", character.Constitution, ((int)character.Constitution - 10) / 2);
            }
            constitutionValue.Size = constitutionValue.PreferredSize;
            constitutionValue.Location = new Point(rightColumn, constitutionLabel.Location.Y);

            intelligenceLabel.Text = "Intelligence:";
            intelligenceLabel.Size = intelligenceLabel.PreferredSize;
            intelligenceLabel.Location = new Point(leftColumn, constitutionLabel.Location.Y + constitutionLabel.Height);

            if (character.Intelligence >= 10)
            {
                intelligenceValue.Text = String.Format("{0} (+{1})", character.Intelligence, ((int)character.Intelligence - 10) / 2);
            }
            else
            {
                intelligenceValue.Text = String.Format("{0} ({1})", character.Intelligence, ((int)character.Intelligence - 10) / 2);
            }
            intelligenceValue.Size = intelligenceValue.PreferredSize;
            intelligenceValue.Location = new Point(rightColumn, intelligenceLabel.Location.Y);

            wisdomLabel.Text = "Wisdom:";
            wisdomLabel.Size = wisdomLabel.PreferredSize;
            wisdomLabel.Location = new Point(leftColumn, intelligenceLabel.Location.Y + intelligenceLabel.Height);

            if (character.Wisdom >= 10)
            {
                wisdomValue.Text = String.Format("{0} (+{1})", character.Wisdom, ((int)character.Wisdom - 10) / 2);
            }
            else
            {
                wisdomValue.Text = String.Format("{0} ({1})", character.Wisdom, ((int)character.Wisdom - 10) / 2);
            }
            wisdomValue.Size = wisdomValue.PreferredSize;
            wisdomValue.Location = new Point(rightColumn, wisdomLabel.Location.Y);

            charismaLabel.Text = "Charisma:";
            charismaLabel.Size = charismaLabel.PreferredSize;
            charismaLabel.Location = new Point(leftColumn, wisdomLabel.Location.Y + wisdomLabel.Height);

            if (character.Charisma >= 10)
            {
                charismaValue.Text = String.Format("{0} (+{1})", character.Charisma, ((int)character.Charisma - 10) / 2);
            }
            else
            {
                charismaValue.Text = String.Format("{0} ({1})", character.Charisma, ((int)character.Charisma - 10) / 2);
            }
            charismaValue.Size = charismaValue.PreferredSize;
            charismaValue.Location = new Point(rightColumn, charismaLabel.Location.Y);

            this.Controls.Add(alignment);
            this.Controls.Add(classLabel);
            this.Controls.Add(classValue);
            this.Controls.Add(wealthLabel);
            this.Controls.Add(wealthValue);
            this.Controls.Add(deityLabel);
            this.Controls.Add(deityValue);
            this.Controls.Add(strengthLabel);
            this.Controls.Add(strengthValue);
            this.Controls.Add(dexterityLabel);
            this.Controls.Add(dexterityValue);
            this.Controls.Add(constitutionLabel);
            this.Controls.Add(constitutionValue);
            this.Controls.Add(intelligenceLabel);
            this.Controls.Add(intelligenceValue);
            this.Controls.Add(wisdomLabel);
            this.Controls.Add(wisdomValue);
            this.Controls.Add(charismaLabel);
            this.Controls.Add(charismaValue);
        }