Ejemplo n.º 1
0
 void Start()
 {
     animator      = GetComponent <Animator>();
     currentHealth = maxHealth;
     healthBar.SetMaxHealth(maxHealth);
     dead   = GetComponent <AudioSource>();
     ennemy = GetComponent <EnnemyMovement>();
     portal.SetActive(false);
     //animator.SetBool("isWalking", true);
 }
    public void SetFirstEnemy()
    {
        GameObject[]   enemies = GameObject.FindGameObjectsWithTag("Enemy");
        EnnemyMovement temp;

        if (enemies.Length > 0)
        {
            temp = enemies[0].GetComponent <EnnemyMovement>();
            foreach (GameObject enemy in enemies)
            {
                EnnemyMovement EMovement = enemy.GetComponent <EnnemyMovement>();
                if (EMovement.waypointIndex > temp.waypointIndex)
                {
                    temp = EMovement;
                }
                else if (EMovement.waypointIndex == temp.waypointIndex && EMovement.waypointIndex > 0)
                {
                    Vector3 posWaypoint = Waypoints.points[EMovement.waypointIndex].transform.position;

                    Vector3 posPreviousWaypoint = Waypoints.points[EMovement.waypointIndex - 1].transform.position;
                    Vector3 dirWaypoint         = posPreviousWaypoint - posWaypoint;
                    if (dirWaypoint.x > 2 || dirWaypoint.x < -2)
                    {
                        //X
                        if (Mathf.Abs((EMovement.transform.position - EMovement.target.position).x) < Mathf.Abs((temp.transform.position - temp.target.position).x))
                        {
                            temp = EMovement;
                        }
                    }
                    else if (dirWaypoint.z > 2 || dirWaypoint.z < -2)
                    {
                        //Z
                        if (Mathf.Abs((EMovement.transform.position - EMovement.target.position).z) < Mathf.Abs((temp.transform.position - temp.target.position).z))
                        {
                            temp = EMovement;
                        }
                    }
                }
            }
            firstEnemy = temp.gameObject;
        }
        else
        {
            firstEnemy = null;
        }
    }
Ejemplo n.º 3
0
 // Start is called before the first frame update
 void Start()
 {
     movementScript = GetComponent <EnnemyMovement>();
     rb             = GetComponent <Rigidbody2D>();
     aIPath         = GetComponent <AIPath>();
 }