Esempio n. 1
0
 public static void CheckEventDay()
 {
     CustomEvents.Clear();
     if (Context.IsMainPlayer && !DataLoader.ModConfig.DisableAnimalContest && AnimalContestController.IsContestDate())
     {
         AnimalContestController.CleanTemporaryParticipant();
         CustomEvents.Add(AnimalContestEventBuilder.CreateEvent(SDate.Now()));
         DataLoader.Helper.Content.InvalidateCache("Data\\Events\\Town");
         Game1.showGlobalMessage(Game1.content.LoadString("Strings\\StringsFromCSFiles:Game1.cs.2640", DataLoader.i18n.Get("AnimalContest.Message.Name")) + Game1.content.LoadString("Strings\\StringsFromCSFiles:Game1.cs.2637"));
     }
 }
Esempio n. 2
0
 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);
     }
 }
Esempio n. 3
0
        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();
                }
            }
        }