public static void Postfix(CaravanArrivalAction_VisitSettlement __instance, Caravan caravan, Settlement ___settlement) { if (!___settlement.HasMap) { LongEventHandler.QueueLongEvent(delegate() { var filePreset = SettlementGeneration.GetPresetFor(___settlement, out LocationDef locationDef); if (filePreset != null) { customSettlementGeneration = true; locationData = new LocationData { file = filePreset, locationDef = locationDef }; } Map orGenerateMap = GetOrGenerateMapUtility.GetOrGenerateMap(___settlement.Tile, null); CaravanEnterMapUtility.Enter(caravan, orGenerateMap, CaravanEnterMode.Edge, 0, true, null); if (filePreset != null) { SettlementGeneration.InitialiseLocationGeneration(orGenerateMap, filePreset, locationDef); } }, "GeneratingMapForNewEncounter", false, null, true); return; } Map orGenerateMap2 = GetOrGenerateMapUtility.GetOrGenerateMap(___settlement.Tile, null); CaravanEnterMapUtility.Enter(caravan, orGenerateMap2, CaravanEnterMode.Edge, 0, true, null); }
public static void Prefix(CaravanArrivalAction_VisitSettlement __instance, Caravan caravan, Settlement ___settlement) { caravanArrival = true; Log.Message("GetOrGenerateMapPatch.caravanArrival true"); }