// Unholsters Weapon public void UnholsterWeapon() { BoneFollower follower = CurrentWeapon.GetComponent <BoneFollower>(); WeaponBehaviour weapon = CurrentWeapon; string handBone = bFacingLeft ? sWeaponRearHandBone: sWeaponFrontHandBone; weapon.bHolstered = false; follower.boneName = handBone; follower.HandleRebuildRenderer(follower.SkeletonRenderer); bHoldingWeapon = true; }
// Holsters Weapon public void HolsterWeapon(int index = -1, bool instantSwitch = false) { if (!bHoldingWeapon) { return; } BoneFollower follower = CurrentWeapon.GetComponent <BoneFollower>(); WeaponBehaviour weapon = CurrentWeapon; string holsterBone = weapon.HoldType == eWeaponHoldType.Secondary ? sSecondaryWeaponHolsterBone : sPrimaryWeaponHolsterBone; weapon.bHolstered = true; follower.boneName = holsterBone; follower.HandleRebuildRenderer(follower.SkeletonRenderer); weapon.HandleVisualOffset(); if (index == -1) { // Move to the next weapon index if (iCurrentWeaponIndex == lWeapons.Count - 1) { iCurrentWeaponIndex = 0; } else { iCurrentWeaponIndex++; } } else { index = Mathf.Clamp(index, 0, lWeapons.Count - 1); iCurrentWeaponIndex = index; } if (aOnWeaponSwitch != null) { aOnWeaponSwitch(iCurrentWeaponIndex, instantSwitch); } // Setup new current weapon weapon = CurrentWeapon; weapon.EndCooldownTimers(); bHoldingWeapon = false; }