示例#1
0
    void ShipTurretShoot()
    {
        //This code can be expanded on to include a game object list TurretShootPos and can be nested in a for loop. I tested it but removed it cause it wasn't needed.

        timer -= Time.deltaTime;

        if (timer <= 0)
        {
            GameObject projectile = Instantiate(
                projectileData.GetCurrentActiveWeapon(),
                turretShootPos.GetComponent <Transform>().position,
                turretShootPos.GetComponent <Transform>().rotation
                );

            Debug.Log("The Force is : " + projectileData.GetForce());

            var dir = player.transform.position - transform.position;

            SoundManager.instance.PlayRaw("PlayerBasicWeapon");
            projectile.GetComponent <Rigidbody>().AddRelativeForce(projectile.transform.forward * projectileData.GetForce() * 20, ForceMode.Impulse);

//             projectile.GetComponent<Rigidbody>().
//                 AddForceAtPosition(dir.normalized, transform.forward * projectileData.GetForce() * 100, ForceMode.Impulse);

            Destroy(projectile, 4.0f);

            timer = interval;
        }
    }
示例#2
0
    void ShipShoot()
    {
        timer -= Time.deltaTime;

        if (timer <= 0)
        {
            int i;

            for (i = 0; i < shootPos.Count; i++)
            {
                GameObject projectile = Instantiate(
                    projectileData.GetCurrentActiveWeapon(),
                    shootPos[i].GetComponent <Transform>().position,
                    shootPos[i].GetComponent <Transform>().rotation
                    );

                SoundManager.instance.PlayRaw("PlayerBasicWeapon");
                projectile.GetComponent <Rigidbody>().
                AddForce(Vector3.up * projectileData.GetForce(), ForceMode.Impulse);

                Destroy(projectile, 2.0f);
            }

            timer = interval;
        }
    }
示例#3
0
    //Button Click Events--------------------------------------------


    public void RightShoot()
    {
        if (!leftShoot) // if the left button isn't firing
        {
            rightShoot = true;
            GameObject projectile = Instantiate(
                projectileData.GetCurrentActiveWeapon(),
                shootPos.transform.position,
                Quaternion.identity
                );

            SoundManager.instance.PlayRaw("PlayerBasicWeapon");
            projectile.GetComponent <Rigidbody>().
            AddForce(Vector3.down * projectileData.GetForce(), ForceMode.Impulse);

            Destroy(projectile, 2.0f);
            rightShoot = false;
        }
    }
示例#4
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            GameObject projectile = Instantiate(
                projectileData.GetCurrentActiveWeapon(),
                shooter,
                Quaternion.identity
                );

            projectile.GetComponent <Rigidbody>().
            AddForce(Vector3.down * projectileData.GetForce(), ForceMode.Impulse);
        }
    }