public void Update() { if (readyPlayers.Contains(Game1.player) && !setPlayers.Contains(Game1.player) && !(Game1.activeClickableMenu is SaveGameMenu) && !(Game1.activeClickableMenu is ShippingMenu)) { ReadyCheckDialog dialog = Game1.activeClickableMenu as ReadyCheckDialog; if (dialog == null || dialog.checkName != Name) { SetLocalReady(ready: false); } } if (requiredPlayers.RetainOnlinePlayers()) { setPlayers.Remove(Game1.player); } if (readyPlayers.RetainOnlinePlayers()) { setPlayers.Remove(Game1.player); } if (containsAllPlayers(readyPlayers)) { if (!setPlayers.Contains(Game1.player)) { setPlayers.Add(Game1.player); } } else if (setPlayers.Contains(Game1.player)) { setPlayers.Remove(Game1.player); } }
internal static void Postfix(ReadyCheckDialog __instance, GameTime time) { if (allready) { __instance.confirm(); } allready = false; }
public static void skipEvent(Event __instance) { try { if (__instance.id == AnimalContestEventBuilder.GetEventId(SDate.Now())) { void OnClose(Farmer who = null) { Game1.exitActiveMenu(); _shouldTimePass = true; if (Context.IsMainPlayer && FarmerLoader.FarmerData != null) { AnimalContestItem lastAnimalContest = FarmerLoader.FarmerData.AnimalContestData.LastOrDefault(); if (lastAnimalContest != null && lastAnimalContest.EventId == __instance.id) { AnimalContestController.EndEvent(lastAnimalContest); } } } if (Game1.IsMultiplayer) { Game1.player.team.SetLocalReady("animalContestEnd", ready: true); if (!Game1.player.team.IsReady("animalContestEnd")) { ReadyCheckDialog readyCheckDialog = new ReadyCheckDialog("animalContestEnd", allowCancel: false, onConfirm: OnClose); Game1.activeClickableMenu = readyCheckDialog; } else { _shouldTimePass = true; } } else { OnClose(); } } } catch (Exception e) { AnimalHusbandryModEntry.monitor.Log($"Error while skipping an event. If it was the Animal Contest, report the problem, otherwise you can ignore this message.", LogLevel.Error); AnimalHusbandryModEntry.monitor.Log($"Details of the error above: {e}", LogLevel.Trace); } }
public static void skipEvent(Event __instance) { if (__instance.id == AnimalContestEventBuilder.GetEventId(SDate.Now())) { void OnClose(Farmer who = null) { Game1.exitActiveMenu(); _shouldTimePass = true; if (Context.IsMainPlayer && FarmerLoader.FarmerData != null) { AnimalContestItem lastAnimalContest = FarmerLoader.FarmerData.AnimalContestData.LastOrDefault(); if (lastAnimalContest != null && lastAnimalContest.EventId == __instance.id) { AnimalContestController.EndEvent(lastAnimalContest); } } } if (Game1.IsMultiplayer) { Game1.player.team.SetLocalReady("animalContestEnd", ready: true); if (!Game1.player.team.IsReady("animalContestEnd")) { ReadyCheckDialog readyCheckDialog = new ReadyCheckDialog("animalContestEnd", allowCancel: false, onConfirm: OnClose); Game1.activeClickableMenu = readyCheckDialog; } else { _shouldTimePass = true; } } else { OnClose(); } } }