public void UpdateOverview() { var player = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.Europe, GameMode.GM_1v1, 0, null); player.RecordWin(true, 1230); player.RecordWin(false, 1240); player.RecordWin(false, 1250); Assert.AreEqual(3, player.Games); Assert.AreEqual(1, player.Wins); Assert.AreEqual(2, player.Losses); Assert.AreEqual("peter#123", player.PlayerIds[0].BattleTag); Assert.AreEqual("peter", player.PlayerIds[0].Name); Assert.AreEqual("0_peter#123@20_GM_1v1", player.Id); Assert.AreEqual(1250, player.MMR); }
/// <summary> /// Add distant player to main GUI. /// </summary> /// <param name="player">The distant player to be added.</param> /// <returns>The particular distant player's GUI.</returns> public VirtualPlayer AddPlayer(Player player) { GameObject playerGUI = Resources.Load("distant_player") as GameObject; GameObject playerOverview = Instantiate(playerGUI, this.transform.root); GameObject playerIcon = Resources.Load("player") as GameObject; Text playerLabel = playerIcon.GetComponentInChildren <Text>(); playerLabel.text = player.Name; GameObject distantPlayerIcon = Instantiate(playerIcon, this.transform); PlayerOverview po = distantPlayerIcon.GetComponent <PlayerOverview>(); po.Overview = playerOverview; VirtualPlayer virtualPlayer = playerOverview.GetComponentInChildren <VirtualPlayer>(); virtualPlayer.Initialize(); return(virtualPlayer); }
public async Task ReturnRanks_WithRaceSpecificRank() { // Arrange var rankRepository = new RankRepository(MongoClient); var playerRepository = new PlayerRepository(MongoClient); var queryHandler = new RankQueryHandler(rankRepository, playerRepository, new ClanRepository(MongoClient)); var ranks = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 2, 1000, Race.HU, GateWay.America, GameMode.GM_1v1, 2), new Rank(new List <string> { "peter#123" }, 1, 3, 2000, Race.NE, GateWay.America, GameMode.GM_1v1, 2) }; await rankRepository.InsertRanks(ranks); var player1 = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 2, Race.HU); player1.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player1); var player2 = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 2, Race.NE); player2.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player2); // Act var playerLoaded = await queryHandler.LoadPlayersOfLeague(1, 2, GateWay.America, GameMode.GM_1v1); // Assert Assert.AreEqual(2, playerLoaded.Count); Assert.AreEqual("peter#123", playerLoaded[0].Player.PlayerIds.Single().BattleTag); Assert.AreEqual("peter#123", playerLoaded[1].Player.PlayerIds.Single().BattleTag); }
public PlayerOverview GetOverview() { PlayerOverview overview = new PlayerOverview(); RestRequest request = CreateGladiatusRequest(Method.GET, false, true); request.AddParameter("mod", "overview"); var response = _RestClient.Execute(request); if (response.StatusCode == HttpStatusCode.OK) { try { HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(response.Content); var honourMatch = Regex.Match(doc.GetElementbyId("sstat_highscore").InnerHtml, Patterns.HONOUR_PATTERN); var hpMatch = Regex.Match(doc.GetElementbyId("header_values_hp").InnerHtml, Patterns.HITPOINTS_PATTERN); var expMatch = Regex.Match(doc.GetElementbyId("header_values_xp").InnerHtml, Patterns.EXPERIENCE_PATTERN); overview.Gold = int.Parse(doc.GetElementbyId("sstat_gold_val").InnerHtml, System.Globalization.NumberStyles.AllowThousands); overview.Rubies = int.Parse(doc.GetElementbyId("sstat_ruby_val").InnerHtml, System.Globalization.NumberStyles.AllowThousands); overview.Ranking = int.Parse(doc.GetElementbyId("highscorePlace").InnerHtml, System.Globalization.NumberStyles.AllowThousands); overview.Level = int.Parse(doc.GetElementbyId("header_values_level").InnerHtml, System.Globalization.NumberStyles.AllowThousands); overview.Honour = int.Parse(honourMatch.Groups["Honour"].Value, System.Globalization.NumberStyles.AllowThousands); overview.CurrentHP = int.Parse(hpMatch.Groups["CurrentHP"].Value, System.Globalization.NumberStyles.AllowThousands); overview.MaxHP = int.Parse(hpMatch.Groups["MaxHP"].Value, System.Globalization.NumberStyles.AllowThousands); overview.CurrentXP = int.Parse(expMatch.Groups["CurrentExp"].Value, System.Globalization.NumberStyles.AllowThousands); overview.RequiredXP = int.Parse(expMatch.Groups["MaxExp"].Value, System.Globalization.NumberStyles.AllowThousands); return(overview); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message, "Exception", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); return(null); } } else { return(null); } }
public async Task LoadAndSave_NotFound() { var rankRepository = new RankRepository(MongoClient); var playerRepository = new PlayerRepository(MongoClient); var ranks = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 12, 1456, GateWay.Europe, GameMode.GM_1v1, 0) }; await rankRepository.InsertRanks(ranks); var player = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.Europe, GameMode.GM_1v1, 0); await playerRepository.UpsertPlayerOverview(player); var playerLoaded = await rankRepository.LoadPlayersOfLeague(1, 0, GateWay.America, GameMode.GM_1v1); Assert.IsEmpty(playerLoaded); }
public async Task ReturnRanks_ClanGetsResolved() { // Arrange var rankRepository = new RankRepository(MongoClient); var playerRepository = new PlayerRepository(MongoClient); var clanRepository = new ClanRepository(MongoClient); var queryHandler = new RankQueryHandler(rankRepository, playerRepository, clanRepository); var ranks = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 12, 1456, GateWay.America, GameMode.GM_1v1, 1) }; await rankRepository.InsertRanks(ranks); var player = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 1); player.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player); var playerStats = new PlayerOverallStats() { BattleTag = "peter#123", }; await playerRepository.UpsertPlayer(playerStats); await clanRepository.UpsertMemberShip(new ClanMembership { BattleTag = "peter#123", ClanId = "W3C" }); // Act var playerLoaded = await queryHandler.LoadPlayersOfLeague(1, 1, GateWay.America, GameMode.GM_1v1); // Assert Assert.AreEqual(1, playerLoaded.Count); var playerRank = playerLoaded[0]; Assert.AreEqual("W3C", playerRank.PlayersInfo.Single().ClanId); }
public async Task LoadClan_PopulateRanks() { var clan = await CreateFoundedClanForTest(); await _rankRepository.UpsertSeason(new Season(0)); await _rankRepository.UpsertSeason(new Season(1)); await _rankRepository.InsertRanks(new List <Rank> { new Rank(new List <string> { clan.Members[0] }, 1, 5, 1500, null, GateWay.Europe, GameMode.GM_1v1, 1) }); await _rankRepository.InsertLeagues(new List <LeagueConstellation> { new LeagueConstellation(1, GateWay.Europe, GameMode.GM_1v1, new List <League> { new League(1, 2, "Wood", 5) }) }); var playerRepository = new PlayerRepository(MongoClient); await playerRepository.UpsertPlayerOverview(PlayerOverview.Create(new List <PlayerId> { PlayerId.Create(clan.Members[0]) }, GateWay.Europe, GameMode.GM_1v1, 1, null)); var clanLoaded = await _handler.LoadClan(clan.ClanId); Assert.AreEqual(1, clanLoaded.Ranks.First().League); Assert.AreEqual(2, clanLoaded.Ranks.First().LeagueOrder); Assert.AreEqual("Wood", clanLoaded.Ranks.First().LeagueName); Assert.AreEqual(5, clanLoaded.Ranks.First().LeagueDivision); }
public async Task ReturnRanks_WhenPlayersDoNotHavePersonalSettingsConfigured_MustHaveNotThrowError() { // Arrange var rankRepository = new RankRepository(MongoClient); var playerRepository = new PlayerRepository(MongoClient); var clanRepository = new ClanRepository(MongoClient); var queryHandler = new RankQueryHandler(rankRepository, playerRepository, clanRepository); var ranks = new List <Rank> { new Rank(new List <string> { "peter#123" }, 1, 12, 1456, GateWay.America, GameMode.GM_1v1, 1) }; await rankRepository.InsertRanks(ranks); var player = PlayerOverview.Create(new List <PlayerId> { PlayerId.Create("peter#123") }, GateWay.America, GameMode.GM_1v1, 1); player.RecordWin(true, 1234); await playerRepository.UpsertPlayerOverview(player); var playerStats = new PlayerOverallStats() { BattleTag = "peter#123", }; await playerRepository.UpsertPlayer(playerStats); // Act var playerLoaded = await queryHandler.LoadPlayersOfLeague(1, 1, GateWay.America, GameMode.GM_1v1); // Assert Assert.AreEqual(1, playerLoaded.Count); var playerRank = playerLoaded[0]; Assert.AreEqual("1_peter#123@10_GM_1v1", playerRank.Players.First().Id); }
public async Task UpsertPlayerOverview(PlayerOverview playerOverview) { await Upsert(playerOverview); }