public void showScreen(eScreen screenID, ArrayList parameters){ // Eliminamos todas las pantallas existentes foreach (var current in screensContainer.GetComponentsInChildren<Transform>()) { if (current.gameObject.name != "Canvas") { GameObject.Destroy(current.gameObject); } } // Determinamos la ruta de la pantalla a cargar string resourcesPath = ""; switch (screenID) { // Main case eScreen.Home: resourcesPath = "Screen/Main/ScreenHome"; break; case eScreen.Parents: resourcesPath = "Screen/Main/ScreenParents"; break; case eScreen.Splash: resourcesPath = "Screen/Main/ScreenSplash"; break; // Minijuegos case eScreen.S1_CreateStory: resourcesPath = "Screen/Minigames/Screen1CreateStory"; break; case eScreen.S2_PuzzleMolas: resourcesPath = "Screen/Minigames/Screen2PuzzleMolas"; break; case eScreen.S3_Iconography: resourcesPath = "Screen/Minigames/Screen3Iconography"; break; case eScreen.S4_HandicraftsAR: resourcesPath = "Screen/Minigames/Screen4HandicraftsAR"; break; case eScreen.S5_Language: resourcesPath = "Screen/Minigames/Screen5Language"; break; } // Cargamos el prefab Object prefab = Resources.Load (resourcesPath); // Lo duplicamos GameObject screenToLoad = GameObject.Instantiate( (GameObject)prefab ); // La cargamos en el container screenToLoad.transform.SetParent (screensContainer.GetComponent<RectTransform> ()); // Configuramos apropiadamente el tamaño screenToLoad.GetComponent<RectTransform> ().offsetMax = Vector2.zero; screenToLoad.GetComponent<RectTransform> ().offsetMin = Vector2.zero; screenToLoad.transform.localScale = Vector3.one; // Le asignamos el nombre original screenToLoad.name = prefab.name; // Le indicamos que comience su inicializacion screenToLoad.GetComponent<iScreen> ().Load (parameters); // Limpieza de memoria prefab = null; System.GC.Collect (); }
private void LoadScreen(eScreen screen) { if (_currentScreen != null) { _currentScreen.Shutdown(); } for (int i = 0; i < _screens.Length; i++) { ShowScreen(_screens[i], false); } _currentScreen = _screens[(int)screen]; ShowScreen(_currentScreen, true); _currentScreen.Init(); }
public void EnableBackButton(eScreen screen, bool enable) { if (screen == eScreen.MAIN_MENU) { return; } Transform t = m_Screens[(int)screen].transform.Find("Back Button"); Button b = t.GetComponent <Button>(); b.enabled = enable; ButtonScript bs = t.GetComponent <ButtonScript>(); if (enable) { bs.SetEnable(); } else { bs.SetDisable(); } }
public void showScreen(eScreen screenID){ showScreen (screenID, null); }