static void Postfix(WorldObjectsHolder __instance, WorldObject o)
 {
     if (o is TravelingIncidentCaravan)
     {
         IncidentCaravanUtility.IncidentCaravans.Remove((TravelingIncidentCaravan)o);
         EventManger.NotifyCaravanListChange?.Invoke();
     }
 }
示例#2
0
        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));
        }
示例#3
0
        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();
 }
示例#5
0
 public static bool WorldObjectsHolderTick(WorldObjectsHolder __instance)
 {
     worldObjectsTickList = __instance.worldObjects;
     worldObjectsTicks    = __instance.worldObjects.Count;
     return(false);
 }
示例#6
0
 public static bool WorldObjectsHolderTick(WorldObjectsHolder __instance)
 {
     RimThreaded.worldObjects      = worldObjects(__instance);
     RimThreaded.worldObjectsTicks = worldObjects(__instance).Count;
     return(false);
 }