private void ShowCritterChecklist(ColonyAchievementRequirement req) { CritterTypesWithTraits critterTypesWithTraits = req as CritterTypesWithTraits; if (req != null) { foreach (KeyValuePair <Tag, bool> item in critterTypesWithTraits.critterTypesToCheck) { HierarchyReferences nextRequirementWidget = GetNextRequirementWidget(); if (item.Value) { SetIcon(statusSuccessIcon, Color.green, nextRequirementWidget); } else { ShowIcon(false, nextRequirementWidget); } SetDescription(string.Format(COLONY_ACHIEVEMENTS.MISC_REQUIREMENTS.STATUS.TAME_A_CRITTER, item.Key.Name.ProperName()), nextRequirementWidget); } } }
public static List <string> CritterWhispererFormatter(ColonyAchievementStatus cas) { List <string> outStrings = new List <string>(); CritterTypesWithTraits __instance = (CritterTypesWithTraits)cas.Requirements.Find(s => s is CritterTypesWithTraits); var priv = Traverse.Create(__instance); Dictionary <Tag, bool> tameDict = (Dictionary <Tag, bool>)priv.Field("critterTypesToCheck").GetValue(); foreach (KeyValuePair <Tag, bool> keyValuePair in tameDict) { string localizeName = GetLocalizedName(keyValuePair.Key); string output = string.Format("Critter:{0}, Tamed: {1}", localizeName, keyValuePair.Value); outStrings.Add(output); } return(outStrings); }