public void LoadFeatured(GameList game) { try { CurrentGame = game; ginfo.Text = RiotTool.ToMapString((RiotSharp.MapType)game.mapId) + ", " + RiotTool.ToQueueString((RiotSharp.MatchEndpoint.QueueType)game.gameQueueConfigId) + " - " + RiotTool.PlatformToString(game.platformId); TimeSpan ts = new TimeSpan(game.gameLength * TimeSpan.TicksPerSecond); starttime = DateTime.Now.Subtract(ts); // starttime = GetGameTime((long)game.gameStartTime, game.platformId.ToUpper()); foreach (RiotSharp.Featured.Participant p in game.participants) { AddPlayer((p.teamId == 200), p.summonerName, p.championId); } } catch { } }
public void SetHome(GhostReplay rep, string gid, string reg) { try { HomePage = global::GhostReplays.Properties.Resources.HOME; HomePage = HomePage.Replace("{$.gid.$}", gid).Replace("{$.reg.$}", reg); if (rep.GameStats != null) { HomePage = HomePage.Replace("{$.map.$}", RiotTool.ToMapString((RiotSharp.MapType)rep.PlayerInfos.Map)); HomePage = HomePage.Replace("{$.queue.$}", rep.GameStats.QueueType); string dur = string.Format("{0:0}:{1:00}", rep.GameLength.Minutes, rep.GameLength.Seconds); HomePage = HomePage.Replace("{$.glength.$}", dur); HomePage = HomePage.Replace("{$.mplayer.$}", rep.SummonerName); if (IsWon(100, rep)) { HomePage = HomePage.Replace("{$.winner.$}", "Blue Team"); } else { HomePage = HomePage.Replace("{$.winner.$}", "Red Team"); } } else { HomePage = HomePage.Replace("{$.map.$}", "Unknown"); HomePage = HomePage.Replace("{$.queue.$}", "Unknown"); string dur = string.Format("{0:0}:{1:00}", rep.GameLength.Minutes, rep.GameLength.Seconds); HomePage = HomePage.Replace("{$.glength.$}", dur); HomePage = HomePage.Replace("{$.mplayer.$}", rep.SummonerName); HomePage = HomePage.Replace("{$.winner.$}", "Unknown"); } } catch { } }
public void LoadGame(EndOfGameStats eog, GameMetaData meta, BasicInfo pi, bool bluewin) { try { // RiotSharp.MatchEndpoint.MatchDetail m = Program.MainFormInstance.API.GetMatch(RiotTool.PlatformToRegion(meta.gameKey.platformId), (long)eog.GameId); TeamStats blueteam = new TeamStats(); TeamStats redteam = new TeamStats(); BluePanel.Controls.Clear(); RedPanel.Controls.Clear(); if (!bluewin) { metroLabel1.Text = "Red Team Wins"; metroLabel1.Style = MetroFramework.MetroColorStyle.Red; } if (meta.gameKey.platformId != "PBE1") { ginfo.Text = RiotTool.ToMapString((RiotSharp.MapType)pi.Map) + ", " + RiotTool.ToQueueString((QueueType)pi.Queue) + " - " + RiotTool.PlatformToRegion(meta.gameKey.platformId).ToString().ToUpper(); } else { ginfo.Text = eog.GameMode + ", " + eog.GameType.Replace("_", " ") + " - " + RiotTool.PlatformToRegion(meta.gameKey.platformId).ToString().ToUpper(); } if (eog != null) { foreach (PlayerParticipantStatsSummary p in eog.TeamPlayerParticipantStats) { Player2Ctrl p2 = new Player2Ctrl(p.TeamId == 200); p2.LoadPlayer(p, p.SummonerName, p.SkinName, ref blueteam); p2.Dock = DockStyle.Top; if (p.TeamId == 100) { BluePanel.Controls.Add(p2); } else { RedPanel.Controls.Add(p2); } } foreach (PlayerParticipantStatsSummary p in eog.OtherTeamPlayerParticipantStats) { Player2Ctrl p2 = new Player2Ctrl(p.TeamId == 200); p2.LoadPlayer(p, p.SummonerName, p.SkinName, ref redteam); p2.Dock = DockStyle.Top; if (p.TeamId == 100) { BluePanel.Controls.Add(p2); } else { RedPanel.Controls.Add(p2); } } } bluewk.Text = blueteam.WD.ToString(); bluewp.Text = blueteam.WP.ToString(); bluecreeps.Text = blueteam.CREEPS.ToString(); bluekda.Text = blueteam.Kill + " / " + blueteam.Deaths + " / " + blueteam.Assists; bluetd.Text = blueteam.TD.ToString(); redwk.Text = redteam.WD.ToString(); redwp.Text = redteam.WP.ToString(); redcreeps.Text = redteam.CREEPS.ToString(); redkda.Text = redteam.Kill + " / " + redteam.Deaths + " / " + redteam.Assists; redtd.Text = redteam.TD.ToString(); BluePanel.Controls.Add(panel5); RedPanel.Controls.Add(panel4); } catch (Exception ex) { Logger.Instance.Log.Error("Failed to load game", ex); } }
public void LoadGame(RootObject gameinfo, RiotSharp.RiotApi api, RiotSharp.Region reg, long sid) { try { BluePanel.BeginInvoke(new MethodInvoker(delegate { BluePanel.Controls.Clear(); RedPanel.Controls.Clear(); ginfo.Text = RiotTool.ToMapString(gameinfo.MapType) + ", " + RiotTool.ToQueueString(gameinfo.gameQueueConfigId) + " - " + RiotTool.PlatformToString(gameinfo.platformId); metroProgressSpinner1.Visible = true; B1.Visible = (gameinfo.bannedChampions.Count != 0); B2.Visible = (gameinfo.bannedChampions.Count != 0); B3.Visible = (gameinfo.bannedChampions.Count != 0); B4.Visible = (gameinfo.bannedChampions.Count != 0); B5.Visible = (gameinfo.bannedChampions.Count != 0); B6.Visible = (gameinfo.bannedChampions.Count != 0); foreach (BannedChampion b in gameinfo.bannedChampions) { Image champ = Image.FromFile(Application.StartupPath + @"\Champions\" + CurrentGame.GetChampion(b.ChampionId) + ".png"); switch (b.PickTurn) { case 1: B1.BackgroundImage = champ; break; case 3: B2.BackgroundImage = champ; break; case 5: B3.BackgroundImage = champ; break; case 2: B4.BackgroundImage = champ; break; case 4: B5.BackgroundImage = champ; break; case 6: B6.BackgroundImage = champ; break; } } })); int c = 0; frm.AnimationType = AnimatorNS.AnimationType.Mosaic; //foreach (Participant p in gameinfo.participants) //{ ParallelLoopResult pr = Parallel.ForEach(gameinfo.participants, p => { Player pl = new Player(p.TeamId == 200); pl.Dock = DockStyle.Top; LeaguePlayer pls = new LeaguePlayer(); pls.LoadPlayer(reg, api, p, CurrentGame.GetChampion(p.ChampionId)); if (pls.SummonerName == "Error occured") { pls.SummonerName = p.Name; } pl.LoadSummonerData(pls); MetroPanel panel = null; if (p.TeamId == 100) { panel = BluePanel; } else { panel = RedPanel; } pls.Dispose(); panel.Invoke(new MethodInvoker(delegate { //if (panel == BluePanel && p.TeamId != 100) // panel = RedPanel; c++; metroProgressSpinner1.Value = (int)((double)((double)c / (double)gameinfo.participants.Count) * 100); panel.Controls.Add(pl); //pl.Visible = false; //frm.Show(pl, Program.MainFormInstance.MainTabControl.SelectedTab == Program.MainFormInstance.GameInfoTab); })); // } }); while (!pr.IsCompleted) { Thread.Sleep(100); } RedPanel.Invoke(new MethodInvoker(delegate { this.RedPanel.Controls.Add(this.RedBan); this.BluePanel.Controls.Add(this.BlueBan); metroProgressSpinner1.Visible = false; metroProgressSpinner1.Value = 1; })); Program.MainFormInstance.ShowInfo("Game info", "The current game info are ready to be viewed"); if (SettingsManager.Settings.Speech) { SoundPlayer sp = new SoundPlayer(Application.StartupPath + @"\Data\done.wav"); sp.Load(); sp.PlaySync(); sp.Dispose(); } GC.Collect(); GC.WaitForPendingFinalizers(); } catch (Exception ex) { Logger.Instance.Log.Error("Failed to load game", ex); } }