private void btn_CharacterControl_Setup_Click(object sender, EventArgs e) { if (BotMain.IsRunning || BotMain.IsPaused) return; if (ZetaDia.IsInGame) return; if (!UI.ValidateUIElement(UI.GameMenu.SwitchHeroButton)) return; int MaxHeroSlots = ZetaDia.Service.GameAccount.MaxHeroSlots; if (curIndex == MaxHeroSlots) { Logger.DBLog.InfoFormat("Creating file with a total of {0} hero entries", CharacterControl.HeroIndexInfo.Characters.Count); BnetCharacterIndexInfo.SerializeToXML(CharacterControl.HeroIndexInfo, BnetCharacterIndexInfo.BnetCharacterInfoSettingsPath); curIndex = 0; groupBox_BnetControl_Setup.Enabled = false; groupBox_BnetControl_AltHero.Enabled = true; UpdateBnetHeroComboBox(); return; } Logger.DBLog.InfoFormat("Switching to index {0}", curIndex); ZetaDia.Service.GameAccount.SwitchHero(curIndex); Thread.Sleep(1500); //Clear Cache -- and get hero info ZetaDia.Memory.ClearCache(); CharacterControl.HeroInfo hinfo = new CharacterControl.HeroInfo(ZetaDia.Service.Hero); BnetCharacterIndexInfo.BnetCharacterEntry entry = new BnetCharacterIndexInfo.BnetCharacterEntry(curIndex,hinfo.Name, hinfo.Class); //Add entry CharacterControl.HeroIndexInfo.Characters.Add(entry); Logger.DBLog.InfoFormat("Recording hero info for index {0}\r\n{1}", curIndex, hinfo.ToString()); if (curIndex == 0) { btn_CharacterControl_Setup.Text = "Next"; } curIndex++; }