LevelConfig cnotient la liste des ennemies à spawn à un rythme constant ainsi que la durée du jeux EnemyType contient l'ennemi ainsi que la quantité à SpawnerTile Modifications de Level et TilemapData afin d'accéder aux paramètres des Spawners du jeu
40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using System.Collections.Generic;
|
|
using UnityEngine.Tilemaps;
|
|
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
namespace GatherAndDefend.LevelEditor
|
|
{
|
|
public class Level : ScriptableObject, IEnumerable<TilemapData>
|
|
{
|
|
private Rect _bounds;
|
|
public Rect Bounds => _bounds;
|
|
[SerializeField]
|
|
private List<TilemapData> _data = new List<TilemapData>();
|
|
[SerializeField]
|
|
private LevelConfig _levelConfig;
|
|
public void SaveFromTilemap(Tilemap tilemap)
|
|
{
|
|
var data = new TilemapData();
|
|
data.SaveFromTilemap(tilemap);
|
|
_data.Add(data);
|
|
}
|
|
public void LoadToTilemap(Tilemap tilemap)
|
|
{
|
|
var data = _data.Find(x => x.Key == tilemap.name);
|
|
if (data == null) return;
|
|
|
|
data.LoadToTilemap(tilemap, _levelConfig);
|
|
}
|
|
|
|
public IEnumerator<TilemapData> GetEnumerator()
|
|
{
|
|
return _data.GetEnumerator();
|
|
}
|
|
|
|
IEnumerator IEnumerable.GetEnumerator()
|
|
{
|
|
return _data.GetEnumerator();
|
|
}
|
|
}
|
|
} |