// 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; } } }
// 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); }