public void ResetGun() { if (isGunAttached || gun == null) { GameObject newGun = Instantiate(gunPrefab, gunSpawnPoint.transform); if (gun != null) { isGunAttached = false; gun.DetachFromHand(hand); gun.enabled = false; Destroy(gun.gameObject, 1.5f); } gun = newGun.GetComponent <Holdable>(); gun.onAttachToHand.AddListener(OnGunAttached); } gunRef = null; }