Ejemplo n.º 1
0
        public static Character LoadCharacter(this Armory armory, string realmName, string characterName, CharacterDetail loadDetail)
        {
            XmlNode characterDetails = LoadDetailNode(armory, CharacterDetail.Basic, realmName, characterName);

            if (characterDetails != null)
            {
                XmlNode characterNode = characterDetails.SelectSingleNode("character");

                // <character battleGroup="Vindication" charUrl="r=Sporeggar&amp;n=Zoing" class="Rogue" classId="4" faction="Horde" factionId="1" gender="Female" genderId="1" guildName="The Dominion" guildUrl="r=Sporeggar&amp;n=The+Dominion&amp;p=1" lastModified="31 August 2008" level="70" name="Zoing" prefix="" race="Blood Elf" raceId="10" realm="Sporeggar" suffix="">
                G guild = new G(
                            GuildDetail.Basic,
                            armory.Region,
                            (Faction)Enum.Parse(typeof(Faction), characterNode.Attributes["factionId"].Value),
                            characterNode.Attributes["guildName"].Value,
                            characterNode.Attributes["realm"].Value,
                            characterNode.Attributes["battleGroup"].Value,
                            characterNode.Attributes["guildUrl"].Value);

                Character character = new Character(
                                                    armory,
                                                    CharacterDetail.Basic,
                                                    armory.Region,
                                                    (Faction)Enum.Parse(typeof(Faction), characterNode.Attributes["factionId"].Value),
                                                    characterNode.Attributes["name"].Value,
                                                    characterNode.Attributes["realm"].Value,
                                                    characterNode.Attributes["battleGroup"].Value,
                                                    (Gender)Enum.Parse(typeof(Gender), characterNode.Attributes["genderId"].Value),
                                                    (Race)Enum.Parse(typeof(Race), characterNode.Attributes["raceId"].Value),
                                                    (Class)Enum.Parse(typeof(Class), characterNode.Attributes["classId"].Value),
                                                    Convert.ToInt32(characterNode.Attributes["level"].Value),
                                                    characterNode.Attributes["charUrl"].Value,
                                                    guild);

                if (loadDetail.ContainsDetail(CharacterDetail.CharacterSheet))
                {
                    character.LoadDetail(CharacterDetail.CharacterSheet);
                }

                if (loadDetail.ContainsDetail(CharacterDetail.Reputation))
                {
                    character.LoadDetail(CharacterDetail.Reputation);
                }

                if (loadDetail.ContainsDetail(CharacterDetail.Skills))
                {
                    character.LoadDetail(CharacterDetail.Skills);
                }

                if (loadDetail.ContainsDetail(CharacterDetail.Talents))
                {
                    character.LoadDetail(CharacterDetail.Talents);
                }

                return character;
            }
            else
            {
                return null;
            }
        }