private void onPrefabLoaded(GameObject popupPrefab, PrefabContentKey prefabContentKey, string accessibilityTitleToken, bool useCameraSpace, PrefabInstantiatedCallback instantiatedCallback) { GameObject gameObject = Object.Instantiate(popupPrefab); if (gameObject.GetComponentInChildren <UIDisabler>() == null) { disableWorldRendering(); } ResourceCleaner resourceCleaner = gameObject.GetComponent <ResourceCleaner>(); if (resourceCleaner == null) { resourceCleaner = gameObject.AddComponent <ResourceCleaner>(); } if (!cleaners.ContainsKey(popupPrefab)) { cleaners.Add(popupPrefab, resourceCleaner); } resourceCleaner.OnDestroyCallback = onFullScreenObjectDestroyed; if (!useCameraSpace) { gameObject.transform.SetParent(base.transform, worldPositionStays: false); playAccessibilityTitle(accessibilityTitleToken); } else { Service.Get <EventDispatcher>().DispatchEvent(new PopupEvents.ShowCameraSpacePopup(gameObject, destroyPopupOnBackPressed: false, scaleToFit: true, accessibilityTitleToken)); } instantiatedCallback?.Invoke(prefabContentKey, gameObject); Service.Get <EventDispatcher>().DispatchEvent(default(PopupEvents.ShowingPopup)); }
public void CreatePopup(PrefabContentKey prefabContentKey, string accessibilityTitleToken, bool useCameraSpace = false, PrefabInstantiatedCallback instantiatedCallback = null) { Content.LoadAsync(delegate(string path, GameObject popupPrefab) { onPrefabLoaded(popupPrefab, prefabContentKey, accessibilityTitleToken, useCameraSpace, instantiatedCallback); }, prefabContentKey); }