Exemple #1
0
    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);
    }
Exemple #2
0
    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();
    }
Exemple #3
0
    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);
    }