public override void Move(NewPierreAgent agent, NavMeshAgent nav) { Collider[] hitColliders = Physics.OverlapSphere(agent.transform.position, 20); foreach (Collider col in hitColliders) { if (col.tag == "Bullet") { nav.SetDestination(agent.transform.position + col.transform.right * 20); } } }
public override Vector3 UpdateTargetMove(NewPierreAgent agent, Vector3 myTargetMove, List<GameObject> targets) { Vector3 newTarget = myTargetMove; if (targets[0] != agent) { newTarget = targets[0].transform.position; } foreach (GameObject target in targets) { if (target.GetComponent<NewPierreAgent>() && target.GetComponent<NewPierreAgent>().basicStrat == PierreStateMachine.Strat.Offensive) { newTarget = target.transform.position; } } return newTarget; }
public override Vector3 UpdateTarget(NewPierreAgent agent, Vector3 myTarget, List<GameObject> targets) { foreach (NewPierreAgent a in GameObject.FindObjectsOfType<NewPierreAgent>()) { targets.Remove(a.gameObject); } Vector3 newTarget = myTarget; if (targets[0] != agent) { newTarget = targets[0].transform.position; } foreach (GameObject target in targets) { if ((Vector3.Distance(target.transform.position, agent.transform.position) < Vector3.Distance(newTarget, agent.transform.position) || (newTarget == agent.transform.position && agent.transform.position != target.transform.position)) && !target.GetComponent<NewPierreAgent>()) { newTarget = target.transform.position; } } return newTarget; }
public override Vector3 UpdateTargetMove(NewPierreAgent agent, Vector3 myTargetMove, List<GameObject> targets) { return currentState.UpdateTargetMove(agent, myTargetMove, targets); }
public override void Move(NewPierreAgent agent, NavMeshAgent nav) { currentState.Move(agent, nav); }
public virtual Vector3 UpdateTargetMove(NewPierreAgent agent, Vector3 myTargetMove, List<GameObject> targets) { return new Vector3(); }
public virtual void Move(NewPierreAgent agent, NavMeshAgent nav) { }
public override void Move(NewPierreAgent agent, NavMeshAgent nav) { }
public override Vector3 UpdateTargetMove(NewPierreAgent agent, Vector3 myTargetMove, List<GameObject> targets) { return targets[Random.Range(0, targets.Count - 1)].transform.position; }
public override Vector3 UpdateTargetMove(NewPierreAgent agent, Vector3 myTargetMove, List<GameObject> targets) { return agent.transform.position; }