Exemplo n.º 1
0
        public static List <AssetMap> Import(Cartridge cartridge, string assetTileSheetName, Stream stream)
        {
            List <AssetMap> maps = new List <AssetMap>();

            TmxMap tmxMap = new TmxMap(stream);

            foreach (var layer in tmxMap.Layers)
            {
                var tiles = new MapTileDescriptor[layer.Tiles.Count];

                for (int index = 0; index < layer.Tiles.Count; index++)
                {
                    var tile = layer.Tiles[index];

                    int number = tile.Gid - 1;

                    var isHidden = number == -1;

                    if (isHidden == true)
                    {
                        number = 0;
                    }

                    if (number != 0)
                    {
                    }

                    tiles[index] = new MapTileDescriptor()
                    {
                        number = number, hidden = isHidden, isHorizontalFlipped = tile.HorizontalFlip, isVerticalFlipped = tile.VerticalFlip
                    };
                }

                AssetMap map = AssetMap.Import(
                    cartridge,
                    layer.Name,
                    assetTileSheetName,
                    tmxMap.Width,
                    tmxMap.Height,
                    tiles
                    );

                maps.Add(map);
            }

            return(maps);
        }
Exemplo n.º 2
0
        private static MapTileDescriptor CreateTile(uint encodedTileNumber)
        {
            int number = (int)(encodedTileNumber & 0x1FFFFFFF) - 1;

            var isHidden = number == -1;

            if (isHidden == true)
            {
                number = 0;
            }

            var isHorizontalFlip = (encodedTileNumber & 0x80000000) == 0x80000000;
            var isVerticalFlip   = (encodedTileNumber & 0x40000000) == 0x40000000;

            var tile = new MapTileDescriptor()
            {
                number = number, hidden = isHidden, isHorizontalFlipped = isHorizontalFlip, isVerticalFlipped = isVerticalFlip
            };

            return(tile);
        }
Exemplo n.º 3
0
        private static Animator CreateOpaFlightAnimation()
        {
            Animator animator  = new Animator();
            var      tileSheet = AssetStore.Tiles;

            MapAnimationFrame[] frames = new MapAnimationFrame[3];

            var map = new Map();

            map.Create("OpaFlight1", 2, 2, tileSheet, MapTileDescriptor.HiddenTile);
            map[0, 0] = new MapTileDescriptor(0);
            map[1, 0] = new MapTileDescriptor(1);
            map[0, 1] = new MapTileDescriptor(10);
            map[1, 1] = new MapTileDescriptor(11);
            frames[0] = new MapAnimationFrame(map, 30);

            map = new Map();
            map.Create("OpaFlight2", 2, 2, tileSheet, MapTileDescriptor.HiddenTile);
            map[0, 0] = new MapTileDescriptor(2);
            map[1, 0] = new MapTileDescriptor(3);
            map[0, 1] = new MapTileDescriptor(12);
            map[1, 1] = new MapTileDescriptor(13);
            frames[1] = new MapAnimationFrame(map, 30);

            map = new Map();
            map.Create("OpaFlight3", 2, 2, tileSheet, MapTileDescriptor.HiddenTile);
            map[0, 0] = new MapTileDescriptor(4);
            map[1, 0] = new MapTileDescriptor(5);
            map[0, 1] = new MapTileDescriptor(14);
            map[1, 1] = new MapTileDescriptor(15);
            frames[2] = new MapAnimationFrame(map, 30);

            animator.Initialize(frames);

            return(animator);
        }