Beispiel #1
0
 public MeleeAttackSystem(
     Contexts contexts,
     ICompensationWorldFactory compensationWorld,
     IMeleeHitHandler hitHandler)
 {
     _contexts  = contexts;
     _attackers = contexts.player.GetGroup(PlayerMatcher.MeleeAttackInfoSync);
     _compensationWorldFactory = compensationWorld;
     _meleeHitHandler          = hitHandler;
 }
Beispiel #2
0
        public UserCmdGameModule(Contexts contexts,
                                 ICompensationWorldFactory compensationWorldFactory,
                                 IBulletHitHandler bulletHitHandler,
                                 IMeleeHitHandler meleeHitHandler,
                                 IThrowingHitHandler throwingHitHandler,
                                 ICommonSessionObjects commonSessionObjects,
                                 Motors motors)
        {
            if (SharedConfig.IsServer)
            {
                AddSystem(new PlayerSyncStageSystem(contexts));
            }
            if (!SharedConfig.IsServer)
            {
                AddSystem(new PlayerSynchronizeFromComponentSystem());
            }
            else
            {
                AddSystem(new ServerSynchronizeFromComponentSystem());
            }
            AddSystem(new PlayerClientTimeSystem());
            AddSystem(new PlayerGrenadeInventorySyncSystem());
            //AddSystem(new CameraUpdateArchorSystem(contexts));
            AddSystem(new PlayerRotateLimitSystem());
            AddSystem(new CameraPreUpdateSystem(contexts, motors));
            AddSystem(new BulletSimulationSystem(contexts, compensationWorldFactory, bulletHitHandler));
            AddSystem(new PlayerAttackSystem(contexts));
            AddSystem(new MeleeAttackSystem(contexts, compensationWorldFactory, meleeHitHandler));
            AddSystem(new ThrowingSimulationSystem(contexts, compensationWorldFactory, throwingHitHandler, contexts.session.entityFactoryObject.SoundEntityFactory));
            AddSystem(new PlayerBulletGenerateSystem(contexts));

            AddSystem(new PlayerWeaponSwitchSystem(contexts));
            AddSystem(new PlayerWeaponDrawSystem(contexts));
            AddSystem(new PlayerWeapnStateUpdateSystem(contexts));

            if (!SharedConfig.IsServer)
            {
                AddSystem(new PlayerSkyMoveStateUpdateSystem(contexts));
            }
            else
            {
                AddSystem(new ServerPlayerSkyMoveStateUpdateSystem(contexts));
            }

//            AddSystem(new PlayerMoveByRootMotionSystem());

            AddSystem(new CreatePlayerLifeStateDataSystem());

            if (!SharedConfig.IsServer)
            {
                AddSystem(new PlayerMoveSystem(contexts));
            }
            else
            {
                AddSystem(new ServerMoveSystem(contexts));
            }

            if (!SharedConfig.IsServer)
            {
                AddSystem(new PlayerSpecialZoneEventSystem(contexts));
            }
            else
            {
                AddSystem(new ServerSpecialZoneEventSystem(contexts));
            }
            AddSystem(new PlayerControlledVehicleUserCmdExecuteSystem());
            AddSystem(new UpdatePlayerPositionOnVehicle(contexts));
            //AddSystem(new PlayerCameraInputSystem(contexts.player));
            AddSystem(new VehicleRideSystem(contexts));
            if (!SharedConfig.IsServer)
            {
                AddSystem(new VehicleCameraUpdateSystem(contexts));
            }
            AddSystem(new PlayerOxygenEnergySystem(contexts.vehicle));
            AddSystem(new PlayerCustomInputUpdateSystem());


            AddSystem(new PlayerAutoMoveSystem());
            AddSystem(new PlayerClimbActionSystem());
            if (!SharedConfig.IsServer)
            {
                AddSystem(new PlayerStateUpdateSystem(contexts));
            }
            else
            {
                AddSystem(new PlayerServerStateUpdateSystem(contexts));
            }

            if (!SharedConfig.IsServer)
            {
                AddSystem(new PlayerMoveByRootMotionSystem());
            }
            else
            {
                AddSystem(new ServerMoveByRootMotionSystem());
            }
            AddSystem(new PlayerFirstAppearanceUpdateSystem());
            AddSystem(new PlayerAppearanceUpdateSystem());
            if (!SharedConfig.IsServer)
            {
                AddSystem(new PlayerCharacterBoneUpdateSystem());
            }
            else
            {
                AddSystem(new ServerCharacterBoneUpdateSystem());
            }
            AddSystem(new PlayerHoldBreathSystem());
            AddSystem(new PlayerAvatarSystem());
            if (!SharedConfig.IsServer)
            {
                AddSystem(new PlayerSynchronizeToComponentSystem());
            }

            AddSystem(new PlayerBuffUpdateSystem(contexts));
            AddSystem(new PlayerFallDamageSystem(contexts));
            AddSystem(new PlayerSaveSystem(contexts));
            AddSystem(new PlayerStatisticsSystem());
            AddSystem(new CameraUpdateArchorSystem(contexts));
            if (!SharedConfig.IsServer)
            {
                AddSystem(new CameraUpdateSystem(contexts, motors));
            }
            else
            {
                AddSystem(new ServerCameraUpdateSystem(contexts, motors));
            }
            AddSystem(new PlayerStateTipSystem(contexts));

            AddSystem(new PlayerActionInterruptSystem());
            AddSystem(new PlayerBagSwitchSystem(commonSessionObjects));
            if (!SharedConfig.IsServer)
            {
                AddSystem(new CameraPostUpdateSystem(contexts.player, contexts.vehicle, contexts.freeMove));
            }
            else
            {
                AddSystem(new ServerPostCameraUpdateSystem(contexts));
            }
            AddSystem(new PlayerSoundPlaySystem(contexts));
        }