Пример #1
0
        public RunStatus FollowPath()
        {
            //Console.WriteLine("following path");
            var nextPath = pathFindingWrapper.GetNextPositionInCurrentPath(gameController.Player.GridPos);

            if (nextPath.Item1 == false)
            {
                // No more path points
                WillBot.LogMessageCombo($"Finished following path");
                //MoverHelper.ClickToStopCharacter();
                return(RunStatus.Failure);
            }
            //Vector3 worldPositionCharacter = gameController.Player.Pos;
            //var worldPositionOfPoint = point.GridToWorld();
            var    delta        = nextPath.Item2 - gameController.Player.GridPos;
            double angleToPoint = 0;

            delta.GetPolarCoordinates(out angleToPoint);
            MoverHelper.MouseAsJoystickNonSmooth(gameController, (float)(angleToPoint * 180 / Math.PI) + 45);
            while (WillBot.Me.TownPortal?.ItemOnGround?.GetComponent <Targetable>().isTargeted == true)
            {
                Console.WriteLine("Town portal is targeted. Adjusting angle to avoid");
                angleToPoint += 0.1;
                MoverHelper.MouseAsJoystickNonSmooth(gameController, (float)(angleToPoint * 180 / Math.PI) + 45);
            }
            InputWrapper.LeftMouseButtonDown();
            return(RunStatus.Running);
        }