Example #1
0
//        protected void LoadFlagColors(Dictionary<string, byte[]> files)
//        {
//            // First thing we do is check for any custom tilemap flag colors
//            byte[] flagTex = null;
//            var flags = "flags.png";
//
//            if (files.ContainsKey(flags)) flagTex = files[flags];
//
//            var imageParser = new PNGReader(flagTex, targetEngine.colorChip.maskColor);
//
//
//            // This will also create the custom flag color chip we need for parsing the tilemap later on
//            AddParser(new FlagColorParser(imageParser, targetEngine));
//        }

        protected void LoadTilemap(Dictionary <string, byte[]> files)
        {
            var tilemapFile     = "tilemap.png";
            var tilemapJsonFile = "tilemap.json";

//            var colorOffsetFile = "tile-color-offsets.json";

            // TODO should this be manually called?
            // Make sure we have the flag color chip
//            LoadFlagColors(files);

//            var tilemapExists = false;

            // If a tilemap json file exists, try to load that
            if (files.ContainsKey(tilemapJsonFile))
            {
                var fileContents = Encoding.UTF8.GetString(files[tilemapJsonFile]);

                var jsonParser = new TilemapJsonParser(fileContents, targetEngine);

                AddParser(jsonParser);

//                tilemapExists = true;
            }
            else if (files.ContainsKey(tilemapFile))
            {
                // If a tilemap file exists, load that instead
//                var tex = ReadTexture(files[tilemapFile]);
                byte[] tileFlagTex = null;


//                var tileFlags = "tilemap-flags.png";
//
//
//                if (files.ContainsKey(tileFlags)) tileFlagTex = files[tileFlags];


                var imageParser = new PNGReader(files[tilemapFile], targetEngine.colorChip.maskColor);
                AddParser(new TilemapParser(imageParser, tileFlagTex, targetEngine));

//                var colorFile = "tile-color-offsets.json";
//
//                if (files.ContainsKey(colorFile))
//                {
//                    colorTex = ReadTexture(files[colorFile]);
//                }
//                tilemapExists = true;
            }

            // Always load the color offset parser
//            if (files.ContainsKey(colorOffsetFile) && tilemapExists)
//            {
//                var fileContents = Encoding.UTF8.GetString(files[colorOffsetFile]);
//
//                AddParser(new TileColorOffsetJson(fileContents, targetEngine));
//            }


//            return null;
        }
Example #2
0
        protected void LoadTilemap(string[] files)
        {
            // If a tilemap json file exists, try to load that
            var file = files.FirstOrDefault(x => x.EndsWith("tilemap.json"));

            if (!string.IsNullOrEmpty(file))
            {
                // var fileContents = Encoding.UTF8.GetString(ReadAllBytes(file));

                var jsonParser = new TilemapJsonParser(file, _fileLoadHelper, targetEngine);

                AddParser(jsonParser);

                return;
            }

            // Try to load the tilemap png file next
            file = files.FirstOrDefault(x => x.EndsWith("tilemap.png"));

            if (!string.IsNullOrEmpty(file))
            {
                var imageParser = new PNGFileReader(file, _fileLoadHelper, targetEngine.ColorChip.maskColor);
                AddParser(new TilemapParser(imageParser, targetEngine.ColorChip, targetEngine.SpriteChip, targetEngine.TilemapChip));
            }
        }