Exemple #1
0
    public void SpawnEnemies(int[,] map, int floorX, int floorY)
    {
        for (int i = 0; i < numOfEnemies; i++)
        {
            bool notDone = true;
            while (notDone)
            {
                int   x = MyMath.Range(1, Round.width);
                int   y = MyMath.Range(1, Round.height);
                float distanceToPlayer = Vector2.Distance(new Vector2(x, y), new Vector2(floorX, floorY));
                if (map[x, y] == 0 && distanceToPlayer > 10)
                {
                    int randEnemy = MyMath.Range(0, 2);
                    if (randEnemy == 0)
                    {
                        enemies.Add(Instantiate(ef.BasicEnemy, new Vector2(x + .5f, y + .5f), Quaternion.identity));
                        enemies[i].GetComponent <BasicEnemyController>().PassInfo(map);
                    }
                    else
                    {
                        enemies.Add(Instantiate(ef.TeleportingEnemy, new Vector2(x + .5f, y + .5f), Quaternion.identity));
                        enemies[i].GetComponent <TeleportEnemyController>().PassInfo(map);
                    }

                    notDone = false;
                }
            }
        }
        el.EnemyCount(enemies.Count);
    }