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); } }