// Attack with weapon public override GameObject Attack(Vector3 pos, Quaternion rotation) { if (fireRate < timer) { timer = 0; meleeCollider.transform.localScale = new Vector3(1.0f, 1.0f, 1.0f); // Spawn a aabb here if collision occur damage is done GameObject go = Instantiate(meleeCollider, pos, rotation); go.SetActive(true); SoundManager.Instance.PlayOneShot(shootEffect); MeleeCollider meleeScript = go.GetComponent <MeleeCollider>(); if (meleeScript) { meleeScript.SetDamage(damage); } //Debug.Log(pos); //meleeCollider.GetComponent<BoxCollider2D>().offset = new Vector2(0, range); //meleeCollider.GetComponent<BoxCollider2D>().size = new Vector2(1, 1.5f); //meleeCollider.transform.localScale = new Vector3(0.5f, range, 1); isAttack = true; return(go); } return(null); }
void ReadInputs() { if (input.meleeAttackInput && !isMeleeAttack && isGrounded && playerStats.HasStamina(meleeCost)) { isMeleeAttack = true; playerStats.RecieveStamina(meleeCost); } if (isMeleeAttack) { meleeCollScript.SetDamage(meleeDamage); } else { meleeCollScript.SetDamage(0); } if (input.runInput && playerStats.HasStamina(runCost + 5)) { isRunning = true; } else { isRunning = false; } if (input.dodgeInput && !isDodge && isGrounded && !isMeleeAttack) { if (playerStats.HasStamina(dodgeCost)) { isDodge = true; playerStats.RecieveStamina(dodgeCost); anim.SetTrigger("Dodge"); } } if (input.camModeInput) { lockTarget = !lockTarget; } camForward = Vector3.Scale(cam.forward, new Vector3(1, 0, 1)).normalized; camSide = Vector3.Scale(cam.right, new Vector3(1, 0, 1)).normalized; move = input.vertical * camForward + input.horizontal * cam.right; godMode = input.godMode; }