protected override void OnCreateManager(int capacity) { base.OnCreateManager(capacity); worker = WorkerRegistry.GetWorkerForWorld(World); view = worker.View; GenerateComponentGroups(); }
public static void SetWorkerForWorld(WorkerBase worker) { if (WorldToWorker.ContainsKey(worker.World)) { throw new ArgumentException($"A worker is already stored for world '{worker.World.Name}'"); } WorldToWorker[worker.World] = worker; }
public static void UnsetWorkerForWorld(WorkerBase worker) { WorkerBase workerForWorld; if (WorldToWorker.TryGetValue(worker.World, out workerForWorld) && workerForWorld == worker) { WorldToWorker.Remove(worker.World); } }
protected override void OnCreateManager(int capacity) { base.OnCreateManager(capacity); worker = WorkerRegistry.GetWorkerForWorld(World); view = worker.View; dispatcher = new Dispatcher(); SetupDispatcherHandlers(); }
protected override void OnCreateManager(int capacity) { base.OnCreateManager(capacity); worker = WorkerRegistry.GetWorkerForWorld(World); spatialOSSendSystem = World.GetOrCreateManager <SpatialOSSendSystem>(); if (!spatialOSSendSystem.TryRegisterCustomReplicationSystem(typeof(T))) { worker.View.LogDispatcher.HandleLog(LogType.Error, new LogEvent(CustomReplicationSystemAlreadyExists) .WithField(LoggingUtils.LoggerName, LoggerName) .WithField("ComponentType", typeof(T))); } }