void Laser() { targetEnemy.TakeDamage(damageOverTime * Time.deltaTime); foreach (BuffState buffState in buffStatesToTarget) { targetEnemy.AddBuffState(buffState); } if (!lineRenderer.enabled) { lineRenderer.enabled = true; laserImpactEffect.Play(); } lineRenderer.SetPosition(0, firePoint.position); lineRenderer.SetPosition(1, targetEnemy.transform.position); Vector3 direction = (firePoint.position - targetEnemy.transform.position).normalized; SphereCollider collider = targetEnemy.GetComponent <SphereCollider>(); laserImpactEffect.transform.position = targetEnemy.transform.position + direction * collider.radius; laserImpactEffect.transform.rotation = Quaternion.LookRotation(direction); }