static bool Prefix(Thing t, ListerHaulables __instance) { bool shouldhave = t.SpawnedOrAnyParentSpawned && __instance.ShouldBeHaulableExt(t, true); List <Thing> haulables = (List <Thing>) typeof(ListerHaulables).InvokeMember("haulables", BindingFlags.GetField | BindingFlags.Instance | BindingFlags.NonPublic, null, __instance, null); if (shouldhave != haulables.Contains(t)) { if (shouldhave) { haulables.Add(t); } else { haulables.Remove(t); } } return(false); }
static bool Prefix(Thing t, ListerHaulables __instance, ref bool __result) { __result = __instance.ShouldBeHaulableExt(t); return(false); }