Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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();
            };
        }