protected void UpdateChildDataBundle(SpawnedInjector spawnedInjector, DataBundle newDataBundle) { if (newDataBundle != spawnedInjector.dataBundle) { if (logUpdates) { Debug.Log("DataInjectorCollection: Updating child DataBundle: " + spawnedInjector.dataBundle.id, this); } spawnedInjector.dataBundle = newDataBundle; spawnedInjector.injector?.Inject(spawnedInjector.dataBundle); } }
private void UpdateCurrentChildren() { int i = 0; foreach (DataBundle dataBundle in dataBundleCollection.Value.dataBundles) { SpawnedInjector spawnedInjector = GetSpawnedInjector(dataBundle); UpdateChildDataBundle(spawnedInjector, dataBundle); UpdateChildSiblingIndex(spawnedInjector, i); i++; } }
private void RemoveChild(SpawnedInjector spawnedInjector) { if (logUpdates) { Debug.Log("DataInjectorCollection: Removing child: " + spawnedInjector.injector, this); } if (enableObjectPooling) { DisposeChildToPool(spawnedInjector.injector); } else { spawnedInjector.injector?.DisposeAndDestroy(); } spawnedChildren.Remove(spawnedInjector); }
private void UpdateChildSiblingIndex(SpawnedInjector spawnedInjector, int siblingIndex) { spawnedInjector.injector.transform.SetSiblingIndex(siblingIndex); }