Exemple #1
0
        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}");
        }
Exemple #3
0
        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);
        }