/// <summary>
 /// Choose new music when a menu is closed.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void MenuEvents_MenuClosed(object sender, StardewModdingAPI.Events.EventArgsClickableMenuClosed e)
 {
     if (menuChangedMusic == true)
     {
         musicManager.selectMusic(SongSpecifics.getCurrentConditionalString());
     }
 }
Esempio n. 2
0
        private void MenuEvents_MenuClosed(object sender, StardewModdingAPI.Events.EventArgsClickableMenuClosed e)
        {
            if (this.lastMenuType == null)
            {
                return;
            }
            else
            {
                /*
                 *  if (lastMenuType == typeof(StardewValley.Menus.SaveGameMenu) ||lastMenuType==typeof(StardewValley.Menus.ShippingMenu))
                 *  {
                 *      SerializationManager.restoreAllModObjects(SerializationManager.trackedObjectList);
                 *
                 *      List<long> playerIds = new List<long>();
                 *      foreach (Farmer f in Game1.getAllFarmers())
                 *      {
                 *          if (f == Game1.player) continue;
                 *          playerIds.Add(f.uniqueMultiplayerID);
                 *
                 *      }
                 *      ModHelper.Multiplayer.SendMessage<string>(MultiplayerSupport.RestoreModObjects, MultiplayerSupport.RestoreModObjects, new string[] { ModManifest.UniqueID }, playerIds.ToArray());
                 *  }
                 */
                //Only fires in multiplayer since ReadyCheckDialogue only appears in multiplayer
                if (lastMenuType == typeof(StardewValley.Menus.ReadyCheckDialog) && Game1.player.canMove == false && Game1.player.isInBed)
                {
                    //ModMonitor.Log("Time to sleep/serialize all objects!");
                    SerializationManager.cleanUpInventory();
                    SerializationManager.cleanUpWorld();
                    SerializationManager.cleanUpStorageContainers();

                    /*
                     * List<long> playerIds = new List<long>();
                     * foreach (Farmer f in Game1.getAllFarmers())
                     * {
                     * if (f == null) continue;
                     *  if (f == Game1.player) continue;
                     *  playerIds.Add(f.uniqueMultiplayerID);
                     *
                     * }
                     */
                    //ModHelper.Multiplayer.SendMessage<string>(MultiplayerSupport.CleanUpModObjects, MultiplayerSupport.CleanUpModObjects, new string[] { ModManifest.UniqueID }, playerIds.ToArray());
                }
            }
        }