/// <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()); } }
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()); } } }