// ================== // public interface // ================== public SpawnDetails GenerateNewSpawnDetails() { SpawnDetails details = new SpawnDetails(); details.position = GenerateSpawnPosition(); details.rotation = CalculateRotation(details.position); //details.startForceDirection = CalculateForceDirection(details.position); return(details); }
//================== // private helper //================== private IEnumerator GenerateCoroutine() { yield return(new WaitForSeconds(startDelay)); for (int i = 0; i < numGenerate; i++) { SpawnDetails spawnDetails = spawnZone.GenerateNewSpawnDetails(); Vector3 spawnPos = spawnDetails.position; Quaternion spawnRot = spawnDetails.rotation; //Vector3 spawnDirection = spawnDetails.startForceDirection; //Vector3 spawnForce = spawnDirection * Random.Range(minExplosion, maxExplosion); SpermBot newBot = Instantiate(spermBotPrefab, spawnPos, spawnRot) as SpermBot; //newBot.InitEssentialValues(spawnForce); //newBot.BurstWhenReady(); newBot.Burst(); yield return(new WaitForSeconds(spawnInterval)); } }