/// <summary> /// Sets up weapon model animator based on the equipped weapon. /// </summary> private void RefreshWeaponModel() { // get player char the UI is associated with PlayerCharacterMasterController playerChar = _uiManager.UiPlayerCharacter; // if player char found if (playerChar != null) { // get currently equipped weapon WeaponData equippedWep = playerChar.GetEquippedWeapon(); // if a weapon is equipped if (equippedWep != null) { // get equipped weapon's ID string wepId = equippedWep.itemInfo.itemId; // get equipped weapon's associated 1st person model animator AnimatorOverrideController newWepAnim = AssetRefMethods. LoadBundleAssetFirstPersonWeaponModelAnimator(equippedWep.weaponType, wepId); // if animator found if (newWepAnim != null) { // turn ON 1st person weapon object wepHeadAnim.gameObject.SetActive(true); // set weapon model animator to retreived weapon animator wepModelAnim.runtimeAnimatorController = newWepAnim; // DONT continue code return; } } } // if got here then, turn OFF 1st person weapon object wepHeadAnim.gameObject.SetActive(false); }