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); }
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); } }
public void Set_Data(LevelEnemyData levelEnemyData) { this.levelEnemyData = levelEnemyData; SceneManager.LoadScene("Main"); }