IEnumerator DropGunTimer() { yield return(new WaitForSeconds(1.3f)); player = null; gunSlot = null; }
void OnTriggerEnter(Collider coll) { if (coll.tag == "Player" && player == null) { Debug.Log("Collided with: " + coll.name); Player_Base _player = coll.GetComponent <Player_Base>(); if (_player != null) { GunSlot_Base _gunSlot = _player.GunSlot; if (_gunSlot != null && _gunSlot.TryPickup(this)) { player = _player; gunSlot = _gunSlot; gameObject.transform.parent = _gunSlot.transform; Destroy(GetComponent <Rigidbody>()); enabled = true; Collider[] colliders = GetComponents <Collider>(); foreach (Collider c in colliders) { c.enabled = false; } transform.localPosition = Vector3.zero; transform.localRotation = Quaternion.Euler(0, 180, 0); AlignGun(); } } } }
void FindGunSlotAndPlayer() { Transform parent = transform.parent; if (parent == null) { enabled = false; return; } GunSlot weaponSlot = parent.GetComponent <GunSlot>(); if (weaponSlot != null) { this.gunSlot = weaponSlot; Player player = weaponSlot.Player; if (player != null) { this.player = player; } } }