Example #1
0
    // Use this for initialization
    void Start()
    {
        if (ativarItem != null)
        {
            ativarItem.SetActive(false);
        }

        if (ativarItem2 != null)
        {
            ativarItem2.SetActive(false);
        }


        fps              = FindObjectOfType(typeof(FpsController)) as FpsController;
        gameController   = FindObjectOfType(typeof(GameController)) as GameController;
        audioS           = GetComponent <AudioSource>();
        painelEletronico = FindObjectOfType(typeof(EletroicPanel)) as EletroicPanel;
        systemValve      = FindObjectOfType(typeof(SystemValve)) as SystemValve;
        animacao         = GetComponent <Animator>();
    }
 private void Update()
 {
     // serve para quando eu estiver em uma determinada tumba, eu possa atribuir o nome do item que está no meu inventario, para a rosa que esta desativada encima da tumba
     if (this.gameObject.name == "Tumba")
     {
         if (fps.usandoRosa[0])
         {
             if (!temId)
             {
                 SystemValve valve = FindObjectOfType(typeof(SystemValve)) as SystemValve;
                 valve.entradaTumba[0] += 1;
                 temId = true;
             }
             if (fps.rosas[0].GetComponent <ItemInfo>().nomeItem == nomeRosa)
             {
                 fps.rosas[0].GetComponent <ItemInfo>().nomeItem = nomeRosa;
             }
             else
             {
                 string nomeRosaTemporario = fps.rosas[0].GetComponent <ItemInfo>().nomeItem;
                 fps.rosas[0].GetComponent <ItemInfo>().nomeItem = nomeRosaTemporario;
             }
         }
         else
         {
             SystemValve valve = FindObjectOfType(typeof(SystemValve)) as SystemValve;
             valve.entradaTumba[0] = null;
             temId = false;
         }
     }
     else if (this.gameObject.name == "Tumba02")
     {
         if (fps.usandoRosa[1])
         {
             if (!temId)
             {
                 SystemValve valve = FindObjectOfType(typeof(SystemValve)) as SystemValve;
                 valve.entradaTumba[1] += 2;
                 temId = true;
             }
             if (item.nomeItem == nomeRosa)
             {
                 fps.rosas[1].GetComponent <ItemInfo>().nomeItem = nomeRosa;
             }
             else
             {
                 string nomeRosaTemporario = fps.rosas[0].GetComponent <ItemInfo>().nomeItem;
                 fps.rosas[1].GetComponent <ItemInfo>().nomeItem = nomeRosaTemporario;
             }
         }
         else
         {
             SystemValve valve = FindObjectOfType(typeof(SystemValve)) as SystemValve;
             valve.entradaTumba[1] = null;
             temId = false;
         }
     }
     else if (this.gameObject.name == "Tumba03")
     {
         if (fps.usandoRosa[2])
         {
             if (!temId)
             {
                 SystemValve valve = FindObjectOfType(typeof(SystemValve)) as SystemValve;
                 valve.entradaTumba[2] += 3;
                 temId = true;
             }
             if (item.nomeItem == nomeRosa)
             {
                 fps.rosas[2].GetComponent <ItemInfo>().nomeItem = nomeRosa;
             }
             else
             {
                 string nomeRosaTemporario = fps.rosas[0].GetComponent <ItemInfo>().nomeItem;
                 fps.rosas[2].GetComponent <ItemInfo>().nomeItem = nomeRosaTemporario;
             }
         }
         else
         {
             SystemValve valve = FindObjectOfType(typeof(SystemValve)) as SystemValve;
             valve.entradaTumba[2] = null;
             temId = false;
         }
     }
     else if (this.gameObject.name == "Tumba04")
     {
         if (fps.usandoRosa[3])
         {
             if (!temId)
             {
                 SystemValve valve = FindObjectOfType(typeof(SystemValve)) as SystemValve;
                 valve.entradaTumba[3] += 4;
                 temId = true;
             }
             if (item.nomeItem == nomeRosa)
             {
                 fps.rosas[3].GetComponent <ItemInfo>().nomeItem = nomeRosa;
             }
             else
             {
                 string nomeRosaTemporario = fps.rosas[0].GetComponent <ItemInfo>().nomeItem;
                 fps.rosas[3].GetComponent <ItemInfo>().nomeItem = nomeRosaTemporario;
             }
         }
         else
         {
             SystemValve valve = FindObjectOfType(typeof(SystemValve)) as SystemValve;
             valve.entradaTumba[3] = null;
             temId = false;
         }
     }
 }
Example #3
0
    // Update is called once per frame
    void Update()
    {
        if (gameController.currentState != GameState.GAMEPLAY)
        {
            curso.gameObject.SetActive(false);
            Cursor.visible   = true;
            Cursor.lockState = CursorLockMode.None;
            return;
        }
        else
        {
            curso.gameObject.SetActive(true);
            Cursor.visible   = false;
            Cursor.lockState = CursorLockMode.Locked;
        }


        // responsavel pela lanterna
        flashLight();
        // fim da lanterna

        // responsavel pelo efeito da camera
        efeitoCamera();
        // fim do efeito da camera

        Vector3 directionFront = new Vector3(cameraFps.transform.forward.x, 0, cameraFps.transform.forward.z);


        directionFront *= Input.GetAxis("Vertical");

        directionFront.Normalize();


        Vector3 directionRight = new Vector3(cameraFps.transform.right.x, 0, cameraFps.transform.right.z);

        directionRight *= Input.GetAxis("Horizontal");


        Vector3 directionFinal = directionFront + directionRight;

        // controla a movimentação
        if (controller.isGrounded)
        {
            ;
            if (inAir)
            {
                inAir = false;
                audioS.PlayOneShot(landSound);
                idAnimation = 0;
            }
            else
            {
                if (Input.GetAxis("Horizontal") != 0 || Input.GetAxis("Vertical") != 0)
                {
                    if (corrida)
                    {
                        idAnimation = 2;
                    }
                    else
                    {
                        idAnimation = 1;
                    }
                }
                else
                {
                    idAnimation = 0;
                }
            }

            moveDirection = new Vector3(directionFinal.x, 0, directionFinal.z) * moveSpeed;
            if (Input.GetButtonDown("Jump"))
            {
                moveDirection.y = jumpForce;
                audioS.PlayOneShot(jumpSound);
                inAir       = true;
                idAnimation = 3;
            }
        }



        if (Input.GetButtonDown("Correr"))
        {
            moveSpeed = baseSpeed + incremmentSpeed;
            corrida   = true;
        }

        if (Input.GetButtonUp("Correr"))
        {
            moveSpeed = baseSpeed;
            corrida   = false;
        }

        moveDirection.y += Physics.gravity.y * Time.deltaTime;

        controller.Move(moveDirection * Time.deltaTime);

        MyCamController();

        RaycastHit hit;

        if (Physics.Raycast(cameraFps.transform.position, cameraFps.transform.forward, out hit, distanceInterection))
        {
            if (hit.transform.gameObject.tag == "Interacao" || hit.transform.gameObject.tag == "Door" || hit.transform.gameObject.tag == "Coletavel" ||
                hit.transform.gameObject.tag == "Arquivos" || hit.transform.gameObject.tag == "Rosa")
            {
                interaction  = hit.transform.gameObject;
                curso.sprite = imgInteractions[1];
                pegarItens.SetActive(true);
                if (!exibirMensagem)
                {
                    txtInteracao.text = hit.collider.gameObject.GetComponent <MsgInteracao>().messenger;
                }

                // verifica se eu estou colidindo com a tumba
                if (hit.collider.gameObject.name == "Tumba" || hit.collider.gameObject.name == "Tumba01" || hit.collider.gameObject.name == "Tumba02" ||
                    hit.collider.gameObject.name == "Tumba03" || hit.collider.gameObject.name == "Tumba04")
                {
                    nomeTumba = interaction.name; // pega o nome da tumba
                    usarRosa  = true;             // serve para eu poder usar a rosa com o botão usar;
                }

                if (hit.collider.gameObject.name == "Gerador")
                {
                    usarGasolina = true;
                }

                if (hit.collider.gameObject.name == "InteracaoTerminal")
                {
                    usarBateria = true;
                }

                if (hit.collider.gameObject.name == "Cristine Esqueleto")
                {
                    usarAlcool = true;
                }

                if (hit.collider.gameObject.name == "Radio")
                {
                    usarPilha = true;
                }

                if (hit.collider.gameObject.name == "Encaixar Sinalizador")
                {
                    usarSinalizador = true;
                }

                if (hit.collider.gameObject.name == "EPo")
                {
                    usarSinalizador = true;
                }

                if (Input.GetButtonDown("Left Mouse") && interaction != null)
                {
                    if (!mostrarMsg)
                    {
                        msg.SetActive(true);
                        StartCoroutine("esperarMsg");
                        mostrarMsg = true;
                    }



                    // verifica se o objeto que eu estou colidindo tem a tag coletavel
                    if (hit.collider.gameObject.tag == "Coletavel")
                    {
                        audioS.clip = itemSound;
                        audioS.Play();
                        if (hit.collider.gameObject.name == "Sport Camera dae")
                        {
                            if (gameController.chave.Count < gameController.slot.Length)
                            {
                                ativarCamera.SetActive(true);
                                StartCoroutine("mostrarTecla");
                            }
                        }

                        if (hit.collider.gameObject.name == "Chave do Papai")   // verifica se o objeto que eu colidi tem o nome battery
                        {
                            SystemValve valve = FindObjectOfType(typeof(SystemValve)) as SystemValve;
                            if (valve.resolvido) // verifica se eu resolvi o puzzle das valvulas
                            {
                                if (gameController.chave.Count < gameController.slot.Length)
                                {
                                    gameController.chave.Add(interaction);
                                    interaction.SendMessage("interacao");
                                }
                            }
                            else     // se eu não tiver resolvido o puzzle aparece está mensagem
                            {
                                exibirMensagemItem("Desligue a luz para poder pegar");
                            }
                        }
                        else      // se eu não estiver colidindo com a bateria, eu pego o coletavel normalmente
                        {
                            if (gameController.chave.Count < gameController.slot.Length)
                            {
                                gameController.chave.Add(interaction);
                                interaction.SendMessage("interacao");
                            }
                        }
                    }
                    else if (hit.collider.gameObject.tag == "Arquivos")
                    {
                        audioS.clip = arquivoSound;
                        audioS.Play();
                        if (hit.collider.gameObject.name == "Carta do pai")
                        {
                            SystemValve valve = FindObjectOfType(typeof(SystemValve)) as SystemValve;
                            if (valve.resolvido)
                            {
                                if (gameController.arquivos.Count < gameController.slotArquivos.Length)
                                {
                                    gameController.arquivos.Add(interaction);
                                    interaction.SendMessage("interacao");
                                }
                            }
                            else
                            {
                                exibirMensagemItem("Desligue a luz para poder pegar");
                            }
                        }
                        else
                        {
                            if (gameController.arquivos.Count < gameController.slotArquivos.Length)
                            {
                                gameController.arquivos.Add(interaction);
                                interaction.SendMessage("interacao");
                            }
                        }
                    }
                    else if (hit.collider.gameObject.tag == "Rosa")
                    {
                        audioS.clip = itemSound;
                        audioS.Play();
                        if (gameController.chave.Count < gameController.slot.Length)
                        {
                            gameController.chave.Add(interaction);
                            interaction.SendMessage("interacao");
                        }
                        usandoRosa[0] = false;
                        usandoRosa[1] = false;
                        usandoRosa[2] = false;
                        usandoRosa[3] = false;
                        usarRosa      = true;
                    }
                    else
                    {
                        interaction.SendMessage("interacao");
                    }
                }
            }
            else
            {
                curso.sprite = imgInteractions[0];
                pegarItens.SetActive(false);
                txtInteracao.text = null;
                exibirMensagem    = false;
                StopCoroutine("esperarMensagem");
                usarGasolina    = false;
                usarPilha       = false;
                usarAlcool      = false;
                usarBateria     = false;
                usarSinalizador = false;
                nomeTumba       = null;
                interaction     = null;
            }
        }
        else
        {
            curso.sprite = imgInteractions[0];
            pegarItens.SetActive(false);
            txtInteracao.text = null;
            exibirMensagem    = false;
            nomeTumba         = null;
            StopCoroutine("esperarMensagem");
            interaction = null;
        }


        anim.SetInteger("idAnimation", idAnimation);
    }