/// <summary> /// Actualiza todos los objetos que estan activos actualmente en escena /// </summary> private void UpdateActive(bool playableLevel) { activeEnemies.Clear(); activeWalls.Clear(); activeTerminals.Clear(); activeDoors.Clear(); if (playableLevel) { // Guardamos los enemigos activeEnemies.AddRange(activeBoard.GetBoardEnemies()); // Guardamos los muros activeWalls.AddRange(activeBoard.GetBoardWalls()); // Guardamos las terminales activeTerminals.AddRange(activeBoard.GetBoardTerminals()); // Guardamos las puertas activeDoors.AddRange(activeBoard.GetBoardDoors()); } // Guardamos el jugador activePlayer = activeBoard.GetPlayer(); // Guardamos la camara activeCamera = activeBoard.GetCamera(); }
// Update is called once per frame void Update() { if (utilizable && (boardScript != null) && (boardScript == gameManager.GetActiveBoard())) { // Actualiza la posición de la pantalla en el canvas BBoard board = gameManager.GetActiveBoard(); Camera cam = board.GetCamera().GetComponent <Camera>(); Vector3 newPos = cam.WorldToScreenPoint(pantalla1.transform.position); testPantalla.transform.position = newPos; // Actualiza la escala de la pantalla para simular la perspectiva float dist = Vector3.Distance(cam.transform.position, this.transform.position); testPantalla.transform.localScale = Vector3.one / dist * 10f; } }
// Update is called once per frame void Update() { active = (boardScript != null) && (boardScript == gameManager.GetActiveBoard()); if (active) { if (numInteracciones == Nivel && hackeable) { hackeable = false; AccionTrasHackear(); transform.Find("CanvasPrueba2/Pantalla/Boton").GetComponent <Button>().interactable = hackeable; //System.Array.Reverse(this.GetComponent<MeshRenderer>().materials); } // Actualiza la posición de la pantalla en el canvas BBoard board = gameManager.GetActiveBoard(); Camera cam = board.GetCamera().GetComponent <Camera>(); Vector3 newPos = cam.WorldToScreenPoint(pantalla1.transform.position); testPantalla.transform.position = newPos; // Actualiza la escala de la pantalla para simular la perspectiva float dist = Vector3.Distance(cam.transform.position, this.transform.position); testPantalla.transform.localScale = Vector3.one / dist * 10f; } else { pantalla1.SetActive(false); testPantalla.SetActive(false); hackeable = false; } if (!activada) { //TODO shader o color ¿gris? } else if (numInteracciones == Nivel) { //TODO shader o color rojo } else { //TODO shader o color verde } }