public void Shoot() { shooting = false; shootTime = Time.time; GameObject player = GameObject.FindGameObjectWithTag("Player"); Vector2 direction = (player.transform.position + new Vector3(0, 0.5f)) - (transform.position + (Vector3)projectileEmission); float angle = Vector2.SignedAngle(Vector2.right, direction); TrapGolemProjectile projectile = Instantiate(projectilePrefab, transform.position + (Vector3)projectileEmission, Quaternion.Euler(0, 0, angle)).GetComponent <TrapGolemProjectile>(); projectile.speed = projectileSpeed; }
void Explode() { float angleDifference = 180f / (projectileCount - 1); for (int i = 0; i < projectileCount; i++) { float angle = i * angleDifference; Vector3 position = transform.position + (Vector3)projectileEmissionCenter + new Vector3(Mathf.Cos(angle * Mathf.Deg2Rad), Mathf.Sin(angle * Mathf.Deg2Rad)) * projectileEmissionRadius; TrapGolemProjectile projectile = Instantiate(projectilePrefab, position, Quaternion.Euler(0, 0, angle)).GetComponent <TrapGolemProjectile>(); projectile.speed = projectileSpeed; } Instantiate(deathParticle, transform.position, Quaternion.identity); Destroy(gameObject); }