コード例 #1
0
        protected override RunStatus Run(object context)
        {
            var gameState = (CurrentGameState)context;

            if (!ScreenReader.AreTalentsOpen())
            {
                ControlInput.MouseClick(ControlInput.MouseClickButton.Left, 95, 942);
            }
            Thread.Sleep(700);
            //ScreenReader.UpdateCurrentTalentLevel(gameState);
            MainWindow.Log("Leveling talents for level " + gameState.Me.CharacterLevel);
            foreach (var talent in gameState.Me.HeroData.Talents)
            {
                if (gameState.Me.CharacterLevel < talent.TalentLevel)
                {
                    continue;
                }
                if (!talent.IsLeveled)
                {
                    ControlInput.ChooseTalent(talent.TalentLevel, talent.TalentIndex);
                    talent.IsLeveled = true;
                    talent.HeroChanges(gameState.Me.HeroData);
                    MainWindow.Log("Leveling " + talent.TalentName + "(" + talent.TalentLevel + ")");
                    Thread.Sleep(200);
                }
            }
            Thread.Sleep(400);
            if (ScreenReader.AreTalentsOpen())
            {
                ControlInput.MouseClick(ControlInput.MouseClickButton.Left, 95, 942);
            }
            return(RunStatus.Failure);
        }