public static RegionSerial GetSerial(this Region r) { if (r == null) { return(null); } if (r is PreviewRegion) { return(((PreviewRegion)r).Serial); } lock (_Regions) { if (_Regions.ContainsValue(r)) { return(_Regions.GetKey(r)); } var s = new RegionSerial(r); _Regions.AddOrReplace(s, r); //Console.WriteLine("Region Serial: ('{0}', '{1}', '{2}') = {3}", r.GetType().Name, r.Map, r.Name, s.ValueHash); return(s); } }
public PreviewRegion(string name, Map map, params Rectangle3D[] area) : base(name + " " + _UID++, map, null, area) { Serial = new RegionSerial(this); EnsureDefaults(); }