From 62b8bcf3b97c1b7f9186a2cf3a3fea4e7456bc80 Mon Sep 17 00:00:00 2001 From: Niko Fox Date: Fri, 3 Jul 2020 01:53:17 -0700 Subject: [PATCH] don't spawn inbound jobs keeps inbound tracks clear for spawning outbound jobs from other stations --- PersistentJobsMod/Main.cs | 45 +++++---------------------------------- 1 file changed, 5 insertions(+), 40 deletions(-) diff --git a/PersistentJobsMod/Main.cs b/PersistentJobsMod/Main.cs index fe8cbd4..e5fd195 100644 --- a/PersistentJobsMod/Main.cs +++ b/PersistentJobsMod/Main.cs @@ -368,49 +368,14 @@ static void Postfix(StationProceduralJobsController __instance) [HarmonyPatch(typeof(StationProceduralJobGenerator), "GenerateInChainJob")] class StationProceduralJobGenerator_GenerateInChainJob_Patch { - static bool Prefix( - ref JobChainController __result, - StationController ___stationController, - JobType startingJobType, - bool forceFulfilledLicenseRequirements = false) + static bool Prefix(ref JobChainController __result) { if (thisModEntry.Active) { - try - { - if (startingJobType == JobType.ShuntingUnload) - { - Debug.Log("[PersistentJobs] gen in shunting unload"); - __result = ShuntingUnloadJobProceduralGenerator.GenerateShuntingUnloadJobWithCarSpawning( - ___stationController, - forceFulfilledLicenseRequirements, - new System.Random(Environment.TickCount)); - if (__result != null) - { - Debug.Log("[PersistentJobs] finalize in shunting unload"); - __result.FinalizeSetupAndGenerateFirstJob(); - } - return false; - } - Debug.LogWarning(string.Format( - "[PersistentJobs] Got unexpected JobType.{0} in {1}.{2} {3} patch. Falling back to base method.", - startingJobType.ToString(), - "StationProceduralJobGenerator", - "GenerateInChainJob", - "prefix" - )); - } - catch (Exception e) - { - thisModEntry.Logger.Error(string.Format( - "Exception thrown during {0}.{1} {2} patch:\n{3}", - "StationProceduralJobGenerator", - "GenerateInChainJob", - "prefix", - e.ToString() - )); - OnCriticalFailure(); - } + Debug.Log("[PersistentJobs] cancelling inbound job spawning" + + " to keep tracks clear for outbound jobs from other stations"); + __result = null; + return false; } return true; }