示例#1
0
 public override FsmStateResponseType HandleInput(IFsmInputCommand command, Action <FsmOutput> addOutput)
 {
     if (command.IsMatch(FsmInput.BigJump) && !isBigJump)
     {
         isBigJump = true;
         //FsmOutput.Cache.SetValue(FsmOutputType.CharacterControllerJumpHeight, _characterInfo.GetBigJumpHeight());
         //addOutput(FsmOutput.Cache);
     }
     return(base.HandleInput(command, addOutput));
 }
示例#2
0
        public override FsmStateResponseType HandleInput(IFsmInputCommand command, Action <FsmOutput> addOutput)
        {
            if (command.IsMatch(FsmInput.Crouch) && !isBigJump)
            {
                isBigJump = true;
                FsmOutput.Cache.SetValue(FsmOutputType.CharacterControllerJumpHeight, SingletonManager.Get <CharacterStateConfigManager>().CharacterControllerJumpHeight);
                addOutput(FsmOutput.Cache);
            }

            return(base.HandleInput(command, addOutput));
        }
示例#3
0
        public override FsmStateResponseType HandleInput(IFsmInputCommand command, Action <FsmOutput> addOutput)
        {
            if (command.IsMatch(FsmInput.MeleeAttackProgressP3))
            {
                LerpUpperBodyLayerWeight(command, addOutput, SingletonManager.Get <CharacterStateConfigManager>().MeleeLayerWeightTransitionTime);
            }

            if (command.IsMatch(FsmInput.LightMeleeAttackOne))
            {
                FsmOutput.Cache.SetValue(AnimatorParametersHash.Instance.MeleeStateHash,
                                         AnimatorParametersHash.Instance.MeleeAttackName,
                                         AnimatorParametersHash.Instance.LightMeleeOne,
                                         CharacterView.FirstPerson | CharacterView.ThirdPerson);
                addOutput(FsmOutput.Cache);
                TurnOnUpperBodyOverlay(addOutput);
            }
            else if (command.IsMatch(FsmInput.LightMeleeAttackTwo))
            {
                FsmOutput.Cache.SetValue(AnimatorParametersHash.Instance.MeleeStateHash,
                                         AnimatorParametersHash.Instance.MeleeAttackName,
                                         AnimatorParametersHash.Instance.LightMeleeTwo,
                                         CharacterView.FirstPerson | CharacterView.ThirdPerson);
                addOutput(FsmOutput.Cache);
                TurnOnUpperBodyOverlay(addOutput);
            }
            else if (command.IsMatch(FsmInput.MeleeSpecialAttack))
            {
                FsmOutput.Cache.SetValue(AnimatorParametersHash.Instance.MeleeStateHash,
                                         AnimatorParametersHash.Instance.MeleeAttackName,
                                         AnimatorParametersHash.Instance.ForceMelee,
                                         CharacterView.FirstPerson | CharacterView.ThirdPerson);
                addOutput(FsmOutput.Cache);
                TurnOnUpperBodyOverlay(addOutput);
            }

            return(base.HandleInput(command, addOutput));
        }
示例#4
0
        public override FsmStateResponseType HandleInput(IFsmInputCommand command, Action <FsmOutput> addOutput)
        {
            if (command.IsMatch(FsmInput.LadderSpeed))
            {
                FsmOutput.Cache.SetValue(AnimatorParametersHash.Instance.LadderSpeedHash,
                                         AnimatorParametersHash.Instance.LadderSpeedName,
                                         command.AdditioanlValue,
                                         CharacterView.ThirdPerson);
                addOutput(FsmOutput.Cache);

                command.Handled = true;
            }

            return(base.HandleInput(command, addOutput));
        }
示例#5
0
        public override FsmStateResponseType HandleInput(IFsmInputCommand command, Action <FsmOutput> addOutput)
        {
            float seatId = command.AdditioanlValue % 10;

            if (command.IsMatch(FsmInput.DriveStart))
            {
                FsmOutput.Cache.SetValue(AnimatorParametersHash.Instance.VehiclesAnimStateHash,
                                         AnimatorParametersHash.Instance.VehiclesAnimStateName,
                                         seatId,
                                         CharacterView.ThirdPerson);
                addOutput(FsmOutput.Cache);

                command.Handled = true;
            }

            return(base.HandleInput(command, addOutput));
        }