Пример #1
0
        private static void ClearLayers()
        {
            foreach (Guid key in LayerList.Keys)
            {
                Layer layer = LayerList[key];
                layer.CleanUp();
            }

            LayerList.Clear();
            LayerMaps.Clear();
        }
Пример #2
0
 public static void ConnectAllChildren()
 {
     foreach (String key in AllMaps.Keys)
     {
         LayerMap map = AllMaps[key];
         if (String.IsNullOrEmpty(map.Frame.Parent) && !LayerMaps.ContainsKey(map.Frame.Name))
         {
             LayerMaps[map.Name] = map;
         }
         else if (!String.IsNullOrEmpty(map.Frame.Parent) && AllMaps.ContainsKey(map.Frame.Parent))
         {
             if (!AllMaps[map.Frame.Parent].ChildMaps.ContainsKey(map.Frame.Name))
             {
                 AllMaps[map.Frame.Parent].ChildMaps[map.Frame.Name] = map;
             }
         }
     }
 }
Пример #3
0
    public void loadMapFiles(string mapName)
    {
        Vector2i mapDestPos     = new Vector2i(0, 0);
        Vector2i sourceChunkPos = new Vector2i(0, 0);
        // Load map
        var    map  = RB.MapLoadTMX(mapName);
        string path = "Assets/RetroBlit/Resources/map/map-data.json";

        StreamReader reader     = new StreamReader(path);
        String       rawmapdata = reader.ReadToEnd();

        reader.Close();
        // Load json map info and iterate through each object loading the layers from top to bottom //TODO
        LayerMaps layerMaps = Mapper.deserialize <LayerMaps>(rawmapdata);

        foreach (LayerMap m in layerMaps.allMaps)
        {
            RB.MapLoadTMXLayer(map, m.map_layer_name, m.layer);
            RB.SpriteSheetSetup(m.layer, m.sprite_sheet, new Vector2i(32, 32));
            RB.MapLayerSpriteSheetSet(m.layer, m.layer);
        }

        var objects = map.objectGroups[layerMaps.objectLayerName].objects;

        foreach (var curObj in objects)
        {
            //  Make a new badguy for this object
            BadGuy curBadGuy = new BadGuy(curObj.rect.x, curObj.rect.y);
            curBadGuy.size = new Vector2i(16, 16);

            badGuys.Add(curBadGuy);
        }

        // You can load a spritesheet here
        RB.SpriteSheetSetup(0, "MyGame/MySprites", new Vector2i(16, 16));
        RB.SpriteSheetSet(0);

        mapLayers = layerMaps.allMaps;
        mapSize   = map.size * 32;
    }
Пример #4
0
        public static void PurgeLayerMapDeep(LayerMap target, bool topLevel)
        {
            foreach (Layer layer in target.Layers)
            {
                LayerManager.DeleteLayerByID(layer.ID, false, false);
            }

            target.Layers.Clear();

            foreach (string key in target.ChildMaps.Keys)
            {
                LayerMap map = target.ChildMaps[key];
                PurgeLayerMapDeep(map, false);
            }

            target.ChildMaps.Clear();
            if (topLevel)
            {
                if (!String.IsNullOrEmpty(target.Frame.Parent))
                {
                    if (AllMaps.ContainsKey(target.Frame.Parent))
                    {
                        AllMaps[target.Frame.Parent].ChildMaps.Remove(target.Name);
                    }
                }
                else
                {
                    if (LayerMaps.ContainsKey(target.Name))
                    {
                        LayerMaps.Remove(target.Name);
                    }
                }
            }
            AllMaps.Remove(target.Name);
            version++;
        }