IEnumerator delayFire(float delayFireTime) { yield return(new WaitForSeconds(delayFireTime)); if (weapon) { weapon.fire(transform.forward); } }
public override void handleAttack() { GameObject playerGo = GameObject.Find("Player"); if (weapon && playerGo) { Vector3 vec = playerGo.transform.position - transform.position; weapon.fire(vec); } }
public override void handleAttack() { if (m_attackTime < 0 && m_hitTime < 0) { if (m_animator) { m_animator.SetBool("Attack", true); } if (m_agent && m_agent.isOnNavMesh) { m_agent.Stop(); } GameObject playerGo = GameObject.Find("Player"); if (weapon && playerGo) { Vector3 vec = playerGo.transform.position - transform.position; weapon.fire(vec); } m_attackTime = attackTime; } }
// Update is called once per frame void Update() { float horz = Input.GetAxis("Horizontal"); float vert = Input.GetAxis("Vertical"); if (m_dead) { return; } Vector3 vec = Vector3.zero; updateTimers(); vec.x = horz; vec.z = vert; Weapon secondaryWeapon = m_weaponManager.getWeapon(); if (secondaryWeapon && secondaryWeapon.isEmpty()) { m_weaponManager.closeWeapon(); m_currentWeapon = weapon; } Vector3 targetPos; RaycastHit rch; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out rch)) { targetPos = rch.point; targetPos.y = transform.position.y; transform.LookAt(targetPos); } bool moving = false; if (m_fireTime < 0) { if (horz != 0 || vert != 0) { moving = true; } if (m_playerAnimator) { // m_playerAnimator.setShoot(false); } } if (m_playerAnimator) { m_playerAnimator.setMove(moving); } if (Input.GetMouseButton(0)) { if (m_fireTime < 0) { // m_playerAnimator.setShoot(true); if (m_currentWeapon) { m_currentWeapon.fire(m_currentWeapon.transform.forward); } m_fireTime = fireTime; } } else { m_currentWeapon.hideBeam(); } m_controller.Move(vec.normalized * moveSpeed * Time.deltaTime); //transform.position += vec.normalized * moveSpeed * Time.deltaTime; // transform.rotation = Quaternion.AngleAxis(m_dir * 90, Vector3.up); }