diff options
Diffstat (limited to '_ActiveRagdoll/Actions/PlayerKnockback.cs')
-rw-r--r-- | _ActiveRagdoll/Actions/PlayerKnockback.cs | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/_ActiveRagdoll/Actions/PlayerKnockback.cs b/_ActiveRagdoll/Actions/PlayerKnockback.cs new file mode 100644 index 0000000..d4839bf --- /dev/null +++ b/_ActiveRagdoll/Actions/PlayerKnockback.cs @@ -0,0 +1,53 @@ +using UnityEngine; + +//Player PlayerKnockback ¶¯×÷-»÷ÍË +public class PlayerKnockback : MonoBehaviour +{ + private RigidbodyHolder allRigs;//14 + + private StandingDataHandler standing; + + private WeaponHandler weapons; + + private void Start() + { + allRigs = GetComponent<RigidbodyHolder>(); + standing = GetComponent<StandingDataHandler>(); + weapons = GetComponent<WeaponHandler>(); + } + + private void Update() + { + if (Input.GetKeyDown(KeyCode.K)) //kill + { + AddSeriousKnockback(); + } + } + + public void AddForce(Vector3 force, Rigidbody rig) + { + if (force.magnitude > 200f) + { + AddSeriousKnockback(); + force *= 0.1f; + } + for (int i = 0; i < allRigs.GetAllRigs().Length; i++) + { + float num = 1f; + if (rig == allRigs.GetAllRigs()[i]) + { + num *= 1f; + } + allRigs.GetAllRigs()[i].AddForce(force * num * 20f, ForceMode.Acceleration); + } + } + + private void AddSeriousKnockback() + { + GetComponent<PlayerDeath>().Kill(); + } + + private void AddNormalKnockback() + { + } +} |