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();
}
}
}
}
}
}