コード例 #1
0
        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
            {
            }
        }
コード例 #2
0
        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);
            }
        }