Exemple #1
0
 public void CharacterState_Unmount(System.Action unarm, float unarmParam)
 {
     Core.CharacterState.ICharacterState state = entity.stateInterface.State;
     state.InterruptAction();
     state.ForceFinishGrenadeThrow();
     state.Unarm(unarm, unarmParam);
 }
Exemple #2
0
 public void CharacterState_Interrupt()
 {
     Core.CharacterState.ICharacterState state = entity.stateInterface.State;
     state.InterruptAction();
     state.InterruptSwitchWeapon();
     PlayerStateUtil.AddPlayerState(EPlayerGameState.InterruptItem, entity.gamePlay);
     state.ForceBreakSpecialReload(null);
     state.ForceFinishGrenadeThrow();
     if (entity.hasThrowingAction)
     {
         entity.throwingAction.ActionInfo.ClearState();
     }
 }
Exemple #3
0
 public void ThrowAction_Execute()
 {
     if (!entity.hasThrowingAction)
     {
         return;
     }
     Core.WeaponLogic.Throwing.ThrowingActionInfo actionInfo = entity.throwingAction.ActionInfo;
     Core.CharacterState.ICharacterState          state      = entity.stateInterface.State;
     if (actionInfo.IsReady && actionInfo.IsPull)
     {
         //若已拉栓,销毁ThrowingEntity
         actionInfo.IsInterrupt = true;
     }
     //打断投掷动作
     state.ForceFinishGrenadeThrow();
     //清理手雷状态
     actionInfo.ClearState();
 }