static void Postfix(ref Quest __result) { if (!MultiplayerWorldComp.asyncTime) { return; } MultiplayerAsyncQuest.CacheQuest(__result); }
static void Prefix(Quest __instance, ref MapAsyncTimeComp __state) { //Make sure quest is accepted and async time is enabled and there are parts to this quest if (__instance.State != QuestState.NotYetAccepted || !MultiplayerWorldComp.asyncTime || __instance.parts == null) { return; } __state = MultiplayerAsyncQuest.CacheQuest(__instance); __state?.PreContext(); }
static void Postfix(ref Quest __result) { if (Multiplayer.Client == null) { return; } if (!Multiplayer.GameComp.asyncTime) { return; } MultiplayerAsyncQuest.CacheQuest(__result); }
static void Postfix() { if (!MultiplayerWorldComp.asyncTime) { return; } MultiplayerAsyncQuest.Reset(); foreach (var quest in Find.QuestManager.QuestsListForReading) { MultiplayerAsyncQuest.CacheQuest(quest); } }