public void Switch(int WeaponIndex) { if (WeaponHand.transform.childCount > 1 && WeaponHand.transform.GetChild(1).name != "Bullet Positioner") { Destroy(WeaponHand.transform.GetChild(1).gameObject); } if (WeaponHand.transform.childCount < 3) { GameObject model; if (WeaponIndex == 100) { model = spawnWeapons.Weapons[spawnWeapons.Weapons.Count - 1].WeaponItem.itemModel; WeaponIndex = spawnWeapons.Weapons.Count - 1; } else { model = spawnWeapons.Weapons[WeaponIndex].WeaponItem.itemModel; } shoot.StopReload(); if (model != null) { HandHeldWeapon = Instantiate( model, WeaponHand.transform.position, WeaponHand.transform.rotation); HandHeldWeapon.transform.SetParent(WeaponHand.transform); } if ((spawnWeapons.Weapons[WeaponIndex].WeaponItem.name != "Fists") && HandHeldWeapon != null) { aimShoot.Weapon = HandHeldWeapon.transform; shoot.fireRate = spawnWeapons.Weapons[WeaponIndex].WeaponItem.fireRate; shoot.recoil = spawnWeapons.Weapons[WeaponIndex].WeaponItem.recoil; shoot.impact = spawnWeapons.Weapons[WeaponIndex].WeaponItem.impact; shoot.magSize = spawnWeapons.Weapons[WeaponIndex].WeaponItem.magazineSize; shoot.bulletPrefab = spawnWeapons.Weapons[WeaponIndex].WeaponItem.bullet; shoot.bloom = spawnWeapons.Weapons[WeaponIndex].WeaponItem.bloom; shoot.bulletPrefabRB = spawnWeapons.Weapons[WeaponIndex].WeaponItem.bullet.GetComponent <Rigidbody>(); shoot.rbbullet = spawnWeapons.Weapons[WeaponIndex].WeaponItem.bullet.GetComponent <Rigidbody>(); shoot.burstSize = spawnWeapons.Weapons[WeaponIndex].WeaponItem.burstSize; shoot.burstTime = spawnWeapons.Weapons[WeaponIndex].WeaponItem.burstTime; shoot.hasMag = spawnWeapons.Weapons[WeaponIndex].WeaponItem.mag; shoot.gunShot = spawnWeapons.Weapons[WeaponIndex].WeaponItem.shot; shoot.reload = spawnWeapons.Weapons[WeaponIndex].WeaponItem.reload; shoot.burstCount = 0; HandHeldWeapon.layer = 10; muzzleFlash.transform.localScale = spawnWeapons.Weapons[WeaponIndex].WeaponItem.muzzleFlashScale * 0.1f; for (int z = 0; z < HandHeldWeapon.transform.childCount; z++) { HandHeldWeapon.transform.GetChild(z).gameObject.layer = 10; } bulletPositioner.transform.localPosition = spawnWeapons.Weapons[WeaponIndex].WeaponItem.muzzlePosition; mass.GetComponent <Rigidbody>().mass = spawnWeapons.Weapons[WeaponIndex].WeaponItem.mass / 3; } } }