besoin : - le level était loadé directement au moment de cliquer dans le level selector ce qui n'est pas très fenshui solution : - fade out avec nuages - les tuiles tombent à leur place au lieu d'apparaitre toutes en même temps
41 lines
1.1 KiB
C#
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 WaveConfig _waveConfig;
|
|
public void SaveFromTilemap(Tilemap tilemap)
|
|
{
|
|
var data = new TilemapData();
|
|
data.SaveFromTilemap(tilemap);
|
|
_data.Add(data);
|
|
}
|
|
public async void LoadToTilemap(Tilemap tilemap)
|
|
{
|
|
var data = _data.Find(x => x.Key == tilemap.name);
|
|
if (data == null) return;
|
|
|
|
await data.LoadToTilemap(tilemap);
|
|
}
|
|
public WaveConfig WaveConfig { get { return _waveConfig; } }
|
|
|
|
public IEnumerator<TilemapData> GetEnumerator()
|
|
{
|
|
return _data.GetEnumerator();
|
|
}
|
|
|
|
IEnumerator IEnumerable.GetEnumerator()
|
|
{
|
|
return _data.GetEnumerator();
|
|
}
|
|
}
|
|
} |