using System; using Assets.Common; using UnityEngine; namespace Assets.Map { [Serializable] public class Map { private Graph _sites = new Graph(); public int Seed { get; set; } public Graph Sites { get => _sites; set { _sites = value; foreach (var site in _sites.Vertices) site.Map = this; } } public Mesh Mesh { get; set; } public readonly Metadata Metadata = new Metadata(); public Map(int seed) { Seed = seed; } } [Serializable] public class MapSite { public readonly Metadata Metadata = new Metadata(); [field: NonSerialized] public Map Map { get; internal set; } } }