protected override void HandleWorkerConnectionEstablished()
    {
        Debug.Log("Handling client worker connection established");

        PlayerLifecycleHelper.AddClientSystems(Worker.World);
        GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World, entityRepresentationMapping);
    }
Exemple #2
0
 public static void AddClientSystems(World world)
 {
     AddLifecycleSystems(world);
     TransformSynchronizationHelper.AddClientSystems(world);
     PlayerLifecycleHelper.AddClientSystems(world);
     GameObjectCreationHelper.EnableStandardGameObjectCreation(world);
 }
        protected override void HandleWorkerConnectionEstablished()
        {
            PlayerLifecycleHelper.AddClientSystems(Worker.World);
            var gameObjectCreator = new GameObjectCreatorFromTransform(WorkerType, transform.position);

            GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World, gameObjectCreator, entityRepresentationMapping);
        }
 protected override void HandleWorkerConnectionEstablished()
 {
     PlayerLifecycleHelper.AddClientSystems(Worker.World);
     TransformSynchronizationHelper.AddClientSystems(Worker.World);
     GameObjectRepresentationHelper.AddSystems(Worker.World);
     GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World);
 }
Exemple #5
0
        protected override void HandleWorkerConnectionEstablished()
        {
            PlayerLifecycleHelper.AddClientSystems(Worker.World);

            Worker.World.AddSystem(new TimeRequestSystem(_ticker));
            Debug.Log("request");
        }
Exemple #6
0
        protected override void HandleWorkerConnectionEstablished()
        {
            PlayerLifecycleHelper.AddClientSystems(Worker.World, false);

            GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World,
                                                                      new AdvancedEntityPipeline(Worker), entityRepresentationMapping);
        }
Exemple #7
0
 protected override void HandleWorkerConnectionEstablished()
 {
     PlayerLifecycleHelper.AddClientSystems(Worker.World);
     // TODO: We'll probably have to enable these once we start building for mobile ~Jorden
     //GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World);
     //TransformSynchronizationHelper.AddClientSystems(Worker.World);
 }
        protected override void HandleWorkerConnectionEstablished()
        {
            PlayerLifecycleHelper.AddClientSystems(Worker.World);
            TransformSynchronizationHelper.AddClientSystems(Worker.World);

            IEntityGameObjectCreator fallbackCreator = new GameObjectCreatorFromMetadata(Worker.WorkerType, Worker.Origin, Worker.LogDispatcher);
            IEntityGameObjectCreator customCreator   = new PlayerGameObjectCreator(fallbackCreator, Worker.World, Worker.WorkerType);

            GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World, customCreator);
        }
        protected override void HandleWorkerConnectionEstablished()
        {
            PlayerLifecycleHelper.AddClientSystems(Worker.World, false);

            var fallback = new GameObjectCreatorFromMetadata(Worker.WorkerType,
                                                             Worker.Origin, Worker.LogDispatcher);

            GameObjectCreationHelper.EnableStandardGameObjectCreation(
                Worker.World,
                new AdvancedEntityPipeline(Worker, AuthPlayer, NonAuthPlayer, fallback));
        }
Exemple #10
0
        protected override void HandleWorkerConnectionEstablished()
        {
            PlayerLifecycleHelper.AddClientSystems(Worker.World);
            GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World, entityRepresentationMapping);

            if (level == null)
            {
                return;
            }

            levelInstance = Instantiate(level, transform.position, transform.rotation);
        }
Exemple #11
0
        private void ConfigurePlayerLifeCycle(Unity.Entities.World world)
        {
            PlayerLifecycleHelper.AddClientSystems(world);
            world.GetOrCreateManager <HandlePlayerHeartbeatRequestSystem>();

            var fallback = new GameObjectCreatorFromMetadata(Worker.WorkerId, Worker.Origin, Worker.LogDispatcher);

            GameObjectCreationHelper.EnableStandardGameObjectCreation(
                world,
                new AdvancedEntityCreationPipeline(
                    Worker, EntityUtils.PlayerEntityType, AuthPlayer, NonAuthPlayer, fallback),
                gameObject);
        }
        protected override void HandleWorkerConnectionEstablished()
        {
            var world = Worker.World;

            PlayerLifecycleHelper.AddClientSystems(world, autoRequestPlayerCreation: false);
            PlayerLifecycleConfig.MaxPlayerCreationRetries = 0;

            var entityPipeline = new AdvancedEntityPipeline(Worker, GetAuthPlayerPrefabPath(), GetNonAuthPlayerPrefabPath());

            entityPipeline.OnRemovedAuthoritativePlayer += RemovingAuthoritativePlayer;

            // Set the Worker gameObject to the ClientWorker so it can access PlayerCreater reader/writers
            GameObjectCreationHelper.EnableStandardGameObjectCreation(world, entityPipeline, gameObject);
        }
        protected override void HandleWorkerConnectionEstablished()
        {
            PlayerLifecycleHelper.AddClientSystems(Worker.World);
            PlayerLifecycleConfig.MaxPlayerCreationRetries = 0;

            entityPipeline = new AdvancedEntityPipeline(Worker, GetAuthPlayerPrefabPath(), GetNonAuthPlayerPrefabPath());
            entityPipeline.OnRemovedAuthoritativePlayer += RemovingAuthoritativePlayer;

            GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World, entityPipeline, gameObject);

            if (level != null)
            {
                levelInstance = Instantiate(level, transform.position, transform.rotation);
            }
        }
Exemple #14
0
 public static void AddClientSystems(World world)
 {
     AddLifecycleSystems(world);
     TransformSynchronizationHelper.AddClientSystems(world);
     PlayerLifecycleHelper.AddClientSystems(world);
     GameObjectCreationHelper.EnableStandardGameObjectCreation(world);
     world.GetOrCreateSystem <ProcessColorChangeSystem>();
     world.GetOrCreateSystem <LocalPlayerInputSync>();
     world.GetOrCreateSystem <MoveLocalPlayerSystem>();
     world.GetOrCreateSystem <InitCameraSystem>();
     world.GetOrCreateSystem <FollowCameraSystem>();
     world.GetOrCreateSystem <UpdateUISystem>();
     world.GetOrCreateSystem <PlayerCommandsSystem>();
     world.GetOrCreateSystem <MetricSendSystem>();
 }
        protected override void HandleWorkerConnectionEstablished()
        {
            PlayerLifecycleHelper.AddClientSystems(Worker.World);

            // 改变状态
            ClientManager.Instance.StateMachine.TriggerTransition(ConnectionFSMStateEnum.StateEnum.CONNECTED);

            // 创建实体的预制件
            var fallbackCreator = new GameObjectCreatorFromMetadata(Worker.WorkerType, Worker.Origin, Worker.LogDispatcher);
            var customCreator   = new EntityGameObjectCreator(fallbackCreator, Worker.World, Worker.WorkerType);

            Debug.Log("HandleWorkerConnectionEstablished!");

            GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World, customCreator);
        }
Exemple #16
0
        protected override void HandleWorkerConnectionEstablished()
        {
            Worker.World.GetOrCreateSystem <MetricSendSystem>();
            PlayerLifecycleHelper.AddClientSystems(Worker.World);
            var gameObjectCreator = new GameObjectCreatorFromTransform(WorkerType, transform.position);

            GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World, gameObjectCreator, entityRepresentationMapping);
            TransformSynchronizationHelper.AddClientSystems(Worker.World);

            // if no level make one....
            if (level == null)
            {
                return;
            }
            levelInstance = Instantiate(level, transform.position, transform.rotation);
        }
 public static void AddClientSystems(World world, UnityEngine.GameObject gameObject, bool autoRequestPlayerCreation = true)
 {
     TransformSynchronizationHelper.AddClientSystems(world);
     PlayerLifecycleHelper.AddClientSystems(world, autoRequestPlayerCreation);
     GameObjectCreationHelper.EnableStandardGameObjectCreation(world, gameObject);
     world.GetOrCreateSystem <ProcessColorChangeSystem>();
     world.GetOrCreateSystem <AdvancedPlayerInputSync>();
     world.GetOrCreateSystem <MoveAdvancedUnitSystem>();
     world.GetOrCreateSystem <InitCameraSystem>();
     world.GetOrCreateSystem <FollowCameraSystem>();
     world.GetOrCreateSystem <InitUISystem>();
     world.GetOrCreateSystem <UpdateUISystem>();
     world.GetOrCreateSystem <PlayerCommandsSystem>();
     world.GetOrCreateSystem <MetricSendSystem>();
     world.GetOrCreateSystem <BulletMovementSystem>();
     world.GetOrCreateSystem <FieldQueryClientSystem>();
 }
        protected override void HandleWorkerConnectionEstablished()
        {
            Worker.World.GetOrCreateSystem <TankMovementSystem>();
            PlayerLifecycleHelper.AddClientSystems(Worker.World);

            var fallbackCreator = new GameObjectCreatorFromMetadata(Worker.WorkerType, Worker.Origin, Worker.LogDispatcher);
            var customCreator   = new CustomGameObjectCreator(fallbackCreator, Worker.World, Worker.WorkerType, Worker.Origin, Worker.LogDispatcher);

            GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World, customCreator);
            TransformSynchronizationHelper.AddClientSystems(Worker.World);

            if (level == null)
            {
                return;
            }
            levelInstance = Instantiate(level, transform.position, transform.rotation);
        }
        protected override void HandleWorkerConnectionEstablished()
        {
            var world = Worker.World;

            PlayerLifecycleHelper.AddClientSystems(world, autoRequestPlayerCreation: false);
            PlayerLifecycleConfig.MaxPlayerCreationRetries = 0;

            var fallback = new GameObjectCreatorFromMetadata(Worker.WorkerType, Worker.Origin, Worker.LogDispatcher);

            // Set the Worker gameObject to the ClientWorker so it can access PlayerCreater reader/writers
            GameObjectCreationHelper.EnableStandardGameObjectCreation(
                world,
                new AdvancedEntityPipeline(Worker, AuthPlayer, NonAuthPlayer, fallback),
                gameObject);

            base.HandleWorkerConnectionEstablished();
        }
Exemple #20
0
        protected override void HandleWorkerConnectionEstablished()
        {
            PlayerLifecycleHelper.AddClientSystems(Worker.World);
            TransformSynchronizationHelper.AddClientSystems(Worker.World);

            // Set the Worker gameObject to the ClientWorker so it can access PlayerCreater reader/writers
            var fallback = new GameObjectCreatorFromMetadata(Worker.WorkerType, Worker.Origin, Worker.LogDispatcher);

            GameObjectCreationHelper.EnableStandardGameObjectCreation(
                Worker.World,
                new AdvancedEntityPipeline(Worker, AuthPlayer, NonAuthPlayer, fallback),
                gameObject);



            JoinButton.GetComponent <Button>().interactable = true;
            JoinButton.SetActive(false);
            LeaveButton.SetActive(true);
        }
Exemple #21
0
 public static void AddClientSystems(World world, bool autoRequestPlayerCreation = true)
 {
     TransformSynchronizationHelper.AddClientSystems(world);
     PlayerLifecycleHelper.AddClientSystems(world, autoRequestPlayerCreation);
     world.GetOrCreateSystem <LocalLockOnSystem>();
     world.GetOrCreateSystem <AimAnimationLocalSystem>();
     world.GetOrCreateSystem <AdvancedPlayerInputSync>();
     world.GetOrCreateSystem <MoveAdvancedUnitSystem>();
     world.GetOrCreateSystem <InitCameraSystem>();
     world.GetOrCreateSystem <FollowCameraSystem>();
     world.GetOrCreateSystem <PlayerCommandsSystem>();
     world.GetOrCreateSystem <MetricSendSystem>();
     world.GetOrCreateSystem <BulletMovementSystem>();
     world.GetOrCreateSystem <FieldQueryClientSystem>();
     world.GetOrCreateSystem <SpawnPointQuerySystem>();
     world.GetOrCreateSystem <UnitUIInfoSystem>();
     world.GetOrCreateSystem <MiniMapUISystem>();
     world.GetOrCreateSystem <LocalTimerUpdateSystem>();
     world.GetOrCreateSystem <SymbolicObjectSystem>();
 }
Exemple #22
0
        public static void AddClientSystems(World world)
        {
            AddLifecycleSystems(world);
            TransformSynchronizationHelper.AddClientSystems(world);
            PlayerLifecycleHelper.AddClientSystems(world);
            GameObjectRepresentationHelper.AddSystems(world);
            GameObjectCreationHelper.EnableStandardGameObjectCreation(world);

            /*
             * world.GetOrCreateManager<ProcessColorChangeSystem>();
             * world.GetOrCreateManager<LocalPlayerInputSync>();
             * world.GetOrCreateManager<MoveLocalPlayerSystem>();
             * world.GetOrCreateManager<InitCameraSystem>();
             * world.GetOrCreateManager<FollowCameraSystem>();
             * world.GetOrCreateManager<InitUISystem>();
             * world.GetOrCreateManager<UpdateUISystem>();
             */
            world.GetOrCreateManager <PlayerCommandsSystem>();
            world.GetOrCreateManager <ProcessPlayerResponseSystem>();//process preauth responses from server

            world.GetOrCreateManager <MetricSendSystem>();
        }
Exemple #23
0
        protected override void HandleWorkerConnectionEstablished()
        {
            PlayerLifecycleHelper.AddClientSystems(Worker.World);
            PlayerLifecycleConfig.MaxPlayerCreationRetries = 0;

            var fallback = new GameObjectCreatorFromMetadata(
                Worker.WorkerType,
                Worker.Origin,
                Worker.LogDispatcher);

            var entityPipeline = new EntityPipeline(
                Worker,
                _authPlayerPrefab,
                _nonAuthPlayerPrefab,
                fallback);

            // Set the Worker gameObject to the ClientWorker so it can access PlayerCreater reader/writers.
            GameObjectCreationHelper.EnableStandardGameObjectCreation(
                Worker.World,
                entityPipeline,
                gameObject);
        }
Exemple #24
0
        protected override void HandleWorkerConnectionEstablished()
        {
            var world = Worker.World;

            PlayerLifecycleHelper.AddClientSystems(world, autoRequestPlayerCreation: false);
            PlayerLifecycleConfig.MaxPlayerCreationRetries = 0;

            var fallback = new GameObjectCreatorFromMetadata(Worker.WorkerType, Worker.Origin, Worker.LogDispatcher);

            entityPipeline = new AdvancedEntityPipeline(Worker, GetAuthPlayerPrefabPath(),
                                                        GetNonAuthPlayerPrefabPath(), fallback);
            entityPipeline.OnRemovedAuthoritativePlayer += RemovingAuthoritativePlayer;

            // Set the Worker gameObject to the ClientWorker so it can access PlayerCreater reader/writers
            GameObjectCreationHelper.EnableStandardGameObjectCreation(world, entityPipeline, gameObject);

            if (UseSessionFlow)
            {
                world.GetOrCreateSystem <TrackPlayerSystem>();
            }

            base.HandleWorkerConnectionEstablished();
        }
 protected override void HandleWorkerConnectionEstablished()
 {
     PlayerLifecycleHelper.AddClientSystems(Worker.World);
 }
Exemple #26
0
 protected override void HandleWorkerConnectionEstablished()
 {
     PlayerLifecycleHelper.AddClientSystems(Worker.World);
     //GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World);
 }