public override TaskStatus OnUpdate() { Debug.DrawRay(transform.position, -(transform.position - attacker.transform.position) * 1000, Color.yellow); Rigidbody rb = gameObject.GetComponent <Rigidbody>(); rb.velocity = Vector3.zero; rb.angularVelocity = Vector3.zero; rb.Sleep(); if (Object.FindObjectOfType <GameManager>().goalTime() || Vector3.Distance(transform.position, target.transform.position) > Vector3.Distance(attacker.transform.position, target.transform.position)) { return(TaskStatus.Failure); } chutEnableed ce = gameObject.GetComponent <chutEnableed>(); if (ce.canIShoot()) { ce.disableShootTime(); shootTime = false; ce.disableShoot(); Chut(); } navMeshAgent.SetDestination(target.transform.position); return(TaskStatus.Running); }
public override TaskStatus OnUpdate() { rb.velocity = Vector3.zero; rb.angularVelocity = Vector3.zero; rb.Sleep(); if (gm.goalTime()) { return(TaskStatus.Success); } if (Vector3.Distance(transform.position, (gm.getAuxRedGoalPos() + (gm.getRedDirection() * 1.1f))) > 10) { return(TaskStatus.Failure); } navMeshAgent.speed = 10; navMeshAgent.SetDestination((gm.getAuxRedGoalPos() + (gm.getRedDirection() * 0.9f))); chutEnableed ce = gameObject.GetComponent <chutEnableed>(); if (ce.canIShoot()) { ce.disableShootTime(); shootTime = false; ce.disableShoot(); Chut(); } return(TaskStatus.Running); }
public override TaskStatus OnUpdate() { Rigidbody rb = gameObject.GetComponent <Rigidbody>(); rb.velocity = Vector3.zero; rb.angularVelocity = Vector3.zero; rb.Sleep(); float minimunDistance = 10000000000000f; Vector3 ball = target.transform.position; foreach (GameObject g in GameObject.FindGameObjectsWithTag("RedTeam")) { if (g != gameObject) { if (Vector3.Distance(g.transform.position, ball) < minimunDistance) { minimunDistance = Vector3.Distance(g.transform.position, ball); } } } if (Vector3.Distance(transform.position, ball) > minimunDistance) { return(TaskStatus.Failure); } if (Object.FindObjectOfType <GameManager>().goalTime()) { return(TaskStatus.Failure); } if (transform.position.x > ball.x || transform.position.z > ball.z + 5 || transform.position.z < ball.z - 5) { Vector3 v = new Vector3(); v = target.transform.position; navMeshAgent.SetDestination(new Vector3(v.x - 5, v.y, v.z)); } else { navMeshAgent.SetDestination(ball); } chutEnableed ce = gameObject.GetComponent <chutEnableed>(); if (ce.canIShoot()) { ce.disableShootTime(); shootTime = false; ce.disableShoot(); Chut(); } return(TaskStatus.Running); }
public void Update() { rb.velocity = Vector3.zero; rb.angularVelocity = Vector3.zero; rb.Sleep(); //if (transform.position.x < originalPosition.x) //moveOriginalPosition = false; if (moveOriginalPosition) { // x - 10 navMeshAgent.speed = BackSpeed; navMeshAgent.SetDestination(new Vector3(originalPosition.x, originalPosition.y, originalPosition.z)); } if (attack) { navMeshAgent.speed = AtackSpeed; if (transform.position.x > target.transform.position.x || transform.position.z > target.transform.position.z + 5 || transform.position.z < target.transform.position.z - 5) { Vector3 v = new Vector3(); v = target.transform.position; navMeshAgent.SetDestination(new Vector3(v.x - 5, v.y, v.z)); } else { navMeshAgent.SetDestination(target.transform.position); } chutEnableed ce = gameObject.GetComponent <chutEnableed>(); if (ce.canIShoot()) { ce.disableShootTime(); ce.disableShoot(); Chut(); } } }
public override TaskStatus OnUpdate() { Rigidbody rb = gameObject.GetComponent <Rigidbody>(); rb.velocity = Vector3.zero; rb.angularVelocity = Vector3.zero; rb.Sleep(); if (Object.FindObjectOfType <GameManager>().goalTime()) { return(TaskStatus.Failure); } if (target.transform.position.x > transform.position.x) { return(TaskStatus.Failure); } chutEnableed ce = gameObject.GetComponent <chutEnableed>(); if (ce.canIShoot()) { ce.disableShootTime(); shootTime = false; ce.disableShoot(); Chut(); } if (target.transform.position.x > 0) { navMeshAgent.SetDestination(target.transform.position); } else { return(TaskStatus.Success); } return(TaskStatus.Running); }