AlienController.Attack C# (CSharp) Method

Attack() private method

private Attack ( float cooldown, float multiplier ) : void
cooldown float
multiplier float
return void
    private void Attack(float cooldown, float multiplier)
    {
        if (Time.fixedTime > nextAttack)
        {
            nextAttack = Time.fixedTime + cooldown;
            RaycastHit[] hits = Physics.SphereCastAll(transform.position + new Vector3(0, 1.5f, 0), 0.5f, transform.forward, 2.0f, Layers.enemyAttack);
            //Debug.DrawRay(transform.position + new Vector3(0, 1.5f, 0), transform.forward, Color.cyan, 1.0f);
            if (hits.Length > 0)
            {
                //  Debug.Log(hits.Length);
                foreach (var hit in hits)
                {
                    Damageable obj = hit.collider.GetComponent<Damageable>();
                    //Debug.Log(obj.tag);
                    if (obj != null)
                    {
                        obj.DealDamage(transform.forward * multiplier);
                        if (obj.gameObject.name == "Player")
                        {
                            GetComponent<BaseFSM>().damageDealt += (transform.forward * multiplier).magnitude;
                            MusicMaster.instance.startFightMusic();
                        }
                    }
                }
            }
        }
    }