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 SimpleGame() { camera = new Camera(75f * (float)Math.PI / 180, (float)Width / (float)Height, 0.1f, 10000.0f); root = new GameObject(); this.Load += LoadGame; this.RenderFrame += RenderGame; this.Resize += ResizeGame; this.Unload += (object sender, EventArgs e) => { ResourceCleaner.CleanUp(true); }; this.UpdateFrame += (object sender, FrameEventArgs e) => { ResourceCleaner.CleanUp(false); root.Update(e.Time); camera.Update(); }; }