Skip to content

Instantly share code, notes, and snippets.

@xiaoxiao921
Last active August 13, 2020 23:27
Show Gist options
  • Save xiaoxiao921/2e4c0546c54baade2631d243b46a71ba to your computer and use it in GitHub Desktop.
Save xiaoxiao921/2e4c0546c54baade2631d243b46a71ba to your computer and use it in GitHub Desktop.
Parser And Format MediaWiki For Items and Equipments ID For RoR2
var stringBuilder = new StringBuilder();
stringBuilder.Append("{| class=\"wikitable\"" + Environment.NewLine +
"|+ Items" + Environment.NewLine +
"! Index" + Environment.NewLine +
"! Code Name" + Environment.NewLine +
"! Real Name" + Environment.NewLine +
"! Tier" + Environment.NewLine +
"! Tags" + Environment.NewLine +
"|-" + Environment.NewLine + Environment.NewLine);
int i = 0;
foreach (var item in ItemCatalog.itemDefs)
{
if (i == (int)ItemIndex.Count)
break;
stringBuilder.Append($"| {i++}{Environment.NewLine}");
stringBuilder.Append($"| {item.itemIndex.ToString()}{Environment.NewLine}");
stringBuilder.Append($"| {Language.GetString(item.nameToken)}{Environment.NewLine}");
string tierString = "No Tier";
switch (item.tier)
{
case ItemTier.Boss:
tierString = "Boss";
break;
case ItemTier.Lunar:
tierString = "Lunar";
break;
case ItemTier.Tier1:
tierString = "White";
break;
case ItemTier.Tier2:
tierString = "Green";
break;
case ItemTier.Tier3:
tierString = "Red";
break;
}
stringBuilder.Append($"| {tierString}{Environment.NewLine}");
for (int j = 0; j < item.tags.Length; j++)
{
var _tag = item.tags[j];
if (j == 0)
{
if (item.tags.Length > 1)
stringBuilder.Append($"| {_tag.ToString()}, ");
else
stringBuilder.Append($"| {_tag.ToString()}{Environment.NewLine}");
}
else if (j < item.tags.Length - 1)
stringBuilder.Append($"{_tag.ToString()}, ");
else
stringBuilder.Append($"{_tag.ToString()}{Environment.NewLine}");
}
if (i == (int) ItemIndex.Count)
{
stringBuilder.Append($"|{Environment.NewLine}");
stringBuilder.Append("|}");
}
else
stringBuilder.Append($"|-{Environment.NewLine}");
}
Logger.LogWarning(stringBuilder);
stringBuilder.Clear();
stringBuilder.Append("{| class=\"wikitable\"" + Environment.NewLine +
"|+ Equipment" + Environment.NewLine +
"! Index" + Environment.NewLine +
"! Code Name" + Environment.NewLine +
"! Real Name" + Environment.NewLine +
"! Tier" + Environment.NewLine +
"|-" + Environment.NewLine + Environment.NewLine);
i = 0;
foreach (var item in EquipmentCatalog.equipmentDefs)
{
if (i == (int)EquipmentIndex.Count)
break;
stringBuilder.Append($"| {i++}{Environment.NewLine}");
stringBuilder.Append($"| {item.equipmentIndex.ToString()}{Environment.NewLine}");
stringBuilder.Append($"| {Language.GetString(item.nameToken)}{Environment.NewLine}");
var tier = item.isLunar ? "Lunar" : "Normal";
stringBuilder.Append($"| {tier}{Environment.NewLine}");
if (i == (int)EquipmentIndex.Count)
{
stringBuilder.Append($"|{Environment.NewLine}");
stringBuilder.Append("|}");
}
else
stringBuilder.Append($"|-{Environment.NewLine}");
}
Logger.LogWarning(stringBuilder);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment