diff options
Diffstat (limited to '_ActiveRagdoll/Player/PickupHandler.cs')
-rw-r--r-- | _ActiveRagdoll/Player/PickupHandler.cs | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/_ActiveRagdoll/Player/PickupHandler.cs b/_ActiveRagdoll/Player/PickupHandler.cs new file mode 100644 index 0000000..6a3a249 --- /dev/null +++ b/_ActiveRagdoll/Player/PickupHandler.cs @@ -0,0 +1,64 @@ +using UnityEngine; + +//Player PickupHandler ¼ñÎäÆ÷ +public class PickupHandler : MonoBehaviour +{ + public Pickup setWeapon; + + public Pickup setWeapon2; + + private WeaponHandler weaponHandler; + + private Holding holding; // holding¶¯×÷ + + private float counter; + + private void Start() + { + weaponHandler = GetComponent<WeaponHandler>(); + holding = GetComponent<Holding>(); + if ((bool)setWeapon) + { + PickUp(setWeapon); + } + if ((bool)setWeapon2) + { + PickUp2(setWeapon2); + } + } + + private void Update() + { + counter += Time.deltaTime; + } + + public void PickUp(Pickup objectToPickUp) + { + if (!(counter < 1f)) + { + counter = 0f; + holding.Drop(); + Weapon component = objectToPickUp.GetComponent<Weapon>(); + Gun component2 = component.GetComponent<Gun>(); + weaponHandler.SetGun(component2, mainHand: true); + bool hasOffHand = false; + if ((bool)setWeapon2) + { + hasOffHand = true; + } + HoldableObject component3 = component.GetComponent<HoldableObject>(); + component3.holder = base.transform; + holding.StartHolding(component3, hasOffHand); + } + } + + public void PickUp2(Pickup objectToPickUp) + { + Weapon component = objectToPickUp.GetComponent<Weapon>(); + Gun component2 = component.GetComponent<Gun>(); + weaponHandler.SetGun(component2, mainHand: false); + HoldableObject component3 = component.GetComponent<HoldableObject>(); + component3.holder = base.transform; + holding.StartHolding(component3, hasOffHand: true); + } +} |