public void FireAt(Vector2 location) { Vector2 dir = location - (Vector2)this.transform.position; dir = dir.normalized; Vector2 dir2 = Quaternion.Euler(0, 0, shotSpread) * dir; Vector2 dir3 = Quaternion.Euler(0, 0, -shotSpread) * dir; Bullet bullet = fire.Execute(transform, dir); Bullet bullet1 = fire.Execute(transform, dir2); Bullet bullet2 = fire.Execute(transform, dir3); }
void ShootArrow() { var bul = arrowSettings.Execute(this.transform, target.position - this.transform.position); bul.GetComponent <SpriteRenderer>().sprite = bulletSprite; audioSrc.PlayOneShot(attackSound); arrowCooldown.Use(); stopWhileFireing.Use(); }
private FireProjectile fireBall; // start float ThrowBall(ref Cycle action) { anim.SetTrigger("Release"); var m = fireBall.Execute(this.transform, testTarget.position - this.transform.position); //summon two slimes on collision m.onCollision = () => { Instantiate(slimePrefab, (Vector2)m.transform.position + Vector2.left * .1f, Quaternion.identity); Instantiate(slimePrefab, (Vector2)m.transform.position + Vector2.right * .1f, Quaternion.identity); }; action = Juggle2(0, 0); //next cycle return(fiveSecondIntervals); }