示例#1
0
        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);
        }
示例#2
0
        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);
        }