public void Load(string mapJson, bool import = false, bool clearEvents = true) { lock (MapLock) { var up = Up; var down = Down; var left = Left; var right = Right; base.Load(mapJson); if (import) { Up = up; Down = down; Left = left; Right = right; } Autotiles = new MapAutotiles(this); //Initialize Local Events if (clearEvents) { LocalEvents.Clear(); foreach (var id in EventIds) { var evt = EventBase.Get(id); LocalEvents.Add(id, evt); } } } }
public MapInstance(Guid id) : base(id) { lock (MapLock) { Autotiles = new MapAutotiles(this); } }
public MapInstance(MapBase mapStruct) : base(mapStruct) { lock (MapLock) { Autotiles = new MapAutotiles(this); if (typeof(MapInstance) == mapStruct.GetType()) { MapGridX = ((MapInstance)mapStruct).MapGridX; MapGridY = ((MapInstance)mapStruct).MapGridY; } InitAutotiles(); } }
//Load public void Load(string json) { LocalEntitiesToDispose.AddRange(LocalEntities.Keys.ToArray()); JsonConvert.PopulateObject( json, this, new JsonSerializerSettings { ObjectCreationHandling = ObjectCreationHandling.Replace } ); MapLoaded = true; Autotiles = new MapAutotiles(this); OnMapLoaded += HandleMapLoaded; if (MapRequests.ContainsKey(Id)) { MapRequests.Remove(Id); } }