/// <summary> /// читает игру, создает уровни и табы на форме /// </summary> private void CreateLevelsAndTabs() { GameSelect G = Program.D.Game; for (int i = 1; i <= G.gamelevels; i++) { Level lvl = new Level(G, i); Program.D.Lvl.Add(lvl); OneTab OT = new OneTab(Program.D, lvl); Program.D.OneTab.Add(OT); } Event_MainFormChangeSize(null, null); }
/// <summary> /// ивент на выбор и подключение к игре /// </summary> private void mGameSelectClick(object sender, EventArgs e) { GameSelect GameSelectData = new GameSelect(logonData); if (!GameSelectData.isSuccessful) { MessageBox.Show(strBadSelect); } else { Program.D.Game = GameSelectData; var menu = Program.D.F.Menu.MenuItems[0].MenuItems; foreach (MenuItem m1 in menu) { if (m1.Text == mtGameSelect) { m1.Enabled = false; } } // тут надо по открытой игре создать кучу табов CreateLevelsAndTabs(); } }
// вход - параметры игры, номер уровня 1..99 // выход - объект с данными уровня // получает сведения об уровне, парсит его код. public Level(GameSelect GameParams = null, int lvl_number = 0) { Game = GameParams; G = GameParams; //if (Game.isStorm == true) { L = new level[Game.gamelevels]; } else { L = new level[1]; } // *** доделать отдельную ветки для линейных МШ // весь код ниже пока относиться (08.09.16) только к штурмам number = lvl_number; page = ""; if (GameParams != null) { page = GetPageLevel(lvl_number); } Log.Store("level_clean_" + lvl_number.ToString(), page); name = GetLvlName(page); isClose = GetLvlClose(page); answers_bad = GetLvlAnsBad(page); answers_good = GetLvlAnsGood(page); sector = GetLvlSectors(page); sectors = sector.Length; bonus = GetLvlBonuses(page); bonuses = bonus.Length; secbon = GetSecBon(); formlevelid = ""; formlevelnumber = ""; if (!isClose) { formlevelid = GetLvlFormlevelid(page); formlevelnumber = GetLvlFormlevelnumber(page); } text = GetLvlText(page); html = GetLvlHtml(page); Log.Store("level_parsed_" + lvl_number.ToString(), html); urls = GetLvlUrls(page); dt = DateTime.Now; }