Пример #1
0
    //fires one projectile at given position with given direction
    void Fire(Vector3 position, Vector3 direction)
    {
        //make bullet and flash, handle different cases depending on current weapon
        switch (currentWeapon)
        {
        case 1:
            GameObject projFlareGun = Instantiate <GameObject>(ProjectileFlareGun, position, transform.rotation);
            //set bullet velocity
            projFlareGun.GetComponent <Rigidbody2D>().velocity = (direction * ProjectileSpeed) + (Vector3)myRb.velocity;
            //move bullet
            projFlareGun.transform.Translate(Vector3.up * 0.80f, Space.Self);
            projFlareGun.transform.Translate(Vector3.right * 0.475f, Space.Self);
            AudioManage.PlaySound("flareShot");

            break;

        case 2:
            GameObject projHarpoonGun = Instantiate <GameObject>(ProjectileHarpoonGun, position, transform.rotation);
            //set bullet velocity
            projHarpoonGun.GetComponent <Rigidbody2D>().velocity = (direction * ProjectileSpeed) + (Vector3)myRb.velocity;
            //move bullet
            projHarpoonGun.transform.Translate(Vector3.up * 0.80f, Space.Self);
            projHarpoonGun.transform.Translate(Vector3.right * 0.475f, Space.Self);
            break;
        }

        GameObject newMuzzleFlash = Instantiate <GameObject>(MuzzleFlashEffect, position, transform.rotation);

        //move flash
        newMuzzleFlash.transform.Translate(Vector3.up * 0.80f, Space.Self);
        newMuzzleFlash.transform.Translate(Vector3.right * 0.475f, Space.Self);
    }