Exemplo n.º 1
0
    /// <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();
    }
Exemplo n.º 2
0
    // 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;
        }
    }
Exemplo n.º 3
0
    // 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
        }
    }