private async void MainForm_Load(object sender, EventArgs e) { clbBots.DisplayMember = "Name"; await Task.Run(() => { //Загрузим ботов из файла _bots = BotLoader.LoadBotsFromFile(); //Заполним список foreach (var bot in _bots) { //Теперь загрузим для бота gameId var bot1 = bot; bot1.OnLog += BotOnOnLog; bot1.GameId = bot1.RequestGameId(); Invoke((MethodInvoker)(() => { clbBots.Items.Add(bot1, true); })); } }); if (clbBots.Items.Count > 0) { clbBots.SelectedIndex = 0; } }
private void fMainForm_FormClosing(object sender, FormClosingEventArgs e) { foreach (var bot in _bots) { bot.OnLog -= BotOnOnLog; bot.OnHp -= BotOnOnHp; bot.Stop(); } BotLoader.SaveBotsToFile(_bots); }