예제 #1
0
    // ==================
    // public interface
    // ==================
    public SpawnDetails GenerateNewSpawnDetails()
    {
        SpawnDetails details = new SpawnDetails();

        details.position = GenerateSpawnPosition();
        details.rotation = CalculateRotation(details.position);
        //details.startForceDirection = CalculateForceDirection(details.position);

        return(details);
    }
예제 #2
0
    //==================
    // 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));
        }
    }