コード例 #1
0
        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);
                    }
                }
            }
        }
コード例 #2
0
 public MapInstance(Guid id) : base(id)
 {
     lock (MapLock)
     {
         Autotiles = new MapAutotiles(this);
     }
 }
コード例 #3
0
        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();
            }
        }
コード例 #4
0
        //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);
            }
        }