public static void Prefix(ExchangeDirector __instance)
 {
     foreach (ExchangeDirector.Rancher rancher in ExchangeOfferRegistry.customRanchers.Keys)
     {
         __instance.ranchers = __instance.ranchers.AddToArray(rancher);
     }
     foreach ((ExchangeDirector.Category, Identifiable.Id[])cat in ExchangeOfferRegistry.customCategories.Keys)
     {
         __instance.catDict.Add(cat.Item1, cat.Item2);
     }
     foreach (ExchangeDirector.UnlockList list in ExchangeOfferRegistry.customUnlocks.Values)
     {
         if (list.unlock == ProgressDirector.ProgressType.NONE)
         {
             __instance.initUnlocked = __instance.initUnlocked.AddRangeToArray(list.ids);
         }
         else
         {
             __instance.unlockLists = __instance.unlockLists.AddToArray(list);
         }
     }
     foreach (KeyValuePair <Identifiable.Id, float> d in ExchangeOfferRegistry.customUnlockValues)
     {
         __instance.valueDict[d.Key] = d.Value;
     }
 }
 public static void Prefix(ExchangeDirector __instance)
 {
     if (!__instance.worldModel.currOffers.ContainsKey(ExchangeDirector.OfferType.GENERAL))
     {
         return;
     }
     if (__instance.GetRancher(__instance.worldModel.currOffers[ExchangeDirector.OfferType.GENERAL].rancherId) == null)
     {
         __instance.ClearOffer(ExchangeDirector.OfferType.GENERAL);
     }
 }