Example #1
0
    List <Wall> Serialize_Wall_Tile_Data(
        List <WallTile> real_walls,
        List <Wall> data_walls,
        LevelEnemyData level_enemy_data)
    {
        data_walls.Clear();

        for (int i = 0; i < real_walls.Count; i++)
        {
            Wall aux = new Wall();
            aux.position               = real_walls[i].transform.position;
            aux.rotation               = real_walls[i].transform.rotation;
            aux.frontPosition          = real_walls[i].frontPosition.position;
            aux.scale                  = real_walls[i].transform.localScale;
            aux.tile_sprite_color      = real_walls[i].wallSprite.color;
            aux.component_sprite_color = real_walls[i].componentSprite.color;
            aux.door = real_walls[i].doorDirection;

            if (real_walls[i].componentSprite.sprite != null)
            {
                aux.component_sprite_name = real_walls[i].componentSprite.sprite.name;
            }
            if (real_walls[i].wallSprite.sprite != null)
            {
                aux.tile_sprite_name = real_walls[i].wallSprite.sprite.name;
            }

            data_walls.Add(aux);
        }

        return(data_walls);
    }
    public Level GenerateRandomLevel()
    {
        List <LevelEnemyData>    e = new List <LevelEnemyData>();
        List <LevelAsteroidData> a = new List <LevelAsteroidData>();
        int enemyCount             = Random.Range(3, 6);
        int asteroidCount          = Random.Range(3, 6);

        var enemyTypesList    = Root.DataManager.GetEnemiesData().enemyTypes;
        var asteroisTypesList = Root.DataManager.GetEnemiesData().asteroidTypes;

        for (int i = 0; i < enemyCount; i++)
        {
            LevelEnemyData e_data = new LevelEnemyData();
            e_data.enemyType = enemyTypesList[Random.Range(0, enemyTypesList.Count)];
            e_data.count     = 1;
            e.Add(e_data);
        }

        for (int i = 0; i < asteroidCount; i++)
        {
            LevelAsteroidData a_data = new LevelAsteroidData();
            a_data.asteroidType = asteroisTypesList[Random.Range(0, asteroisTypesList.Count)];
            a_data.count        = 1;
            a.Add(a_data);
        }

        Level l = new Level(e, a, LevelState.Opened);

        return(l);
    }
Example #3
0
    public void Spawn(LevelEnemyData enemyData)
    {
        Despawn_Enemies();

        if (enemyData == null)
        {
            return;
        }

        foreach (Vector2 vec in enemyData.enemies)
        {
            GameObject go = Instantiate(enemyPrefab, vec, Quaternion.identity);
            go.transform.SetParent(enemyContainer);
        }
    }
Example #4
0
 public void Set_Data(LevelEnemyData levelEnemyData)
 {
     this.levelEnemyData = levelEnemyData;
     SceneManager.LoadScene("Main");
 }