static void Postfix(Verse.Corpse __instance, ref IEnumerable <StatDrawEntry> __result) { // Create a modifyable list List <StatDrawEntry> NewList = new List <StatDrawEntry>(); // copy vanilla entries into the new list foreach (StatDrawEntry entry in __result) { // it's possible to discard entries here if needed NewList.Add(entry); } // custom code to modify list contents // add vanilla leather line just to verify that output is modified StatDef BoneAmount = DefDatabase <StatDef> .GetNamed("BoneAmount", true); float pawnBoneCount = __instance.InnerPawn.GetStatValue(BoneAmount, true) * BoneModSettings.boneFactor; NewList.Add(new StatDrawEntry(BoneAmount.category, BoneAmount, pawnBoneCount, StatRequest.For(__instance.InnerPawn), ToStringNumberSense.Undefined)); // convert list to IEnumerable to match the caller's expectations IEnumerable <StatDrawEntry> output = NewList; // make caller use the list __result = output; }
public abstract void PawnDied(Corpse corpse);