コード例 #1
0
        // 包括枪配件的改变
        public void CurrentWeaponChanged(GameObject objP1, GameObject objP3)
        {
            if (_boneRigging.SetIKTarget(objP1, objP3, ref _weaponHasIK))
            {
                var lowRailInCurrentWeapon = _weaponController.GetCurrentLowRailId();
                var gripHandPoseState      =
                    SingletonManager.Get <WeaponPartsConfigManager>().GetSubType(lowRailInCurrentWeapon);

                _directOutputs.CacheFsmOutput(AnimatorParametersHash.Instance.GripHandPoseHash,
                                              AnimatorParametersHash.Instance.GripHandPoseName,
                                              AnimatorParametersHash.Instance.GripHandPoseEnableValue,
                                              CharacterView.FirstPerson | CharacterView.ThirdPerson);

                _directOutputs.CacheFsmOutput(AnimatorParametersHash.Instance.GripHandPoseStateHash,
                                              AnimatorParametersHash.Instance.GripHandPoseStateName,
                                              gripHandPoseState,
                                              CharacterView.FirstPerson | CharacterView.ThirdPerson);
                _attachmentNeedIK = true; //握把需要开启IK
            }
            else
            {
                _directOutputs.CacheFsmOutput(AnimatorParametersHash.Instance.GripHandPoseHash,
                                              AnimatorParametersHash.Instance.GripHandPoseName,
                                              AnimatorParametersHash.Instance.GripHandPoseDisableValue,
                                              CharacterView.FirstPerson | CharacterView.ThirdPerson);
                _attachmentNeedIK = false;
            }
        }