I am working in a top down view 2D shooter, I am mixing some 3D models and 2D sprites.
I managed to get collision from lasers to the enemies no problem, the part I am stuck at is that I want my enemies to shoot at me. I have a script which is working properly, tank turrets that rotate towards the player and supposedly shoot.
My problem is that when I have 2 or more tanks, only one of the tanks will shoot. I mean, all the tanks aim at the player, but only will shoot. I did notice something, though, every time a new tank is added to the scene, the only tank that shoots seems to do it faster. I think it is shooting according to the number of tanks in the scene and what I want is every thank to shoot on its own.
I will post the code that I have for the what I need.
Any help will be greatly appreciated.
using UnityEngine;
using System.Collections;
public class tankShoots : MonoBehaviour
{
private float baseTime = 30.0f;
private float coolDown = 1.0f;
private float timeReset = 30.0f;
private float zeroTime = 0.0f;
private GameObject tankGun;
public GameObject tankProjectile;
// Use this for initialization
void Start ()
{
tankGun = GameObject.FindGameObjectWithTag("tankGun");
}
// Update is called once per frame
void Update ()
{
tankShooting();
}
void tankShooting()
{
baseTime -= coolDown;
if(baseTime <= zeroTime)
{
Instantiate(tankProjectile, tankGun.transform.position, tankGun.transform.rotation);//tankGun.transform.rotation);
baseTime = timeReset;
}
}
}