using HarmonyLib; using MAI2.Util; using Manager; using Manager.UserDatas; using Process; using System.IO; namespace SinmaiAssist.Common; public class PrintUserData { [HarmonyPostfix] [HarmonyPatch(typeof(MusicSelectProcess), "OnStart")] public static void Postifx() { PrintData(Singleton.Instance.GetUserData(0L).Detail); PrintData(Singleton.Instance.GetUserData(1L).Detail); } private static void PrintData(UserDetail detail) { string userData = string.Empty; userData += "[General]\n"; userData = userData + "AccessCode: " + detail.AccessCode + "\n"; userData = userData + "UserID: " + detail.UserID + "\n"; userData = userData + "Name: " + detail.UserName + "\n"; userData = userData + "AuthKey: " + detail.AuthKey + "\n"; userData = userData + "PlayCount: " + detail.PlayCount + "\n"; userData = userData + "TotalAwake: " + detail.TotalAwake + "\n"; userData += "[Rating]\n"; userData = userData + "Rating: " + detail.Rating + "\n"; userData = userData + "HighestRating: " + detail.HighestRating + "\n"; userData = userData + "MusicRating: " + detail.MusicRating + "\n"; userData = userData + "GradeRating: " + detail.GradeRating + "\n"; userData = userData + "GradeRank: " + detail.GradeRank + "\n"; userData += "[Game]\n"; userData = userData + "TotalAchievement: " + detail.TotalAchievement + "\n"; userData = userData + "TotalDeluxeScore: " + detail.TotalDeluxscore + "\n"; userData = userData + "TotalSync: " + detail.TotalSync + "\n"; userData = userData + "ComboCount: " + detail.ComboCount + "\n"; userData = userData + "AuthKey: " + detail.AuthKey + "\n"; userData = userData + "WinCount: " + detail.WinCount + "\n"; userData = userData + "HelpCount: " + detail.HelpCount + "\n"; userData = userData + "PlayVsCount: " + detail.PlayVsCount + "\n"; userData = userData + "PlaySyncCount: " + detail.PlaySyncCount + "\n"; userData = userData + "EquipIconID: " + detail.EquipIconID + "\n"; userData = userData + "EquipTitleID: " + detail.EquipTitleID + "\n"; userData = userData + "EquipPlateID: " + detail.EquipPlateID + "\n"; userData = userData + "SelectMapID: " + detail.SelectMapID + "\n"; userData += "[Log]\n"; userData = userData + "TotalLoginCount: " + detail.TotalLoginCount + "\n"; userData = userData + "ContinueLoginCount: " + detail.ContinueLoginCount + "\n"; userData = userData + "LastLoginDate: " + detail.LastLoginDate + "\n"; userData = userData + "LastPlayDate: " + detail.LastPlayDate + "\n"; userData = userData + "FirstPlayDate: " + detail.FirstPlayDate + "\n"; userData = userData + "DailyBounsDate: " + detail.DailyBonusDate + "\n"; userData = userData + "EventWatchedDate: " + detail.EventWatchedDate + "\n"; userData += "[System]\n"; userData = userData + "LastGameID: " + detail.LastGameId + "\n"; userData = userData + "LastROMVersion: " + detail.LastRomVersion + "\n"; userData = userData + "LastDataVersion: " + detail.LastDataVersion + "\n"; userData = userData + "LastRegionID: " + detail.LastRegionId + "\n"; userData = userData + "LastRegionName: " + detail.LastRegionName + "\n"; userData = userData + "LastPlaceID: " + detail.LastPlaceId + "\n"; userData = userData + "LastPlaceName: " + detail.LastPlaceName + "\n"; userData = userData + "LastAllNetID: " + detail.LastAllNetId + "\n"; userData = userData + "LastClientID: " + detail.LastClientId + "\n"; userData = userData + "LastCountryCode: " + detail.LastCountryCode + "\n"; userData = userData + "FirstGameID: " + detail.FirstGameId + "\n"; userData = userData + "FirstRomVersion: " + detail.FirstRomVersion + "\n"; userData = userData + "FirstDataVersion: " + detail.FirstDataVersion + "\n"; userData = userData + "CompatibleCMVersion: " + detail.CompatibleCmVersion + "\n"; userData = userData + "IsNetMember: " + detail.IsNetMember + "\n"; userData += $"Data generated by {BuildInfo.Name}"; if (!Directory.Exists(Path.Combine($"{BuildInfo.Name}/UserData"))) { Directory.CreateDirectory($"{BuildInfo.Name}/UserData"); } if (!File.Exists(Path.Combine($"{BuildInfo.Name}/UserData/User" + detail.UserID + ".txt"))) { File.Create(Path.Combine($"{BuildInfo.Name}/UserData/User" + detail.UserID + ".txt")).Dispose(); } File.WriteAllText(Path.Combine($"{BuildInfo.Name}/UserData/User" + detail.UserID + ".txt"), userData); } }