public static RunStatus CreateNewHero()
{
if (DateTime.Now.Subtract(LastActionTaken).TotalMilliseconds > 1000)
{
if (UI.ValidateUIElement(UI.GameMenu.SwitchHeroButton))
{
if (NewCharacterName == null)
{
UI.GameMenu.SwitchHeroButton.Click();
}
else if (ZetaDia.Service.Hero.Name == NewCharacterName)
{
Logger.Write(LogLevel.OutOfGame, "Successfully Created New Character");
return RunStatus.Success;
}
}
else if (UI.ValidateUIElement(UI.GameMenu.CreateHeroButton))
{
UI.GameMenu.CreateHeroButton.Click();
}
else if (UI.ValidateUIElement(UI.GameMenu.HeroNameText))
{
if (!SelectedClass)
{
UIElement thisClassButton = UI.GameMenu.SelectHeroType(ActorClass.DemonHunter);
if (thisClassButton != null && thisClassButton.IsValid && thisClassButton.IsEnabled && thisClassButton.IsVisible)
{
thisClassButton.Click();
SelectedClass = true;
}
}
else
{
if (NewCharacterName == null)
NewCharacterName = GenerateRandomText();
if (UI.GameMenu.HeroNameText.IsValid)
{
Logger.Write(LogLevel.OutOfGame, "Valid TextObject for character name UI");
}
if (!UI.GameMenu.HeroNameText.HasText)
{
UI.GameMenu.HeroNameText.SetText(NewCharacterName.Substring(0, 1));
}
else
{
if (UI.GameMenu.HeroNameText.Text != NewCharacterName)
{
UI.GameMenu.HeroNameText.SetText(NewCharacterName.Substring(0, UI.GameMenu.HeroNameText.Text.Length + 1));
}
else if (UI.ValidateUIElement(UI.GameMenu.CreateNewHeroButton))
{
UI.GameMenu.CreateNewHeroButton.Click();
}
}
}
}
LastActionTaken = DateTime.Now;
}
return RunStatus.Running;
}