private void DoDrawArmWeaponWithActionFromEmpty(WeaponScanStruct destWeapon, int lastWeaponId, WeaponDrawAppearanceStruct appearanceStruct) { WeaponToHand(destWeapon.ConfigId, lastWeaponId, appearanceStruct.targetSlot, appearanceStruct.armOnLeft); DoArmFinished(destWeapon, appearanceStruct.targetSlot); RelatedCharState.Select(RelatedAppearence.RemountP3WeaponOnRightHand, appearanceStruct.drawParam); }
public void CharacterUnarm(Action holsterStartFinished, Action holsterEndFinished, float unarmParam) { logger.Info("[Tmp]Interrupt"); RelatedCharState.InterruptAction(); RelatedCharState.ForceFinishGrenadeThrow(); RelatedCharState.Holster(holsterStartFinished, holsterEndFinished, unarmParam); }
public void CharacterDrawInterrupt() { logger.Info("[Tmp]Interrupt"); PlayerStateUtil.AddPlayerState(EPlayerGameState.InterruptItem, entity.gamePlay); RelatedCharState.InterruptAction(); RelatedCharState.ForceFinishGrenadeThrow(); Owner.AudioController().StopPullBoltAudio(); }
//有动作版移除 private void DoDrawUnarmWeaponWithAction() { DoSpecialAppearance(); int heldConfigId = HeldConfigId; float holsterParam = WeaponUtil.GetUnArmHolsterParam(HeldSlotType); RelatedCharState.CharacterUnmount(() => DoHolsterStart(heldConfigId), () => DoHolsterEnd(), holsterParam); onWeaponSwitchEvt(this, heldConfigId, EInOrOff.Off); }
//有动作版移除 private void DoDrawUnarmWeaponWithAction(Action callback) { DoSpecialAppearance(); int heldConfigId = HeldConfigId; float holsterParam = WeaponUtil.GetUnArmHolsterParam(HeldSlotType); RelatedCharState.CharacterUnmount(() => RelatedAppearence.JustUnMountWeaponFromHand(), () => DoUnArmFinished(heldConfigId, callback), holsterParam); onWeaponSwitchEvt(this, heldConfigId, EInOrOff.Off); }
/// 有动作,从旧装备上画新装备 private void DoDrawArmWeaponWithActionFromOtherWeapon(WeaponScanStruct destWeapon, int lastWeaponId, WeaponDrawAppearanceStruct appearanceStruct) { RelatedCharState.SwitchWeapon(() => { WeaponToHand(destWeapon.ConfigId, lastWeaponId, appearanceStruct.targetSlot, CompareUtility.IsApproximatelyEqual(appearanceStruct.drawParam, AnimatorParametersHash.Instance.DrawLeftValue)); onWeaponSwitchEvt(this, destWeapon.ConfigId, EInOrOff.Off); }, () => OnDrawWeaponCallback(destWeapon, appearanceStruct.targetSlot), appearanceStruct.switchParam); }
/// 有动作,从旧装备上画新装备 private void DoDrawArmWeaponWithActionFromOtherWeapon(WeaponScanStruct destWeapon, int lastWeaponId, WeaponDrawAppearanceStruct appearanceStruct) { RelatedCharState.SwitchWeapon( () => { WeaponToHand(destWeapon.ConfigId, lastWeaponId, appearanceStruct.targetSlot, appearanceStruct.armOnLeft); onWeaponSwitchEvt(this, destWeapon.ConfigId, EInOrOff.Off); }, () => OnDrawWeaponCallback(destWeapon, appearanceStruct.targetSlot), appearanceStruct.switchParam); }
public void ThrowActionExecute() { if (!entity.hasThrowingAction) { return; } Core.WeaponLogic.Throwing.ThrowingActionInfo actionInfo = RelatedThrowAction; if (actionInfo.IsReady && actionInfo.IsPull) { //若已拉栓,销毁ThrowingEntity actionInfo.IsInterrupt = true; } //打断投掷动作 RelatedCharState.ForceFinishGrenadeThrow(); //清理手雷状态 actionInfo.ClearState(); }
private void DoArmFinished(WeaponScanStruct weapon, EWeaponSlotType slot) { //TODO: logger.InfoFormat("DoArmFinished {0}", HeldSlotType); SetHeldSlotType(slot); if (weapon.Bullet <= 0) { if (SharedConfig.CurrentGameMode == EGameMode.Normal) { //TODO 判断弹药数量是否足够,如果弹药不足,弹提示框 RelatedCharState.ReloadEmpty(() => { }); } } }
public void ThrowActionExecute() { if (!entity.hasThrowingAction) { return; } ThrowingActionData actionData = RelatedThrowAction; if (actionData.IsReady && actionData.IsPull) { //若已拉栓,销毁ThrowingEntity actionData.IsInterrupt = true; } //打断投掷动作 RelatedCharState.ForceFinishGrenadeThrow(); //清理手雷状态 actionData.InternalCleanUp(); }
private void DoArmFinished(WeaponScanStruct weapon, EWeaponSlotType slot) { //TODO: SetHeldSlotType(slot); if (weapon.Bullet <= 0) { if (SharedConfig.CurrentGameMode == EGameMode.Normal) { //TODO 判断弹药数量是否足够,如果弹药不足,弹提示框 RelatedCharState.ReloadEmpty(() => { }); } } else { //if (!bag.CurBolted) //{ // //TODO 拉栓动作 //} } }
public void CharacterUnarm(System.Action holsterStartFinished, System.Action holsterEndFinished, float unarmParam) { RelatedCharState.InterruptAction(); RelatedCharState.ForceFinishGrenadeThrow(); RelatedCharState.Holster(holsterStartFinished, holsterEndFinished, unarmParam); }
public void CharacterDrawInterrupt() { PlayerStateUtil.AddPlayerState(EPlayerGameState.InterruptItem, entity.gamePlay); RelatedCharState.InterruptAction(); RelatedCharState.ForceFinishGrenadeThrow(); }
public void CharacterDraw(System.Action drawCallback, float drawParam) { RelatedCharState.Select(drawCallback, drawParam); }
public void CharacterSwitchWeapon(System.Action unarmCallback, System.Action drawCallback, float switchParam) { RelatedCharState.SwitchWeapon(unarmCallback, drawCallback, switchParam); }
public void CharacterUnarm(System.Action unarm, float unarmParam) { RelatedCharState.InterruptAction(); RelatedCharState.ForceFinishGrenadeThrow(); RelatedCharState.Unarm(unarm, unarmParam); }