示例#1
0
        /// <summary>
        ///   Gets guild members
        /// </summary>
        /// <param name="sender"> </param>
        /// <param name="e"> </param>
        private async void GetMembersButtonClick(object sender, RoutedEventArgs e)
        {
            var client = new WowClient((Region)RegionCombo.SelectedValue);
            var guild  = await client.GetGuildAsync(RealmNameText.Text, GuildNameText.Text, GuildFields.Members);

            GuildMembersGrid.ItemsSource = guild.Members.Select(member => member.Character);
        }
示例#2
0
        //requires new guild to test against [TestMethod]
        public async Task Test_GetCharacter_FromGuildMembers()
        {
            var client = new WowClient(Region.EU, Locale.en_GB, TestConstants.ApiKey);
            //realm in getGuildAsync does not work (404 not found), why? setting realm in apiclient constructor works.
            var guild = await client.GetGuildAsync("method", GuildOptions.Members, "Twisting Nether");

            Assert.IsNotNull(guild);

            Stopwatch s1 = new Stopwatch();

            s1.Start();
            int iteration = 0;
            var charc     = await
                            client.GetCharactersInGuildAsync(guild.Members, CharacterOptions.AllOptions, 100, 60);

            foreach (var c in charc)
            {
                iteration++;

                Console.WriteLine("Iteration Nr: " + iteration + " ------------------------------");
                Console.WriteLine("Name: " + c.Name
                                  + "\nAchivement points: " + c.AchievementPoints
                                  + "\nLevel: " + c.Level);
                Console.WriteLine("----------------------------------------------");
            }

            Console.WriteLine("Asynchronous time: " + s1.Elapsed.TotalSeconds + " sec");
            s1.Stop();
        }
示例#3
0
        public void TestGuild()
        {
            var client = new WowClient(TestConstants.TestRegionName, TestConstants.Credentials, null, null);
            var guild  = client.GetGuildAsync(TestConstants.TestRealmName, TestConstants.TestGuildName, GuildFields.All).Result;

            Assert.IsNotNull(guild);
            Assert.IsNotNull(guild.Members);
            Assert.IsNotNull(guild.Achievements);
            Assert.IsTrue(guild.Members.Count > 0);
            Assert.IsTrue(guild.Members.Any(m => m.Rank > 0));
            Assert.IsTrue(string.Equals(guild.Members[0].Character.Realm, TestConstants.TestRealmName,
                                        StringComparison.OrdinalIgnoreCase));
            Assert.IsTrue(string.Equals(guild.Name, TestConstants.TestGuildName, StringComparison.OrdinalIgnoreCase));
            Assert.IsNotNull(guild.ToString());
            Assert.IsNotNull(guild.Faction);
            Assert.IsNotNull(guild.Members[0].ToString());
            Assert.IsTrue(guild.AchievementPoints > 0);
            Assert.IsNotNull(guild.BattleGroupName);
            Assert.IsNotNull(guild.Emblem);
            Assert.IsNotNull(guild.Emblem.BackgroundColor);
            Assert.IsNotNull(guild.Emblem.BorderColor);
            Assert.IsNotNull(guild.Emblem.IconColor);
            Assert.IsTrue(guild.Emblem.Icon > 0);
            Assert.IsTrue(guild.Emblem.Border >= 0);
            Assert.IsTrue(guild.Level >= 25);
            Assert.AreEqual(TestConstants.TestRealmName, guild.Realm);

            Assert.IsNotNull(guild.News);
            Assert.IsTrue(guild.News.All(n => n != null));
            Assert.IsTrue(guild.News.All(n => n.Achievement != null
                                         ||
                                         (n.GuildNewsItemType != GuildNewsItemType.PlayerAchievement &&
                                          n.GuildNewsItemType != GuildNewsItemType.GuildAchievement)));
            Assert.IsTrue(guild.News.All(n => n.ItemId > 0
                                         ||
                                         (n.GuildNewsItemType == GuildNewsItemType.PlayerAchievement ||
                                          n.GuildNewsItemType == GuildNewsItemType.GuildAchievement)));

            Assert.IsNotNull(guild.Challenges);
            Assert.AreNotEqual(0, guild.Challenges.Count);
        }
示例#4
0
        /// <summary>
        /// Gets accessing WOW API Asynchronously
        /// </summary>
        /// <returns></returns>
        private async static Task TestWowClientAsync()
        {
            string privateKey = ConfigurationManager.AppSettings["PrivateKey"];
            string publicKey  = ConfigurationManager.AppSettings["PublicKey"];
            var    pair       = new ApiKeyPair(publicKey, privateKey);

            // Init client
            var client = new WowClient(Region.EU, pair, "en-gb", null);

            // Character
            var character = await client.GetCharacterAsync("kazzak", "Grendiser", CharacterFields.All);

            // Refresh character info
            await character.RefreshAsync(client);

            // Gee pet types
            var petTypes = await client.GetBattlePetTypesAsync();

            // Get challenge leaders
            var kazzakChallengeLeaders = await client.GetChallengeLeadersAsync("kazzak");

            var euChallengeLeaders = await client.GetChallengeLeadersAsync(null);

            // Get battle groups
            var bgs = await client.GetBattleGroupsAsync();

            // Get rewards
            var rewards = await client.GetGuildRewardsAsync();

            // Get perks
            var perks = await client.GetGuildPerksAsync();

            // Get realms
            var realms = await client.GetRealmStatusAsync();

            // Get classes
            var classes = await client.GetClassesAsync();

            // Get item categories
            var itemCategories = await client.GetItemCategoryNamesAsync();

            // Get races
            var races = await client.GetRacesAsync();

            // Get character achievements
            var characterAchievements = await client.GetCharacterAchievementsAsync();

            // Get guild achievements
            var guildAchievements = await client.GetGuildAchievementsAsync();

            // Get quest
            var quest = await client.GetQuestAsync(23);

            // Get talents
            var talents = await client.GetTalentsAsync();

            // Get PVP information
            var topArenaPlayers = await client.GetPvpLeaderboardAsync(PvpBracket.Arena5v5);

            var topBgPlayers = await client.GetPvpLeaderboardAsync(PvpBracket.RatedBattleground);

            // Get item set
            var itemSet = await client.GetItemSetAsync(1058);

            // Get ability
            var ability = await client.GetBattlePetAbilityAsync(640);

            var petSpecies = await client.GetBattlePetSpeciesAsync(258);

            // Get guild
            var guild = await client.GetGuildAsync(character.Realm, character.Guild.Name, GuildFields.All);

            // Get items
            var itemsTasks = character.Items.AllItems.Select(
                equippedItem => client.GetItemAsync(equippedItem.ItemId)).ToArray();
            var allItemsTask = new Task <WOWSharp.Community.Wow.Item[]>(() =>
            {
                Task.WaitAll(itemsTasks);
                return(itemsTasks.Select(t => t.Result).ToArray());
            });

            allItemsTask.Start();
            var items = await allItemsTask;

            var gems = character.Items.AllItems.Where(ei => ei.Parameters != null)
                       .SelectMany(ei => new[] { ei.Parameters.Gem0, ei.Parameters.Gem1, ei.Parameters.Gem2, ei.Parameters.Gem3 })
                       .Where(gemid => gemid != null)
                       .Distinct();

            // Get AH dump
            var auctions = await client.GetAuctionDumpAsync(character.Realm);
        }
示例#5
0
        /// <summary>
        /// Test accessing wow client synchronously
        /// </summary>
        public static void TestWowClient()
        {
            // Init client
            WowClient client = new WowClient(Region.EU);

            // Get character data
            var character = client.GetCharacterAsync("Khaz Modan", "Xenøphik", CharacterFields.All).Result;

            Console.WriteLine(character.ToString());
            character.Stats.pv
            var progress = character.Progression.Raids;

            foreach (CharacterInstanceProgression c in progress)
            {
                Console.WriteLine(c.ToString());
            }
            // Get realm challenge leaders
            var HyjalChallengeLeaders = client.GetChallengeLeadersAsync("Hyjal").Result;

            Console.WriteLine(HyjalChallengeLeaders.ToString());

            // Get EU challenge leader
            var euChallengeLeaders = client.GetChallengeLeadersAsync(null).Result;

            Console.WriteLine(euChallengeLeaders.ToString());

            // Get battle groups
            var bgs = client.GetBattleGroupsAsync().Result;

            // Get guild rewards
            var rewards = client.GetGuildRewardsAsync().Result;

            // Get guild perks
            var perks = client.GetGuildPerksAsync().Result;

            // Get realms
            var realms = client.GetRealmStatusAsync().Result;

            Console.WriteLine(realms.ToString());

            // Get classes
            var classes = client.GetClassesAsync().Result;

            // Get item categories
            var itemCategories = client.GetItemCategoryNamesAsync().Result;

            // Get races
            var races = client.GetRacesAsync().Result;

            // Get character achievements

            var characterAchievements = client.GetCharacterAchievementsAsync().Result;

            // get guild achievements
            var guildAchievements = client.GetGuildAchievementsAsync().Result;

            // Get quest
            var quest = client.GetQuestAsync(23).Result;

            // Get PVP information
            var topArenaPlayers = client.GetPvpLeaderboardAsync(PvpBracket.Arena5v5).Result;
            var topBgPlayers    = client.GetPvpLeaderboardAsync(PvpBracket.RatedBattleground).Result;

            // Get battle pet info
            var ability    = client.GetBattlePetAbilityAsync(640).Result;
            var petSpecies = client.GetBattlePetSpeciesAsync(258).Result;

            // Get guild
            var guild = client.GetGuildAsync(character.Realm, character.Guild.Name, GuildFields.All).Result;

            Console.WriteLine(guild.ToString());

            // Get items
            var itemsTasks = character.Items.AllItems.Select(
                equippedItem => client.GetItemAsync(equippedItem.ItemId)).ToArray();
            var items = character.Items.AllItems.Select(equipped => client.GetItemAsync(equipped.ItemId).Result).ToArray();
            var gems  = character.Items.AllItems.Where(ei => ei.Parameters != null)
                        .SelectMany(ei => new[] { ei.Parameters.Gem0, ei.Parameters.Gem1, ei.Parameters.Gem2, ei.Parameters.Gem3 })
                        .Where(gemid => gemid != null)
                        .Distinct();

            Console.WriteLine(items.ToString());

            // Get AH dump
            var auctions = client.GetAuctionDumpAsync(character.Realm).Result;
        }