Exemplo n.º 1
0
    public override void Act(GameObject player, AgentHandler agent)
    {
        agent.mState = "Attack";
        //Attack the Player
        agent.BoidController.SetTarget(player.transform.position);
        agent.BoidController.SetShouldFlock(false);
        float range = agent.GetTargetTooCloseRange();

        if ((range * range) > (player.transform.position - agent.transform.position).sqrMagnitude)
        {
            agent.BoidController.FleePoint(player.transform.position, 5f);
        }

        EditableTree BasicAgentAttackTree = agent.GetBasicAgentDecisionTree();

        if (BasicAgentAttackTree != null)
        {
            BasicAgentAttackTree.mRoot.MakeDecision(agent);
        }
    }