public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            var playerEntity = (PlayerEntity)getter.OwnerEntity;

            if (playerEntity.IsOnVehicle())
            {
                var channel = cmd.ChangeChannel;
                if (channel > 0 && playerEntity.IsVehicleDriver())
                {
                    var vehicle = _context.GetEntityWithEntityKey(playerEntity.controlledVehicle.EntityKey);
                    if (vehicle != null)
                    {
                        var assetInfo = vehicle.vehicleAssetInfo;
                        if (assetInfo.HasRadio)
                        {
                            var gameData = vehicle.GetGameData();
                            if (gameData.SoundChannel != channel)
                            {
                                gameData.SetSoundChannel((EVehicleChannel)channel);
                            }
                            else
                            {
                                gameData.SetSoundChannel(EVehicleChannel.None);
                            }

                            _logger.DebugFormat("Change Vehicle {0} Sound Channel {1} Music Sound Id {2}",
                                                vehicle.entityKey.Value, gameData.SoundChannel, gameData.CurrentSoundId);
                        }
                    }
                }
            }
        }
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            var player = getter.OwnerEntity as PlayerEntity;

            CheckPlayerLifeState(player);
            AppearanceUpdate(player);
        }
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            var playerEntity = (PlayerEntity)getter.OwnerEntity;

            if (null == playerEntity || null == playerEntity.playerGameState ||
                null == playerEntity.characterControllerInterface)
            {
                return;
            }

            var gameState = playerEntity.playerGameState;

            switch (gameState.CurrentPlayerLifeState)
            {
            case PlayerLifeStateEnum.Reborn:
                Reborn(playerEntity);
                break;

            case PlayerLifeStateEnum.Revive:
                Revive(playerEntity);
                break;

            case PlayerLifeStateEnum.Dying:
                Dying(playerEntity);
                break;

            case PlayerLifeStateEnum.Dead:
                Dead(playerEntity);
                break;
            }
        }
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            var player = getter.OwnerEntity as PlayerEntity;

            if (player.hasGamePlay)
            {
                var jobAttribute = player.gamePlay.JobAttribute;
                if (jobAttribute != _jobAttribute)
                {
                    var sessionObjects = _contexts.session.clientSessionObjects;
                    var generator      = sessionObjects.UserCmdGenerator;
                    if (jobAttribute == (int)EJobAttribute.EJob_Variant ||
                        jobAttribute == (int)EJobAttribute.EJob_Matrix ||
                        jobAttribute == (int)EJobAttribute.EJob_Hero)
                    {
                        generator.SwitchMode(EModeSwitch.Bio);
                        /*GlowOutlineComponent.enabled = true;*/
                    }
                    else
                    {
                        generator.SwitchMode(EModeSwitch.Normal);
                        /*GlowOutlineComponent.enabled = false;*/
                    }
                    _jobAttribute = jobAttribute;
                }

                /*UpdateGlowOutline();*/
            }
        }
Example #5
0
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            var player     = getter.OwnerEntity as PlayerEntity;
            var controller = player.WeaponController();

            if (!player.gamePlay.IsLifeState(EPlayerLifeState.Alive) || !player.gamePlay.CanAutoPick())
            {
                return;
            }

            if (cmd.ManualPickUpEquip > 0 && cmd.IsManualPickUp)
            {
                player.ModeController().DoPickup(player, cmd.ManualPickUpEquip);
            }

            if (cmd.AutoPickUpEquip != null && cmd.AutoPickUpEquip.Count > 0 && cmd.RenderTime - player.position.ServerTime > 500)
            {
                player.ModeController().AutoPickupWeapon(player, cmd.AutoPickUpEquip);
            }

            if (cmd.FilteredInput.IsInput(XmlConfig.EPlayerInput.IsDropWeapon))
            {
                player.ModeController().Drop(player, controller.HeldSlotType, cmd);
            }
        }
Example #6
0
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            if (cmd.PredicatedOnce)
            {
                return;
            }

            var playerEntity = (PlayerEntity)getter.OwnerEntity;

            if (CheckRideOffVehicle(playerEntity))
            {
                RideOffVehicle(playerEntity);
                return;
            }

            if (cmd.IsUseAction)
            {
                if (!playerEntity.IsOnVehicle())
                {
                    if (cmd.UseType == (int)EUseActionType.Vehicle)
                    {
                        CheckAndRideOnVehicle(playerEntity, cmd.UseEntityId, cmd.UseVehicleSeat);
                    }
                }
                else
                {
                    RideOffVehicle(playerEntity);
                }
            }
            else if (cmd.ChangedSeat > 0)
            {
                ChangeSeatOnVehicle(playerEntity, cmd.ChangedSeat);
            }
        }
Example #7
0
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            var player         = (PlayerEntity)getter.OwnerEntity;
            var moveUpdateData = player.moveUpdate;

            if (!moveUpdateData.NeedUpdate)
            {
                return;
            }

            var localMoveComponent = player.playerMove;
            var skyMoveUpdateData  = player.skyMoveUpdate;

            if (moveUpdateData.MoveType == (int)MoveType.Fly)
            {
                player.playerSkyMove.MoveStage           = skyMoveUpdateData.SkyMoveStage;
                player.playerSkyMove.Position            = skyMoveUpdateData.SkyPosition;
                player.playerSkyMove.Rotation            = skyMoveUpdateData.SkyRotation;
                player.playerSkyMove.LocalPlayerPosition = skyMoveUpdateData.SkyLocalPlayerPosition;
                player.playerSkyMove.LocalPlayerRotation = skyMoveUpdateData.SkyLocalPlayerRotation;
                player.orientation.Pitch           = skyMoveUpdateData.Pitch;
                player.orientation.Yaw             = skyMoveUpdateData.Yaw;
                player.orientation.Roll            = skyMoveUpdateData.Roll;
                player.gamePlay.GameState          = skyMoveUpdateData.GameState;
                player.playerSkyMove.IsMoveEnabled = skyMoveUpdateData.IsMoveEnabled;
                //_logger.ErrorFormat("get state:{0}, getMoveEnabled:{1} ", skyMoveUpdateData.GameState,
                //    skyMoveUpdateData.IsMoveEnabled);
            }
            else
            {
                var controller      = player.characterContoller.Value;
                var state           = player.stateInterface.State;
                var postureInConfig = state.GetNextPostureState();

                controller.SetCurrentControllerType(postureInConfig);
                controller.SetCharacterPosition(player.position.Value);
                controller.SetCharacterRotation(player.orientation.ModelView);
                controller.Rotate(player.orientation.RotationYaw, cmd.FrameInterval * 0.001f);

                if (moveUpdateData.BeginDive)
                {
                    player.stateInterface.State.Dive();
                }
                player.stateInterface.State.SetMoveInWater(moveUpdateData.MoveInWater);
                player.stateInterface.State.SetSteepAngle(moveUpdateData.TanSteepAngle);
                player.orientation.ModelPitch     = moveUpdateData.ModelPitch;
                player.orientation.ModelYaw       = moveUpdateData.ModelYaw;
                localMoveComponent.SpeedRatio     = player.moveUpdate.SpeedRatio;
                localMoveComponent.MoveSpeedRatio = player.moveUpdate.MoveSpeedRatio;
            }

            localMoveComponent.Velocity   = moveUpdateData.Velocity;
            localMoveComponent.IsGround   = moveUpdateData.IsGround;
            localMoveComponent.IsCollided = moveUpdateData.IsCollided;

            UpdatePosition(player, moveUpdateData);

            // _logger.ErrorFormat(" IsC ollided:{1},IsGround:{2}", moveUpdateData.IsCollided,moveUpdateData.IsGround);
        }
Example #8
0
 public CmdTask(int payerIdx, IPlayerUserCmdGetter getter, IUserCmd userCmd, TaskInfo taskInfo, int threadIdx)
 {
     PayerIdx  = payerIdx;
     Getter    = getter;
     UserCmd   = userCmd;
     TaskInfo  = taskInfo;
     ThreadIdx = threadIdx;
 }
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            PlayerEntity player = getter.OwnerEntity as PlayerEntity;

            if (player.hasNetworkAnimator)
            {
                Logger.ErrorFormat("seq:{0} NetworkAnimator:{1}", cmd.Seq, player.networkAnimator);
            }
        }
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            PlayerEntity player = getter.OwnerEntity as PlayerEntity;

            if (player != null && Filter(player) && FilterCmd(cmd))
            {
                ExecuteUserCmd(player, cmd);
            }
        }
Example #11
0
        void IUserCmdExecuteSystem.ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            PlayerEntity playerEntity = (PlayerEntity)getter.OwnerEntity;

            var stateManager = playerEntity.stateInterface.State;

            ComponentSynchronizer.SyncToStateComponent(playerEntity.state, stateManager);
            ComponentSynchronizer.SyncToStateInterVarComponent(playerEntity.stateInterVar, stateManager);
        }
Example #12
0
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            PlayerEntity playerEntity = (PlayerEntity)getter.OwnerEntity;

            var stateManager = playerEntity.stateInterface.State;

            ComponentSynchronizer.SyncFromStateBeforeComponent(playerEntity.stateBefore, stateManager);
            ComponentSynchronizer.SyncFromStateInterVarBeforeComponent(playerEntity.stateInterVarBefore, stateManager);
        }
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            PlayerEntity player = getter.OwnerEntity as PlayerEntity;

            if (player.gamePlay.IsLifeState(EPlayerLifeState.Dead) || player.gamePlay.IsLastLifeState(EPlayerLifeState.Dead))
            {
                return;
            }
            FirstPersonAppearanceUpdate(player);
        }
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            var player = getter.OwnerEntity as PlayerEntity;

            if (null != player && (player.gamePlay.IsLifeState(EPlayerLifeState.Dead) || player.gamePlay.IsLastLifeState(EPlayerLifeState.Dead)))
            {
                return;
            }

            SyncSightComponent(player);
        }
Example #15
0
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            var player = getter.OwnerEntity as PlayerEntity;

            if (player == null)
            {
                return;
            }
            CommonUpdate(player, cmd);
            LastTime = cmd.ClientTime;
        }
Example #16
0
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            if (cmd.PredicatedOnce)
            {
                return;
            }

            PlayerEntity player = (PlayerEntity)getter.OwnerEntity;

            //服务器通过tcp指令修改客户端位置
            CorrectPositionByServer(cmd, player);

            CheckPlayerLifeState(player);

            var updateComponent = player.moveUpdate;

            updateComponent.LastPosition = player.position.Value.ShiftedToFixedVector3();

            updateComponent.Reset();

            if (!CanPlayerMove(player))
            {
                return;
            }

            player.playerMove.ClearState();

            // swimhandler和divehandler未解耦,handler内部函数声明为static,解耦后可以不使用switch
            MoveType moveType = GetPlayerMoveType(player);

            switch (moveType)
            {
            case MoveType.Land:
                LandHandler.Move(_contexts, player, cmd.FrameInterval * 0.001f);
                break;

            case MoveType.Swim:
                SwimHandler.Move(_contexts, player, cmd.FrameInterval * 0.001f);
                break;

            case MoveType.Dive:
                DiveHandler.Move(_contexts, player, cmd.FrameInterval * 0.001f);
                break;

            case MoveType.Fly:
                FlyHandler.Move(player, cmd, cmd.FrameInterval * 0.001f);
                break;

            default:
                break;
            }

            SyncPlayerMove(player, moveType);
        }
Example #17
0
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            var player = getter.OwnerEntity as PlayerEntity;

            if (null == player)
            {
                Logger.Error("owner entity is not player entity ");
                return;
            }
            player.appearanceInterface.Appearance.UpdateAvatar();
        }
Example #18
0
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            var player = (PlayerEntity)getter.OwnerEntity;

            if (player.gamePlay.IsLifeState(EPlayerLifeState.Dead))
            {
                // gamePlay有对应的处理,这里不需要
                return;
            }

            UpdateTransform(player, cmd.FrameInterval / 1000.0f);
        }
Example #19
0
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            PlayerEntity player = getter.OwnerEntity as PlayerEntity;

            if (!player.gamePlay.IsDead())
            {
                if (player.hasOxygenEnergyInterface && player.oxygenEnergyInterface.Oxygen.InDivingDeffState)
                {
                    player.tip.TipType = ETipType.OutOfOxygen;
                }
            }
        }
Example #20
0
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            PlayerEntity player = (PlayerEntity)getter.OwnerEntity;

            if (!player.hasStatisticsData)
            {
                return;
            }
            StatisticsData statisticsData = player.statisticsData.Statistics;

            if (player.time.ClientTime - statisticsData.LastSamplingTime < 1000)
            {
                return;
            }

            _startPos.Set(statisticsData.LastPosition.x, statisticsData.LastPosition.z);
            _endPos.Set(player.position.Value.x, player.position.Value.z);
            float moveDis = Vector2.Distance(_startPos, _endPos);

            //总移动距离
            statisticsData.TotalMoveDistance += moveDis;
            //载具移动距离
            if (player.IsOnVehicle())
            {
                statisticsData.VehicleMoveDistance += moveDis;
            }
            statisticsData.LastPosition = player.position.Value;
            //游泳时间
            if (player.stateInterface.State.GetCurrentPostureState() == PostureInConfig.Swim ||
                player.stateInterface.State.GetCurrentPostureState() == PostureInConfig.Dive)
            {
                if (statisticsData.LastIsSwimState)
                {
                    statisticsData.SwimTime += player.time.ClientTime - statisticsData.LastSwimTime;
                }
                statisticsData.LastIsSwimState = true;
                statisticsData.LastSwimTime    = player.time.ClientTime;
            }
            else
            {
                statisticsData.LastIsSwimState = false;
            }
            //治疗量(模式中获取)
            //statisticsData.CureVolume = 0;
            //加速时间(模式中获取)
            //statisticsData.AccSpeedTime = 0;
            //全副武装(模式中获取)
            //statisticsData.IsFullArmed = false;

            //最后统计时间
            statisticsData.LastSamplingTime = player.time.ClientTime;
        }
Example #21
0
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            var weaponController = GameModuleManagement.Get <PlayerWeaponController>(getter.OwnerEntityKey.EntityId);

            cmd.IsAutoFire   = weaponController.HeldWeaponAgent.RunTimeComponent.NeedAutoBurstShoot;
            cmd.IsAutoReload = weaponController.HeldWeaponAgent.RunTimeComponent.NeedAutoReload;
            weaponController.InternalUpdate();
            #if UNITY_EDITOR
            if (cmd.IsYDown)
            {
            }
            #endif
        }
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            var player = getter.OwnerEntity as PlayerEntity;

            if (null == player)
            {
                return;
            }
            if (cmd.IsHoldBreath && player.IsAiming())
            {
                if (null == player)
                {
                    Logger.Error("owner entity is not player entity ");
                    return;
                }
                if (!player.hasAppearanceInterface)
                {
                    Logger.Error("player has no appearance interface ");
                    return;
                }

                if (!player.oxygenEnergyInterface.Oxygen.InShiftState)
                {
                    player.oxygenEnergyInterface.Oxygen.ShiftVeryTime = player.time.ClientTime;
                }
                player.oxygenEnergyInterface.Oxygen.InShiftState = true;
            }
            else
            {
                if (!player.hasAppearanceInterface)
                {
                    Logger.Error("player has no appearance interface ");
                    return;
                }

                if (player.oxygenEnergyInterface.Oxygen.InShiftState)
                {
                    player.oxygenEnergyInterface.Oxygen.ShiftVeryTime = player.time.ClientTime;
                }
                player.oxygenEnergyInterface.Oxygen.InShiftState = false;
            }

            if (player.oxygenEnergyInterface.Oxygen.InShiftState)
            {
                player.appearanceInterface.FirstPersonAppearance.SightShift.SetHoldBreath(true);
            }
            else
            {
                player.appearanceInterface.FirstPersonAppearance.SightShift.SetHoldBreath(false);
            }
        }
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            PlayerEntity player = (PlayerEntity)getter.OwnerEntity;

            if (player.playerMove.IsGround && !player.playerMove.FirstOnGround)
            {
                player.playerMove.FirstOnGround = true;
            }
            else if (player.playerMove.FirstOnGround && !player.playerMove.LastIsCollided && player.playerMove.IsCollided)
            {
                float damage = 0;

                //水平伤害
                Vector2 inVel   = new Vector2(player.playerMove.LastVelocity.x, player.playerMove.LastVelocity.z);
                Vector2 outVel  = new Vector2(0, 0);//(player.playerMove.Velocity.x, player.playerMove.Velocity.z);
                float   xzSpeed = (inVel - outVel).magnitude;

                float hurtSpeedHorizontal = SpeedHorizontal;
                if (player.playerMove.SpeedAffect > 0 && !player.IsOnVehicle())//有加速buff且不在载具内
                {
                    hurtSpeedHorizontal *= player.playerMove.SpeedAffect + 1;
                }
                if (xzSpeed >= hurtSpeedHorizontal)
                {
                    damage += (xzSpeed * 3.6f - 30) * 2;
                }

                //垂直伤害
                float ySpeed = -player.playerMove.LastVelocity.y;

                float hurtSpeedVertical = SpeedVertical;
                if (player.playerMove.JumpAffect > 0 && !player.IsOnVehicle())
                {
                    hurtSpeedVertical *= player.playerMove.JumpAffect + 1;
                }
                if (ySpeed >= hurtSpeedVertical)
                {
                    //damage += (ySpeed - hurtSpeedVertical) * 14; 伤害取二者大值而非相加
                    damage = Mathf.Max(damage, (ySpeed - hurtSpeedVertical) * 14);
                }

                if (damage > 0 && SharedConfig.HaveFallDamage)
                {
                    VehicleDamageUtility.DoPlayerDamage(_contexts, null, player, damage, EUIDeadType.Fall);
                }
            }

            player.playerMove.LastIsCollided = player.playerMove.IsCollided;
            player.playerMove.LastVelocity   = player.playerMove.Velocity;
        }
 /// <summary>
 /// 槽位切换&模式切换
 /// </summary>
 /// <param name="getter"></param>
 /// <param name="cmd"></param>
 public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
 {
     if (cmd.FilteredInput.IsInput(XmlConfig.EPlayerInput.IsSwitchWeapon) && cmd.CurWeapon != (int)EWeaponSlotType.None)
     {
         var newSlot = getter.OwnerEntityKey.ModeController().GetSlotByIndex(cmd.CurWeapon);
         getter.OwnerEntityKey.WeaponController().SwitchIn(newSlot);
         return;
     }
     if (cmd.FilteredInput.IsInput(XmlConfig.EPlayerInput.IsSwitchFireMode))
     {
         getter.OwnerEntityKey.WeaponController().SwitchFireMode();
         return;
     }
 }
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            /*throw new System.NotImplementedException();*/
            var player = getter.OwnerEntity as PlayerEntity;

            if (player.hasGamePlay)
            {
                if (_witness != player.gamePlay.Witness)
                {
                    PlayerEntityUtility.SetActive(player, !player.gamePlay.Witness, EActiveMask.Witness);
                    _witness = player.gamePlay.Witness;
                }
            }
        }
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            PlayerEntity player = (PlayerEntity)getter.OwnerEntity;

            if (player.gamePlay.IsLifeState(EPlayerLifeState.Dead))
            {
                return;
            }

            if (!player.hasPlayerMove || !player.hasStateInterface || !player.hasOrientation)
            {
                return;
            }

            var state            = player.stateInterface.State;
            var orientationPitch = player.orientation.Pitch;

            if (state.GetNextPostureState() == PostureInConfig.Dive)
            {
                float upDownValue = player.playerMove.UpDownValue;

                if (cmd.IsSpaceDown || cmd.IsCDown)
                {
                    upDownValue = _controller.UpdateValue(cmd.FrameInterval * 0.001f, cmd.IsSpaceDown, cmd.IsCDown,
                                                          player.playerMove.UpDownValue);
                }
                else if ((state.IsForth || state.IsBack) && !cmd.IsSpaceDown && !cmd.IsCDown)
                {
                    upDownValue = _controller.UpdateToTarget(cmd.FrameInterval * 0.001f,
                                                             Mathf.Clamp((state.IsForth ? -1.0f : -1.0f)
                                                                         * orientationPitch /
                                                                         SingletonManager.Get <CameraConfigManager>().GetRoleConfig(player.playerInfo.RoleModelId)
                                                                         .PoseConfigs[(int)ECameraPoseMode.Stand].PitchLimit.Max *
                                                                         state.VerticalValue
                                                                         , -1, 1), upDownValue);
                }
                else
                {
                    upDownValue = _controller.UpdateValue(cmd.FrameInterval * 0.001f, cmd.IsSpaceDown, cmd.IsCDown,
                                                          player.playerMove.UpDownValue);
                }
                state.SetDiveUpDownValue(upDownValue);
                player.playerMove.UpDownValue = upDownValue;
            }
            else
            {
                player.playerMove.UpDownValue = 0;
            }
        }
//        private PlayerStateCollectorPool _stateCollectorPool;
//
//        public UserCmdPreExecuteSystem(
//        )
//        {
//            _stateCollectorPool = gameStateProcessorFactory;
//        }

        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd userCmd)
        {
            if (userCmd.Seq != getter.LastCmdSeq + 1)
            {
                _logger.ErrorFormat("{2} lost user cmd last {0}, cur {1}", getter.LastCmdSeq,
                                    userCmd.Seq, getter.OwnerEntityKey);
            }

            if (_logger.IsDebugEnabled)
            {
                _logger.DebugFormat("processing user cmd {0}", userCmd);
            }

            userCmd.FilteredInput = getter.GetFiltedInput(userCmd);
        }
Example #28
0
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            PlayerEntity playerEntity = getter.OwnerEntity as PlayerEntity;

            if (!playerEntity.hasCameraStateNew)
            {
                return;
            }
            if (!playerEntity.hasCameraStateOutputNew)
            {
                return;
            }

            CopyClientOutputToComponent(playerEntity);
        }
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            PlayerEntity player = getter.OwnerEntity as PlayerEntity;

            if (null == player)
            {
                Logger.Error("Owner is not player");
                return;
            }

            if (player.triggerEvent.NeedUnmountWeapon)
            {
                player.WeaponController().UnArmWeapon(false);
            }
        }
Example #30
0
        public void ExecuteUserCmd(IPlayerUserCmdGetter getter, IUserCmd cmd)
        {
            var player = (PlayerEntity)getter.OwnerEntity;

            if (player.IsOnVehicle())
            {
                player.position.AlwaysEqual    = true;
                player.orientation.AlwaysEqual = true;
            }
            else
            {
                player.position.AlwaysEqual    = false;
                player.orientation.AlwaysEqual = false;
            }
        }