Beispiel #1
0
        /// <summary>
        /// Reads in the json config file with the path <paramref name="filePath"/> and returns a dictionary mapping its IDs to values.
        /// </summary>
        /// <param name="filePath"></param>
        /// <returns></returns>
        public static Dictionary<int, float> ReadStats(string filePath)
        {
            JArray jArray = JArrayReader.ReadJArray(filePath);

            foreach (JToken jToken in jArray.Children())
            {
                GD.PrintS("jtoken reads: " + jToken.ToString());
            }

            return new Dictionary<int, float>();
        }
Beispiel #2
0
        public static void Preload(string statsPath)
        {
            JArray jArray = JArrayReader.ReadJArray(statsPath);

            var allInfo = jArray.Select(token => new DefaultStat(
                                            (int)token[JsonID],
                                            (string)token[JsonName],
                                            (float)token[JsonDefault]
                                            )).ToList();

            foreach (DefaultStat stat in allInfo)
            {
                _stats.Add(stat.id, stat);
                GD.PrintS("Stat has id: " + stat.id + ", name: " + stat.name + ", default: " + stat.defaultVal);
            }
        }
        /// <summary>
        /// Given a path to a spritesheet's accompanying JSON, attempts to open and parse it.
        /// </summary>
        /// <param name="spritePathPrefix"></param>
        /// <returns>A list of SplitSpriteInfo representing the data in the JSON pointed to by the input <paramref name="spritePathPrefix"/>.</returns>
        public static List <SplitSpriteInfo> OpenSplitSpriteJson(this string spritePathPrefix)
        {
            JArray jArray = JArrayReader.ReadJArray(spritePathPrefix + SPRITE_JSON_PATH_SUFFIX);

            var allInfo = jArray.Select(token => new SplitSpriteInfo
            {
                sheetPosition = ((string)token[JSON_SHEET_POS]).StrToVec2(),
                size          = ((string)token[JSON_SIZE]).StrToVec2(),
                splitIndex    = (int)token[JSON_SPLIT_INDEX],
                splitPosition = ((string)token[JSON_SPLIT_POS]).StrToVec2(),
                zIndex        = (int)token[JSON_Z_INDEX],
                animName      = (string)token[JSON_ANIM_NAME],
                animFrame     = (int)token[JSON_ANIM_FRAME]
            }).ToList();

            foreach (SplitSpriteInfo info in allInfo)
            {
                GD.PrintS("sheetPos: " + info.sheetPosition + ", size: " + info.size + ", splitIndex: " + info.splitIndex + ", splitPos: " + info.splitPosition + ", zIndex: " + info.zIndex + ", animName: " + info.animName + ", animFrame: " + info.animFrame);
            }
            return(allInfo);
        }