示例#1
0
    private void Spawn()
    {
        //Instantiate dequeued item, in random spawnpoint
        SpawnPoints nextSpawnPoint = spawnPoints[UnityEngine.Random.Range(0, spawnPoints.Length)];

        Enemy enemy = Instantiate(enemiesController.enemiesToSpawnQueue.First(true), nextSpawnPoint.transform.position, Quaternion.identity);

        OnEnemySpawn?.Invoke(enemy);

        nextSpawnPoint.ActivatePortal();
    }
示例#2
0
    private void Spawn(Vector3 spawnPosition, GameObject nextNode)
    {
        Enemy enemy = _enemyPool.GetObjectFromPool();

        if (enemy == null)
        {
            return;
        }


        enemy.transform.position = new Vector3(RandomizeCoordinate(spawnPosition.x), spawnPosition.y, RandomizeCoordinate(spawnPosition.z));
        var meshRenderers = enemy.GetComponentsInChildren <MeshRenderer>();

        foreach (var renderer in meshRenderers)
        {
            renderer.enabled = true;
        }

        //enemy.setMoveNode(nextNode);

        OnEnemySpawn.Invoke(enemy, nextNode);
    }
示例#3
0
 private void Start()
 {
     OnEnemySpawn?.Invoke();
 }
示例#4
0
 public void SpawnEnemy(GameObject prefab, Vector2 position, float rotation, Vector2 velocity)
 {
     OnEnemySpawn?.Invoke(Spawn(prefab, position, rotation, velocity));
 }
示例#5
0
 public void TriggerEnemySpawnEvent(GameObject enemy)
 {
     OnEnemySpawn?.Invoke(enemy);
 }