using System; using UnityEngine; namespace Assets.Common { [Serializable] public class Map { [SerializeField] private Graph<MapSite> _sites = new Graph<MapSite>(); public int Seed { get; } public Graph<MapSite> Sites { get => _sites; set { _sites = value; int i = 0; foreach (var site in _sites.Vertices) { site.Map = this; site.Index = i++; } } } public Graph<Point> Boundaries { get; set; } public readonly Metadata Metadata = new Metadata(); public Map(int seed) { Seed = seed; } } }