diff options
author | chai <215380520@qq.com> | 2024-03-13 11:00:58 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2024-03-13 11:00:58 +0800 |
commit | 6ce8b9e22fc13be34b442c7b6af48b42cd44275a (patch) | |
tree | b38119d2acf0a982cb67e381f146924b9bfc3b3f /PickupHandler.cs |
+init
Diffstat (limited to 'PickupHandler.cs')
-rw-r--r-- | PickupHandler.cs | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/PickupHandler.cs b/PickupHandler.cs new file mode 100644 index 0000000..8bf1615 --- /dev/null +++ b/PickupHandler.cs @@ -0,0 +1,63 @@ +using UnityEngine; + +public class PickupHandler : MonoBehaviour +{ + public Pickup setWeapon; + + public Pickup setWeapon2; + + private WeaponHandler weaponHandler; + + private 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); + } +} |