private void CheckBrokeThrow(PlayerWeaponController controller, IWeaponCmd cmd) { if (controller.RelatedThrowActionInfo.IsReady && cmd.FilteredInput.IsInputBlocked(EPlayerInput.IsThrowing)) { //收回手雷 controller.ForceUnArmHeldWeapon(); if (controller.RelatedThrowActionInfo.IsPull) { //若已拉栓,销毁ThrowingEntity _throwingFactory.DestroyThrowing(controller.RelatedThrowActionInfo.ThrowingEntityKey); } //拉栓未投掷,打断投掷动作 controller.RelatedStateInterface.ForceFinishGrenadeThrow(); controller.RelatedThrowActionInfo.ClearState(); } }