示例#1
0
        public static byte[] GetTileData(Dictionary <string, Dictionary <string, ArrayList> > layerData, short gridX, short gridY)
        {
            if (!LevelContent.VerifyTiles(layerData, gridX, gridY))
            {
                return(null);
            }
            ArrayList tileList = layerData[gridY.ToString()][gridX.ToString()];

            return(new byte[] { byte.Parse(tileList[0].ToString()), byte.Parse(tileList[1].ToString()) });
        }
示例#2
0
        public static ArrayList GetTileDataWithParams(Dictionary <string, Dictionary <string, ArrayList> > layerData, short gridX, short gridY)
        {
            if (!LevelContent.VerifyTiles(layerData, gridX, gridY))
            {
                return(null);
            }
            ArrayList tileObj = layerData[gridY.ToString()][gridX.ToString()];

            // Convert the parameter list from JObject to Dictionary<string, short>
            if (tileObj.Count > 2)
            {
                // If the parameter list is already a Dictionary<string, short>, we don't need to convert it.
                // This can occur if we recently edited the data in the editor.
                if (tileObj[2] is Dictionary <string, short> == false)
                {
                    tileObj[2] = JsonConvert.DeserializeObject <Dictionary <string, short> >(tileObj[2].ToString());
                }
            }

            return(tileObj);
        }