LandEnemy.HandleFire C# (CSharp) Method

HandleFire() public method

public HandleFire ( ) : void
return void
    void HandleFire()
    {
        fireTimer += Time.deltaTime;

        if(fireTimer >= FireRate){

            GameObject[] players = GameObject.FindGameObjectsWithTag("Player");

            float distanceToP1 = (players[0].gameObject.transform.position - transform.position).magnitude;
            float distanceToP2 = (players[1].gameObject.transform.position - transform.position).magnitude;

            Transform target = (distanceToP1 <= distanceToP2) ? players[0].gameObject.transform : players[1].gameObject.transform;

            if((target.position - transform.position).magnitude <= FireDistance){
                Vector3 relative = target.position - transform.position;
                float targetAngle = Mathf.Atan2(relative.y, relative.x) * Mathf.Rad2Deg;
                Instantiate(Projectile, transform.position, Quaternion.Euler(0, 0, targetAngle));
                fireTimer = 0.0f;
            }
        }
    }