private void ThrowFireBall() { float fbOffsetX = 0.6f; float fbOffsetY = 0.3f; Vector3 iniPos; if (transform.localEulerAngles.y == 180) { iniPos = new Vector3(transform.position.x + fbOffsetX, transform.position.y - fbOffsetY, transform.position.z); } else { iniPos = new Vector3(transform.position.x - fbOffsetX, transform.position.y - fbOffsetY, transform.position.z); } AudioManager.instance.PlayDiegeticFx(gameObject, fireBall, false, 1.0f, AudioManager.FX_DARKELF_FIREBALL_VOL); Vector3 direction; if ((facingRight == true && player.transform.position.x >= iniPos.x) || (facingRight == false && player.transform.position.x <= iniPos.x)) { direction = player.transform.position - iniPos; } else { direction = facingRight ? Vector3.right : Vector3.left; } ParticlesManager.SpawnElfFireBall(iniPos, direction); //ParticlesManager.SpawnElfFireBall(iniPos, player.transform.position - iniPos); }