IEnumerator Attack2() { yield return(new WaitForSeconds(2f)); for (int i = 0; i < 5; i += 1) { CultistProjectile thisProjectile = Instantiate(projectile); Vector2 newPosition = transform.position; Vector2 newDirection = (playerLocation - transform.position).normalized; thisProjectile.SetPositionAndDirection(newPosition, newDirection); yield return(new WaitForSeconds(0.1f)); } }
IEnumerator Attack1() { yield return(new WaitForSeconds(2f)); CultistProjectile top = Instantiate(projectile); CultistProjectile middle = Instantiate(projectile); CultistProjectile bottom = Instantiate(projectile); Vector2 directionVector = playerLocation - transform.position; float angle; if (playerLocation.y >= transform.position.y) { angle = Vector2.Angle(Vector2.right, directionVector); } else { angle = -Vector2.Angle(Vector2.right, directionVector); } Vector2 midPosition = transform.position; Vector2 midDirection = directionVector; middle.SetPositionAndDirection(midPosition, midDirection); Vector2 topPosition = transform.position; Vector2 topDirection = new Vector2(Mathf.Cos((angle + 30) * Mathf.Deg2Rad), Mathf.Sin((angle + 30) * Mathf.Deg2Rad)); top.SetPositionAndDirection(topPosition, topDirection); Vector2 bottomPosition = transform.position; Vector2 bottomDirection = new Vector2(Mathf.Cos((angle - 30) * Mathf.Deg2Rad), Mathf.Sin((angle - 30) * Mathf.Deg2Rad)); bottom.SetPositionAndDirection(bottomPosition, bottomDirection); }