Ejemplo n.º 1
0
	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 ();
	}
Ejemplo n.º 2
0
    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();
    }
Ejemplo n.º 3
0
    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();
        }
    }
Ejemplo n.º 4
0
	public void showScreen(eScreen screenID){
		showScreen (screenID, null);
	}