Skip to content

Commit a456cc4

Browse files
committed
[+] ExitToSave
1 parent 17aba82 commit a456cc4

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
using AquaMai.Config.Attributes;
2+
using HarmonyLib;
3+
using Process;
4+
5+
namespace AquaMai.Mods.Tweaks.TimeSaving;
6+
7+
[ConfigSection(
8+
en: "Skip uploading photos and collectibles after the game ends and log out directly.",
9+
zh: "游戏结束后跳过上传照片和收藏品直接登出")]
10+
public class ExitToSave
11+
{
12+
[HarmonyPrefix]
13+
[HarmonyPatch(typeof(PhotoEditProcess), nameof(PhotoEditProcess.OnUpdate))]
14+
public static bool SkipPhotoEditProcess(ProcessDataContainer ___container, PhotoEditProcess __instance)
15+
{
16+
___container.processManager.AddProcess(new DataSaveProcess(___container));
17+
___container.processManager.ReleaseProcess(__instance);
18+
return false;
19+
}
20+
}

AquaMai.Mods/UX/OneKeyEntryEnd.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
using System.Collections.Generic;
22
using AquaMai.Config.Attributes;
33
using AquaMai.Config.Types;
4+
using AquaMai.Core;
45
using AquaMai.Core.Helpers;
6+
using AquaMai.Mods.Tweaks.TimeSaving;
57
using HarmonyLib;
68
using Mai2.Mai2Cue;
79
using Main;
@@ -57,7 +59,16 @@ public static void DoQuickSkip()
5759
// Skip to save
5860
SoundManager.PreviewEnd();
5961
SoundManager.PlayBGM(Cue.BGM_COLLECTION, 2);
60-
SharedInstances.ProcessDataContainer.processManager.AddProcess(new FadeProcess(SharedInstances.ProcessDataContainer, process.Process, new UnlockMusicProcess(SharedInstances.ProcessDataContainer)));
62+
if (ConfigLoader.Config.GetSectionState(typeof(ExitToSave)).Enabled)
63+
{
64+
SharedInstances.ProcessDataContainer.processManager.AddProcess(new FadeProcess(SharedInstances.ProcessDataContainer, process.Process, new DataSaveProcess(SharedInstances.ProcessDataContainer)));
65+
// Fix crash
66+
SharedInstances.ProcessDataContainer.processManager.PrepareTimer(0, 0, false, null, false);
67+
}
68+
else
69+
{
70+
SharedInstances.ProcessDataContainer.processManager.AddProcess(new FadeProcess(SharedInstances.ProcessDataContainer, process.Process, new UnlockMusicProcess(SharedInstances.ProcessDataContainer)));
71+
}
6172
break;
6273
}
6374
}

0 commit comments

Comments
 (0)