Beispiel #1
0
    void SageShoot()
    {
        if (Input.GetMouseButton(1))
        {
            ChargeUps();
            if (Input.GetMouseButtonDown(0))
            {
                GameObject Temporary_Projectile_Handler;
                Temporary_Projectile_Handler = Instantiate(Projectile, Projectile_Emitter.transform.position, Projectile_Emitter.transform.rotation) as GameObject;

                Temporary_Projectile_Handler.transform.Rotate(Vector3.forward * 90);
                Temporary_Projectile_Handler.transform.localScale += new Vector3(sage_Current_Projectile_Size / 1.5f, sage_Current_Projectile_Size / 1.5f, sage_Current_Projectile_Size / 1.5f);

                Rigidbody Temporary_RigidBody;
                Temporary_RigidBody = Temporary_Projectile_Handler.GetComponent <Rigidbody>();

                Temporary_RigidBody.AddForce(transform.right * sage_Projectile_Forward_Force);
                Debug.Log(Temporary_Projectile_Handler.transform.localScale);

                rangedChargeScript.Reset();
                sage_Current_Projectile_Size = 0f;

                Destroy(Temporary_Projectile_Handler, 5f);
            }
        }
        else
        {
            sage_Current_Projectile_Size = 0f;
            rangedChargeScript.Reset();
        }
    }
Beispiel #2
0
    void WarriorShoot()
    {
        if (Input.GetMouseButton(1))
        {
            ChargeUps();
            if (Input.GetMouseButtonDown(0))
            {
                GameObject Temporary_Projectile_Handler;
                Temporary_Projectile_Handler = Instantiate(Projectile, Projectile_Emitter.transform.position, Projectile_Emitter.transform.rotation) as GameObject;

                Temporary_Projectile_Handler.transform.Rotate(Vector3.forward * 90); // Projectile spin feel

                Rigidbody Temporary_RigidBody;
                Temporary_RigidBody = Temporary_Projectile_Handler.GetComponent <Rigidbody>();

                Temporary_RigidBody.AddForce(transform.right * warrior_Projectile_Forward_Force);
                forceMultiplier = 1f;
                charge          = 0f;

                rangedChargeScript.Reset();

                Destroy(Temporary_Projectile_Handler, 5f);
            }
        }
        else
        {
            forceMultiplier = 1f;
            rangedChargeScript.Reset();
        }
    }
Beispiel #3
0
    IEnumerator ShurikenBurst()
    {
        for (int i = 0; i < ninja_Shurikens; i++)
        {
            GameObject Temporary_Projectile_Handler;
            Temporary_Projectile_Handler = Instantiate(Projectile, Projectile_Emitter.transform.position, Projectile_Emitter.transform.rotation) as GameObject;

            Temporary_Projectile_Handler.transform.Rotate(Vector3.forward * 90); // Projectile spin feel

            Rigidbody Temporary_RigidBody;
            Temporary_RigidBody = Temporary_Projectile_Handler.GetComponent <Rigidbody>();

            Temporary_RigidBody.AddForce(transform.right * ninja_Projectile_Forward_Force);

            Destroy(Temporary_Projectile_Handler, 5f);
            yield return(new WaitForSeconds(ShurikenFireRate));
        }
        rangedChargeScript.Reset();
        ninja_Shurikens = 0;
        ninja_Current_Projectile_Count = 0;
    }
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown("space"))
        {
            //The Projectile instantiation happens here.
            GameObject Temporary_Projectile_Handler;
            Temporary_Projectile_Handler = Instantiate(Projectile, Projectile_Emitter.transform.position, Projectile_Emitter.transform.rotation) as GameObject;

            //Sometimes projectiles may appear rotated incorrectly due to the way its pivot was set from the original modeling package.
            //This is EASILY corrected here, you might have to rotate it from a different axis and or angle based on your particular mesh.
            //Temporary_Projectile_Handler.transform.Rotate(Vector3.left * 90);

            //Retrieve the Rigidbody component from the instantiated Projectile and control it.
            Rigidbody Temporary_RigidBody;
            Temporary_RigidBody = Temporary_Projectile_Handler.GetComponent <Rigidbody>();

            //Tell the projectile to be "pushed" forward by an amount set by Projectile_Forward_Force.
            Temporary_RigidBody.AddForce(transform.forward * Projectile_Forward_Force);

            //Basic Clean Up, set the Projectiles to self destruct after 10 Seconds, I am being VERY generous here, normally 3 seconds is plenty.
            Destroy(Temporary_Projectile_Handler, 5.0f);
        }
    }