public void ExecuteInstantaniousForce(KeyCode forceKeyCode) { if (CanExertMotorForce()) { if (acceptedInstantaniousGroundedForceInputs.ContainsKey(forceKeyCode)) { HumanoidComponentExclusiveAdjustableForceInformationWithKnownObject info = acceptedInstantaniousGroundedForceInputs[forceKeyCode]; if (info.GetCurrentCooldown() <= 0) { info.SetCurrentCooldown(info.applyCooldown); if (info.animationFlag != "") { humanoidAnimator.SetTrigger(info.animationFlag); } CustomTraditionalForce force = new CustomTraditionalForce(affectedForceObject.transform.localToWorldMatrix * info.v); force.ApplyForce(affectedForceObject, info.isPure, info.infiniteTimeForce ? float.NegativeInfinity : info.applyTime); } } } else { if (acceptedInstantaniousLevitatingForceInputs.ContainsKey(forceKeyCode)) { HumanoidComponentExclusiveAdjustableForceInformationWithKnownObject info = acceptedInstantaniousLevitatingForceInputs[forceKeyCode]; if (info.GetCurrentCooldown() <= 0) { info.SetCurrentCooldown(info.applyCooldown); if (info.animationFlag != "") { humanoidAnimator.SetTrigger(info.animationFlag); } CustomTraditionalForce force = new CustomTraditionalForce(affectedForceObject.transform.localToWorldMatrix * info.v); force.ApplyForce(affectedForceObject, info.isPure, info.infiniteTimeForce ? float.NegativeInfinity : info.applyTime); } } } }
//Shoots the gun //Plays muzzleFlash animation and uses Raycast to hit object void Shoot() { muzzleFlash.Play(); GameObject bulletObj; bulletObj = Instantiate(bullet, fpsCam.transform.position + fpsCam.transform.forward * 0.05f, fpsCam.transform.rotation); bulletObj.transform.forward = fpsCam.transform.forward; CustomTraditionalForce force = bulletObj.AddComponent <CustomTraditionalForce>(); force.Force = fpsCam.transform.forward * bulletStartingForceMagnitude; force.ApplyForce(bulletObj.GetComponent <ForceObject>(), true, bulletForceApplicationTime); //RaycastHit hit; //var ray = Camera.main.ScreenPointToRay(Input.mousePosition); //if (Physics.Raycast(ray, out hit, range)) //{ // Debug.Log(hit.transform.name); // // generates a bullet // // the death hit // // if (hit.rigidbody != null) { // // hit.rigidbody.AddForceAtPosition(ray.direction * power, hit.point); // // } // Target target = hit.transform.GetComponent<Target>(); // if (target != null) //If target is hit, turn damage on and send bool to GetHit under Target // { // damage = true; // target.GetHit(damage); // } //} }