/// <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>(); }
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); }