public void CharacterState_Unmount(System.Action unarm, float unarmParam) { Core.CharacterState.ICharacterState state = entity.stateInterface.State; state.InterruptAction(); state.ForceFinishGrenadeThrow(); state.Unarm(unarm, unarmParam); }
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(); } }
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(); }
public void CharacterState_Draw(System.Action drawCallback, float drawParam) { Core.CharacterState.ICharacterState state = entity.stateInterface.State; state.Draw(drawCallback, drawParam); }
public void CharacterState_SwitchWeapon(System.Action unarmCallback, System.Action drawCallback, float switchParam) { Core.CharacterState.ICharacterState state = entity.stateInterface.State; state.SwitchWeapon(unarmCallback, drawCallback, switchParam); }