Inheritance: MonoBehaviour
Ejemplo n.º 1
0
    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);
            }
        }
    }
Ejemplo n.º 2
0
    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;
    }
Ejemplo n.º 3
0
    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);
 }
Ejemplo n.º 6
0
 public virtual Vector3 UpdateTargetMove(NewPierreAgent agent, Vector3 myTargetMove, List<GameObject> targets)
 {
     return new Vector3();
 }
Ejemplo n.º 7
0
 public virtual void Move(NewPierreAgent agent, NavMeshAgent nav)
 {
 }
Ejemplo n.º 8
0
 public override void Move(NewPierreAgent agent, NavMeshAgent nav)
 {
 }
Ejemplo n.º 9
0
 public override Vector3 UpdateTargetMove(NewPierreAgent agent, Vector3 myTargetMove, List<GameObject> targets)
 {
     return targets[Random.Range(0, targets.Count - 1)].transform.position;
 }
Ejemplo n.º 10
0
 public override Vector3 UpdateTargetMove(NewPierreAgent agent, Vector3 myTargetMove, List<GameObject> targets)
 {
     return agent.transform.position;
 }