public static void _OnOpen_Postfix(UIAutoSave __instance) { // Hide AutoSave failed message on clients, since client cannot save in multiplayer CanvasGroup contentCanvas = AccessTools.Field(__instance.GetType(), "contentCanvas").GetValue(__instance) as CanvasGroup; contentCanvas?.gameObject.SetActive(!SimulatedWorld.Initialized || LocalPlayer.IsMasterClient); Log.Warn($"UIAutoSave active: {contentCanvas?.gameObject.activeSelf}"); }
public static void _OnOpen_Postfix(UIAutoSave __instance) { // Hide AutoSave failed message on clients, since client cannot save in multiplayer CanvasGroup contentCanvas = __instance.contentCanvas; if (contentCanvas == null) { return; } contentCanvas.gameObject.SetActive(!Multiplayer.IsActive || Multiplayer.Session.LocalPlayer.IsHost); Log.Warn($"UIAutoSave active: {contentCanvas.gameObject.activeSelf}"); }
public static bool AutoSavePatch_remindBlankSaveCount(ref SaveAction __instance) { Heluo.Logger.LogError("AutoSavePatch_remindBlankSaveCount start"); UIAutoSave uiautoSave = Game.UI.Open <UIAutoSave>(); bool paginationTemp = pagination.Value; pagination.Value = false; List <PathOfWuxiaSaveHeader> list = Game.Platform.ListSaveHeaderFile(GameSaveType.Auto); pagination.Value = paginationTemp; string format = "PathOfWuxia_{0:00}.{1}"; int num = -1; DateTime saveTime = new DateTime(100L); for (int i = 0; i < list.Count; i++) { PathOfWuxiaSaveHeader pathOfWuxiaSaveHeader = list[i]; if (!pathOfWuxiaSaveHeader.HasData) { num = i; break; } if (DateTime.Compare(pathOfWuxiaSaveHeader.SaveTime, saveTime) > 0) { num = ((i + 1 > saveCount.Value - 1) ? 0 : (i + 1)); //存档满了不能只覆盖前20个 saveTime = pathOfWuxiaSaveHeader.SaveTime; } } string filename = string.Format(format, num, "autosave"); Game.GameData.AutoSaveTotalTime = Game.GameData.Round.TotalTime; Game.SaveAsync(filename, null); uiautoSave.Show(); //提示空白存档剩余数量 if (remindBlankSaveCount.Value && saveCount.Value - num - 1 <= 5) { string text = "空白存档数量剩余" + (saveCount.Value - num - 1) + "个,请及时扩容,否则将从头开始覆盖存档"; Game.UI.OpenMessageWindow(text, null, true); } Heluo.Logger.LogError("AutoSavePatch_remindBlankSaveCount end"); return(false); }