Ader Alisma 01 d75a1ec747 Progrès WaveEditor
WaveObserver donne aux spawners les unités à instancier ainsi que l'intervalle de création de ceux-ci

LevelConfig passe de Level vers LevelManager puis il est utilisé dans l'instance de WaveObserver
2023-07-14 19:44:07 -04:00

41 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 _waveConfig;
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);
}
public LevelConfig WaveConfig { get { return _waveConfig; } }
public IEnumerator<TilemapData> GetEnumerator()
{
return _data.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return _data.GetEnumerator();
}
}
}