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++;
}