void Start() { Cursor.lockState = CursorLockMode.Locked; Cursor.visible = false; armaFogo = false; comboTempoAtual = comboTempoPadrao; comboEstado = ComboPicareta.none; picaretaGO[0].SetActive(false); picaretaGO[1].SetActive(true); abaixado = false; AnimaBool("Abaixar", abaixado); selecionaArma = SelecionaArma.none; }
void Update() { if (Input.GetMouseButton(1)) { if (!mirando) { animator.SetTrigger("AtivaMira"); } mirando = true; animator.SetBool("Mirando", mirando); } else { mirando = false; animator.SetBool("Mirando", mirando); } if (picareta) { animator.SetLayerWeight(2, 1); } else { animator.SetLayerWeight(2, 0); } if (armaGatilho) { limite2 += Time.deltaTime * 2; limite2 = Mathf.Clamp(limite2, 0, 1); animator.SetLayerWeight(4, limite2); } else { limite2 -= Time.deltaTime * 2; limite2 = Mathf.Clamp(limite2, 0, 1); animator.SetLayerWeight(4, limite2); } if (controller.isGrounded) { tempoAr = 2; AnimaBool("NoChao", true); CalculoMovimentoAng(); if (Input.GetKeyDown(KeyCode.Space)) { moveDir.y = puloForca; AnimaBool("NoChao", false); noAr = true; } noAr = false; } else { tempoAr -= Time.deltaTime; if (tempoAr < 1.6f) { AnimaBool("NoChao", false); noAr = true; } } moveDir.y -= gravidade * Time.deltaTime; controller.Move(moveDir); if (Input.GetKeyDown(KeyCode.LeftControl)) { DefineAnimacaoAbaixar(); } //PICARETA if (Input.GetKeyDown(KeyCode.Z)) { selecionaArma = SelecionaArma.picareta; picareta = !picareta; animator.SetTrigger("ARMADO"); } //RIFLE if (Input.GetKeyDown(KeyCode.X)) { selecionaArma = SelecionaArma.rifle; rifleBool = !rifleBool; animator.SetTrigger("ARMADO"); } if (picareta) { if (Input.GetMouseButtonDown(0)) { if (comboEstado == ComboPicareta.golpe2) { return; } comboEstado++; ativaTempoReset = true; comboTempoAtual = comboTempoPadrao; if (comboEstado == ComboPicareta.golpe1) { AnimaBool("GOLPE1", true); } if (comboEstado == ComboPicareta.golpe2) { AnimaBool("GOLPE2", true); } } ResetCombo(); if (moveX != 0 || moveZ != 0) { limite += Time.deltaTime * 5; limite = Mathf.Clamp(limite, 0, 1); animator.SetLayerWeight(1, limite); } else if (moveX == 0 && moveZ == 0) { limite -= Time.deltaTime * 5; limite = Mathf.Clamp(limite, 0, 1); animator.SetLayerWeight(1, limite); } } RotacaoParado(); if ((moveX != 0 || moveZ != 0) && Slop()) { controller.Move(Vector3.down * controller.height / 2 * slopForce * Time.deltaTime); } }