static void Postfix(WorldObjectsHolder __instance, WorldObject o) { if (o is TravelingIncidentCaravan) { IncidentCaravanUtility.IncidentCaravans.Remove((TravelingIncidentCaravan)o); EventManger.NotifyCaravanListChange?.Invoke(); } }
public static void AdjustReturnValue(WorldObjectsHolder __instance, int tile, MapParent __result) { //if there wasn't one, or it already wasn't the airship, get out. if (__result == null || !(__result is AirShipWorldObject)) { return; } //rewrite result __result = __instance.MapParents.FirstOrDefault(x => x.Tile == tile && !(x is AirShipWorldObject)); }
private void RemoveAllSettlements() { WorldObjectsHolder objects = Find.WorldObjects; List <Settlement> settlements = new List <Settlement>(objects.Settlements); foreach (var settlement in settlements) { objects.Remove(settlement); if (CustomFactions.CustomIcons.Keys.Contains(selectedSettlement.Name)) { CustomFactions.CustomIcons.Remove(selectedSettlement.Name); } } settlements.Clear(); Messages.Message($"All settlements has been removed", MessageTypeDefOf.NeutralEvent, false); }
static void Prefix(WorldObjectsHolder __instance) { IncidentCaravanUtility.IncidentCaravans.Clear(); EventManger.NotifyCaravanListChange?.Invoke(); }
public static bool WorldObjectsHolderTick(WorldObjectsHolder __instance) { worldObjectsTickList = __instance.worldObjects; worldObjectsTicks = __instance.worldObjects.Count; return(false); }
public static bool WorldObjectsHolderTick(WorldObjectsHolder __instance) { RimThreaded.worldObjects = worldObjects(__instance); RimThreaded.worldObjectsTicks = worldObjects(__instance).Count; return(false); }