void IGun.fire()
    {
        rocketDelay = rocketDelay - Time.deltaTime;
        if (rocketDelay <= 0)
        {
            rocketDelay = maxDelay;
            GameObject tempBulletHandler;
            GameObject tempEnemy = findClosestEnemy();
            //displacement = tempEnemy.transform.position - transform.position;
            //distance = displacement.magnitude;
            distance = Vector3.Distance(tempEnemy.transform.position, transform.position);

            if (distance < rocketRange && tempEnemy.layer == 8)
            {
                if (tempEnemy != null)
                {
                    tempBulletHandler = Instantiate(Rocket, gameObject.transform.position, gameObject.transform.rotation) as GameObject;
                    HRocketAI temp = tempBulletHandler.GetComponent <HRocketAI>();
                    temp.setTarget(tempEnemy);
                    isLoaded = false;
                    Destroy(tempBulletHandler, rocketLifetime);
                    weaponSystem.manageSecondaryAmmo(ammoUsage);
                }
                else
                {
                    Debug.Log("No Enemy Lock");
                }
            }
        }
    }
Exemple #2
0
 void OnTriggerEnter(Collider playerShip)
 {
     if (playerShip.CompareTag("Player"))
     {
         WeaponSystems playerWeapons = playerShip.GetComponent <WeaponSystems>();
         playerWeapons.manageSecondaryAmmo(ammoRestore);
         DestroyObject(gameObject);
     }
 }