private GameObject TranslateGeneralRoad()
    {
        GameObject generalRoad;

        if (previousRoadTile == null)
        {
            generalRoad = roadPooler.Spawn("TDR_Begin_1", Vector3.zero, Quaternion.identity);
        }
        else
        {
            generalRoad = roadPooler.Spawn(previousRoadTile.NextRoadTileCapabilitiesHolder.GetNextRandomWeightedRoadTileName());

            ///for cinema
        }
        previousRoadTile = generalRoad.GetComponent <RoadTile>();
        previousRoadTile.ResetPhysicalEnvironment(allSpawnedRoadLength);
        generalRoad.transform.localPosition = Vector3.forward * allSpawnedRoadLength;

        //roadPooler.Spawn(previousRoadTile.NextRoadTileCapabilitiesHolder.GetNextRandomWeightedRoadTileName()).transform.localPosition = generalRoad.transform.localPosition + Vector3.right * 81.45f;
        //roadPooler.Spawn(previousRoadTile.NextRoadTileCapabilitiesHolder.GetNextRandomWeightedRoadTileName()).transform.localPosition = generalRoad.transform.localPosition - Vector3.right * 81.45f;

        //roadPooler.Spawn(previousRoadTile.NextRoadTileCapabilitiesHolder.GetNextRandomWeightedRoadTileName()).transform.localPosition = generalRoad.transform.localPosition + Vector3.right * 81.45f * 2;
        //roadPooler.Spawn(previousRoadTile.NextRoadTileCapabilitiesHolder.GetNextRandomWeightedRoadTileName()).transform.localPosition = generalRoad.transform.localPosition - Vector3.right * 81.45f * 2;

        allSpawnedRoadLength += roadLength;

        StartCoroutine(PhysicsBoundariesRebuild());

        return(generalRoad);
    }
Beispiel #2
0
    public void Launch(TargetData targetData)
    {
        this.targetData = targetData;

        isLaunched = true;

        trail = effectPooler.Spawn(rocketTrailName, transform.position, transform.rotation);
        trail.GetComponent <CachedParticles>().PlayParticles();

        StartCoroutine(AutoDestruction());
    }
Beispiel #3
0
    public void Fire()
    {
        if (Time.time >= fireTimer && targetIsVisible)
        {
            fireTimer = Time.time + gunData.rateofFire + Random.Range(0.01f, 0.05f) - rateOfFireImprove;

            for (int i = 0; i < gunsBarrels.Length; i++)
            {
                battleUnitPooler.Spawn(gunData.battleUnit, gunsBarrels[i].position, bulletSpreadedRotation);
                fireEffect[i].PlayParticles();
            }

            //turretShotSource.PlayOneShot(turretShotSource.clip);
            if (!turretShotSource.isPlaying)
            {
                turretShotSource.Play();
            }
        }

        if (battleType == GameEnums.BattleType.Tracking)
        {
            LookAtTarget();
        }

        CalculateBulletsSpread();
    }
Beispiel #4
0
 private void Death()
 {
     for (int i = 0; i < explosionCount; i++)
     {
         randomExplosionPosition.x = Random.Range(-explosionCount / 5, explosionCount / 5);
         randomExplosionPosition.y = Random.Range(-explosionCount / 1, explosionCount / 2);
         randomExplosionPosition.z = Random.Range(-explosionCount / 3, explosionCount / 3);
         effectPooler.Spawn(bigExplosionName, transform.position + randomExplosionPosition, Quaternion.identity).GetComponent <CachedParticles>().PlayParticles();
     }
     gameObject.SetActive(false);
 }
Beispiel #5
0
    public void Fire()
    {
        if (Time.time >= fireTimer)
        {
            fireTimer = Time.time + gunData.rateofFire + Random.Range(0.01f, 0.05f);

            for (int i = 0; i < gunsBarrels.Length; i++)
            {
                battleUnitPooler.Spawn(gunData.battleUnit, gunsBarrels[i].position, bulletSpreadedRotation);
            }
        }

        CalculateBulletsSpread();
    }
Beispiel #6
0
    public void Fire()
    {
        if (Time.time >= fireTimer && targetIsVisible)
        {
            fireTimer = Time.time + gunData.rateofFire;

            for (int i = 0; i < gunsBarrels.Length; i++)
            {
                battleUnitPooler.Spawn(gunData.battleUnit, gunsBarrels[i].position, gunsBarrels[i].rotation).GetComponent <Rocket>().Launch(targetData);
            }
            if (!rocketLaunchSource.isPlaying)
            {
                rocketLaunchSource.Play();
            }
        }

        if (battleType == GameEnums.BattleType.Tracking)
        {
            LookAtTarget();
        }
    }