protected override void HandleWorkerConnectionEstablished() { Debug.Log("Handling client worker connection established"); PlayerLifecycleHelper.AddClientSystems(Worker.World); GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World, entityRepresentationMapping); }
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); }
protected override void HandleWorkerConnectionEstablished() { PlayerLifecycleHelper.AddClientSystems(Worker.World); Worker.World.AddSystem(new TimeRequestSystem(_ticker)); Debug.Log("request"); }
protected override void HandleWorkerConnectionEstablished() { PlayerLifecycleHelper.AddClientSystems(Worker.World, false); GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World, new AdvancedEntityPipeline(Worker), entityRepresentationMapping); }
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)); }
protected override void HandleWorkerConnectionEstablished() { PlayerLifecycleHelper.AddClientSystems(Worker.World); GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World, entityRepresentationMapping); if (level == null) { return; } levelInstance = Instantiate(level, transform.position, transform.rotation); }
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); } }
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); }
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(); }
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); }
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>(); }
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>(); }
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); }
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); }
protected override void HandleWorkerConnectionEstablished() { PlayerLifecycleHelper.AddClientSystems(Worker.World); //GameObjectCreationHelper.EnableStandardGameObjectCreation(Worker.World); }