コード例 #1
0
 void Start()
 {
     Random.InitState(seed);
     spawnTimer = 0;
     spawnList.GenerateRandomly();
     nextSpawn = spawnList.NextItemAtTime(spawnTimer);
 }
コード例 #2
0
 void Update()
 {
     spawnTimer += Time.deltaTime;
     if (spawnTimer > nextSpawn.time)
     {
         GameObject.Instantiate(nextSpawn.enemyData.prefab, new Vector3(nextSpawn.spawnPosition, transform.position.y, transform.position.z), Quaternion.identity);
         EventLogger.Log(EventLog.EventCode.EnemySpawned(nextSpawn.enemyData.prefab.name, nextSpawn.spawnPosition, transform.position.y));
         nextSpawn = spawnList.NextItemAtTime(spawnTimer + 0.001f);
     }
 }
コード例 #3
0
    public void GenerateRandomly()
    {
        spawnList = new List <EnemySpawnListItem>();
        float spawntime = 0f;

        for (int i = 0; i < 50; ++i)
        {
            spawntime += Random.Range(minSpawnTime, maxSpawnTime);
            float position = Random.Range(minSpawnPosition, maxSpawnPosition);
            float index    = Random.Range(0, enemies.list.Count);
            EnemyList.EnemyData enemyData = enemies.list[(int)index];

            EnemySpawnListItem spawnEvent = new EnemySpawnListItem(spawntime, position, enemyData);

            spawnList.Add(spawnEvent);
        }
    }