Exemplo n.º 1
0
    void CheckDistance(AI ai)
    {
        EnemyAI enemyAI = (EnemyAI)ai;

        if (enemyAI.stat.isDead)
        {
            return;
        }

        if (enemyAI.distanceToTarget <= enemyAI.approachDistance)
        {
            return;
        }
        //Debug.Log("canceled!");
        enemyAI.CancelAttack();

        if (enemyAI.followTarget == null)
        {
            //ai.CancelAttack();
            enemyAI.stateMachine.ChangeState("move");
        }

        if (enemyAI.distanceToTarget > enemyAI.approachDistance && enemyAI.distanceToTarget < enemyAI.lostSight)
        {
            enemyAI.stateMachine.ChangeState("findingTarget");
        }
        else if (enemyAI.distanceToTarget > enemyAI.lostSight)
        {
            enemyAI.TargetFleed();
            // ai.CancelAttack();
            enemyAI.stateMachine.ChangeState("move");
        }
    }