Esempio n. 1
0
    public void SpawnAsteroid(GameObject asteroid, SpaceEnemyObject settings)
    {
        Asteroid aster = asteroid.GetComponent <Asteroid>();

        aster.Health      = settings.Health;
        aster.DamageLevel = settings.DamageLevel;
        aster.Speed       = settings.Speed;
    }
Esempio n. 2
0
    public void SpawnEnemy(GameObject enemy, SpaceEnemyObject settings)
    {
        Enemy enem = enemy.GetComponent <Enemy>();

        enem.StalkForPlayer(_player);
        enem.Health      = settings.Health;
        enem.DamageLevel = settings.DamageLevel;
        enem.Speed       = settings.Speed;
    }
Esempio n. 3
0
    public IEnumerator Spawn(SpawnerSettings settings, Action <GameObject, SpaceEnemyObject> action)
    {
        yield return(new WaitForSeconds(settings.StartWait));

        while (true)
        {
            for (int i = 0; i < settings.Count; i++)
            {
                // get random point
                Transform spawnPoint = GetRandomPoint(settings.SpawnPoints);

                // get random obj
                int objectId = GetRandomId(settings.Objects);
                SpaceEnemyObject spaceObj = settings.Objects[objectId];
                GameObject       obj      = Instantiate(spaceObj.Prefab, spawnPoint.position, spawnPoint.rotation);
                ScoreKeeper      score    = obj.AddComponent <ScoreKeeper>();
                score.SetScore(spaceObj.Score);
                action(obj, spaceObj);

                yield return(new WaitForSeconds(settings.SpawnWait));
            }
            yield return(new WaitForSeconds(settings.WaveWait));
        }
    }