コード例 #1
0
 public void SpawnWave(int level)
 {
     WavesConfig.Wave wave = wavesConfig.waves[Mathf.Clamp(level, 0, wavesConfig.waves.Length)];
     for (int i = 0; i < wave.numberOfEnemies; i++)
     {
         SpawnEnemyOnNetwork(enemyToSpawn.gameObject, FindFreePosition(), wave);
     }
     if (bossEnemy)
     {
         SpawnEnemyOnNetwork(bossEnemy.gameObject, Vector3.zero);
     }
 }
コード例 #2
0
    void SpawnEnemyOnNetwork(GameObject enemy, Vector3 positionToSpawn, WavesConfig.Wave wave = null)
    {
        GameObject newEnemy = Instantiate(enemy) as GameObject;

        newEnemy.transform.position = positionToSpawn;

        if (wave != null)
        {
            Enemy enemyComponent = newEnemy.GetComponent <Enemy>();
            enemyComponent.speed             = wave.speed;
            enemyComponent.timeBetweenShoots = wave.rateOfFire;
            newEnemy.GetComponent <Weapon>().SetBulletDamage(wave.damage);
        }

        NetworkServer.Spawn(newEnemy);
    }