private void CreateEntry(StreamWriter fs, SaintCoinach.Xiv.Item item) { string[] itemStr = new string[item.SourceRow.Sheet.Header.ColumnCount]; int itemStrIndex = 0; foreach (var col in item.SourceRow.Sheet.Header.Columns) { // insert col key, {"name"} : itemStr[itemStrIndex] += WrapStringInBrackets(WrapStringInQuotes(col.Name)); itemStr[itemStrIndex] += ":"; // insert col key, {"name"} : var colRaw = item.ColumnValues().ElementAt(itemStrIndex); if (colRaw == null) { itemStr[itemStrIndex] += WrapStringInBrackets("null"); } else if (colRaw.GetType().Equals(typeof(SaintCoinach.Text.XivString))) { // insert col child(ren), {"name"} : {"Water Crystal"} SaintCoinach.Text.XivString colVal = (SaintCoinach.Text.XivString)colRaw; itemStr[itemStrIndex] += CreateFormattedStringWithBracketEnclosement(colVal.Children); } else { itemStr[itemStrIndex] += WrapStringInBrackets(WrapStringInQuotes(colRaw.ToString())); } itemStrIndex++; } finalizeWriteToFile(fs, itemStr); }
static void PopulateEntry(ActionEntry entry, List <SaintCoinach.Text.INode> actionElements) { var dataString = new SaintCoinach.Text.XivString(actionElements.ToArray()).ToString(); PopulateElement(dataString, potencyRegex, out entry.Potency); PopulateElement(dataString, rearPotencyRegex, out entry.RearPotency); PopulateElement(dataString, flankPotencyRegex, out entry.FlankPotency); PopulateElement(dataString, frontPotencyRegex, out entry.FrontPotency); PopulateElement(dataString, comboPotencyRegex, out entry.ComboPotency); PopulateElement(dataString, curePotencyRegex, out entry.CurePotency); PopulateElement(dataString, restoresRegex, out entry.RestorePercentage); }