//#define TEST_DEATH using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.InputSystem; public class Shoot : MonoBehaviour{ public float[] timeBetweenShots; public Transform[] firePoint; public Transform secondaryFirePoint; PlayerController player; float shotCounter; bool shooting; // Start is called before the first frame update void Start(){ player = GetComponent(); } public void PlayerShoot(InputAction.CallbackContext state){ if (state.performed){ shooting = true; #if TEST_DEATH FindObjectOfType().hp = 0f; #endif } if (state.canceled){ shooting = false; } } // Update is called once per frame void Update(){ if (shooting && player.gunSelected == 0){ shotCounter -= Time.deltaTime; if (shotCounter <= 0){ shotCounter = timeBetweenShots[0]; AudioManager.instance.Play("Shoot"); ObjectPooler.Instance.SpawnFromPool("Bullet", firePoint[0].position, firePoint[0].rotation); player.speed = player.shootingSpeed; } }else if(shooting && player.gunSelected == 1){ shotCounter -= Time.deltaTime; if (shotCounter <= 0){ shotCounter = timeBetweenShots[1]; AudioManager.instance.Play("Shoot"); ObjectPooler.Instance.SpawnFromPool("BigBullet", firePoint[1].position, firePoint[1].rotation); player.speed = player.shootingSpeed; } }else if(shooting && player.gunSelected == 2){ shotCounter -= Time.deltaTime; if (shotCounter <= 0){ shotCounter = timeBetweenShots[2]; AudioManager.instance.Play("Shoot"); ObjectPooler.Instance.SpawnFromPool("Bullet", firePoint[2].position, firePoint[2].rotation); ObjectPooler.Instance.SpawnFromPool("Bullet", secondaryFirePoint.position, secondaryFirePoint.rotation); player.speed = player.shootingSpeed; } }else{ shotCounter = 0; player.speed = player.defaultSpeed; } } }