private bool GetPositionToDrible(PlayerController enemy, out Vector3 toGo)
    {
        bool    result         = false;
        Vector3 resultPosition = Vector3.zero;
        Vector3 freePos        = Vector3.zero;

        if (GetFreeHit(out freePos, enemy.transform.position, true))
        {
            resultPosition = freePos;
            result         = true;
        }
        else
        {
            Vector3 pos = Locomotion.GetRandomNavCircle(Player.transform.position, 3.5f);
            resultPosition = pos;

            if (Player.IsHitBetween(pos) == false)
            {
                result = true;
            }
        }

        toGo = resultPosition;
        return(result);
    }
    private void Handlle_NothingState()
    {
        if (Player.IsMyBall() == false)
        {
            aiState = SoccerAIState.nothing;
            return;
        }

        Transform        goalPosition = Player.GetEnemyGoalPosition();
        PlayerController playerBtw    = null;
        PlayerController enemyNear    = Player.GetEnemyNear();

        timeToDrible += Time.deltaTime;
        timeToGoal   += Time.deltaTime;


        if (toPass != null)
        {
            motionType = LocomotionType.normal;

            Debug.DrawLine(Player.transform.position, toPass.transform.position, Color.red);

            toGo = toPass.transform.position;

            if (Player.IsLookAt(toGo) == true)
            {
                if (Player.IsHitBetween(toPass) == false && Player.IsMyBall())
                {
                    if (Owner.TriggerPass(toPass))
                    {
                        Player.GetSkill_BasicPass().TriggerCooldown();
                        toPass = null;
                    }
                }
                else
                {
                    toPass = null;
                }
            }

            Move(toGo);
            return;
        }

        //Ativação de movimento soccer e uso de stamina
        if (enemyNear != null)
        {
            if (enemyNear.Distance(Player) <= 5.5f && enemyNear.IsSelected() && Player.isOk)
            {
                if (Player.GetSkill_Stamina().IsCritical == false)
                {
                    motionType = LocomotionType.soccer;
                }
                else if (Player.GetSkill_Stamina().IsMin)
                {
                    motionType = LocomotionType.normal;
                }
            }
            else
            {
                motionType = LocomotionType.normal;
            }
        }



        //Vou passar a bola se existir um cara livre entre e o gol. Esta e a prioridade ja q ele tem caminho livre
        if (Player.IsHitForwad(checkDistanceToPass, out playerBtw))
        {
            inGoalDir    = false;
            timeToDrible = 0.0f;

            if (playerBtw.IsMyTeaM(Player)) //Player e meu amigo, vou pedir para ele sair do caminho
            {
                if (playerBtw.IsLookAt(Player))
                {
                    Vector3 origim  = playerBtw.transform.position + (-playerBtw.transform.forward * 4.5f);
                    Vector3 freePos = Locomotion.GetRandomNavCircle(origim, 4.5f);
                    playerBtw.GetComponent <AIController>().GoToPosition(freePos, BallController.instance.transform);
                }
            }
            else if (playerBtw.Distance(Player) <= checkDistanceToDrible) //Player inimigo e perto de mais. Drible
            {
                if (Player.IsLookAt(toGo))
                {
                    Vector3 positionToDrible = Vector3.zero;

                    if (GetPositionToDrible(playerBtw, out positionToDrible))
                    {
                        toGo = positionToDrible;
                    }
                    else
                    {
                        //Se posição boa para o drible.
                        toGo = positionToDrible;
                    }
                }
            }
            else //Player inimigo mas longe de mais vou tentar um passe de bola
            {
                SkillVar         skillpass = Player.GetSkill_BasicPass();
                PlayerController topass    = null;
                if (GetToPass(out topass))
                {
                    if (Player.IsHitBetween(topass) == false && skillpass.IsReady)
                    {
                        toPass = topass;
                        toGo   = Player.transform.position;
                    }
                    else
                    {
                        inGoalDir = true;
                    }
                }
                else
                {
                    inGoalDir = true;
                }
            }
        }
        else
        {
            inGoalDir = true;

            if (enemyNear != null)
            {
                //Inimigo perto demais para ir pro gol. a probalidade de perder a bola e muito grande
                //Vou tentar um passe de bola
                SkillVar         skillpass = Player.GetSkill_BasicPass();
                PlayerController topass    = null;
                if (GetToPass(out topass) && skillpass.IsReady && enemyNear.IsSelected())
                {
                    if (!Player.IsHitBetween(topass))
                    {
                        toPass    = topass;
                        toGo      = Player.transform.position;
                        inGoalDir = false;
                    }
                }
                else
                {
                    //Nenhum player para tocar Assim sendo vou tentar driblar
                    if (enemyNear.Distance(Player) <= 1.0f && enemyNear.IsSelected())
                    {
                        if (timeToDrible >= 1.0f || Locomotion.IsAgentDone)
                        {
                            toGo         = Locomotion.GetRandomNavCircle(Player, 3.5f);
                            timeToDrible = 0;
                        }

                        inGoalDir = false;
                    }
                }
            }
        }

        if (inGoalDir) //Tudo livre para ir para o GOL
        {
            if (Locomotion.IsAgentDone || timeToGoal >= 1.5f)
            {
                toGo       = goalPosition.position;
                timeToGoal = 0;
            }
        }

        Move(toGo);
    }