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(); } }
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(); } }
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); } }