static void Prefix(JobApplicantManager __instance) { Main.InInitialisePools = true; if (!Main.enabled || Main.settings.RespecInitialPool == 0) { return; } Main.InInitialisePools = true; Main.qualifications.Process(__instance.Qualifications); }
static void Postfix(JobApplicantManager __instance) { if (!Main.enabled || Main.settings.RespecInitialPool == 0) { Main.InInitialisePools = false; return; } foreach (KeyValuePair <StaffDefinition.Type, List <string> > item in pools) { JobApplicantPool pool = __instance.GetJobApplicantPool(item.Key); pool.Applicants.Sort((a, b) => b.Rank - a.Rank); for (int i = 0; i < pool.Applicants.Count; i++) { JobApplicant temp = pool.Applicants[i]; Main.ProcessJobApplicant(ref temp, pools[item.Key][i]); pool.Applicants[i] = temp; } } Main.InInitialisePools = false; }