diff --git a/Unity/Assets/UMAssets/Scripts/AEGLGBOGDHH.cs b/Unity/Assets/UMAssets/Scripts/AEGLGBOGDHH.cs index 62986b4fd..fdc21d3f3 100644 --- a/Unity/Assets/UMAssets/Scripts/AEGLGBOGDHH.cs +++ b/Unity/Assets/UMAssets/Scripts/AEGLGBOGDHH.cs @@ -25,10 +25,10 @@ public void OBKGEDCKHHE() GJLJJDIDODK = new EDMIONMCICN[3]; for(int i = 0; i < GJLJJDIDODK.Length; i++) { - GJLJJDIDODK[i].OBKGEDCKHHE_Reset(); + GJLJJDIDODK[i].OBKGEDCKHHE_Init(); } JPMGNPAHGIB = new EDMIONMCICN(); - JPMGNPAHGIB.OBKGEDCKHHE_Reset(); + JPMGNPAHGIB.OBKGEDCKHHE_Init(); CLCIOEHGFNI = new CFHDKAFLNEP(); CLCIOEHGFNI.OBKGEDCKHHE(); } diff --git a/Unity/Assets/UMAssets/Scripts/CMMKCEPBIHI.cs b/Unity/Assets/UMAssets/Scripts/CMMKCEPBIHI.cs index 48b85050c..4dec1f691 100644 --- a/Unity/Assets/UMAssets/Scripts/CMMKCEPBIHI.cs +++ b/Unity/Assets/UMAssets/Scripts/CMMKCEPBIHI.cs @@ -1176,7 +1176,7 @@ public static void BKBMHJBFDOG_Reset() private static int CBILJEAECKP_GetBaseScore(DFKGGBMFFGB_PlayerInfo DJLNOAMJECI_PlayerData, EAJCBFGKKFA_FriendInfo ALOBLKOHIKD_FriendData, EJKBKMBJMGL_EnemyData BGJGFPPDNEP_EnemyData, EEDKAACNBBG_MusicData GMFMMDAKENC_MusicData, Difficulty.Type AKNELONELJK_Difficulty, bool GBNOALJPOBM_IsLine6, int BAKLKJLPLOJ_FPt, int DHIPGHBJLIL_Progress, JLKEOGLJNOD_TeamInfo HEDKFICAPIJ_Team) { EDMIONMCICN data = new EDMIONMCICN(); - data.OBKGEDCKHHE_Reset(); + data.OBKGEDCKHHE_Init(); CFHDKAFLNEP data2 = new CFHDKAFLNEP(); data2.OBKGEDCKHHE(); int scoreWithEnemy = DBHEBCCLIJG(ref data, DJLNOAMJECI_PlayerData, ALOBLKOHIKD_FriendData, GMFMMDAKENC_MusicData, BGJGFPPDNEP_EnemyData, ref data2, DHIPGHBJLIL_Progress, true, HEDKFICAPIJ_Team); @@ -1223,7 +1223,7 @@ private static int CBILJEAECKP_GetBaseScore(DFKGGBMFFGB_PlayerInfo DJLNOAMJECI_P private static int CHCGGEPAAOE(DFKGGBMFFGB_PlayerInfo AHEFHIMGIBI_PlayerData, EEDKAACNBBG_MusicData KKHIDFKKFJE_MusicData, EAJCBFGKKFA_FriendInfo PCEGKKLKFNO_FriendData, EJKBKMBJMGL_EnemyData KDOLMBEAGCI_EnemyData, int DHIPGHBJLIL, JLKEOGLJNOD_TeamInfo HEDKFICAPIJ_Team) { EDMIONMCICN data = new EDMIONMCICN(); - data.OBKGEDCKHHE_Reset(); + data.OBKGEDCKHHE_Init(); int total = 0; for(int i = 0; i < HEDKFICAPIJ_Team.BCJEAJPLGMB_MainDivas.Count; i++) { @@ -1242,7 +1242,7 @@ private static int CHCGGEPAAOE(DFKGGBMFFGB_PlayerInfo AHEFHIMGIBI_PlayerData, EE private static int DONJDICAMJB(DFKGGBMFFGB_PlayerInfo DJLNOAMJECI_PlayerData, EAJCBFGKKFA_FriendInfo ALOBLKOHIKD_FriendData, EEDKAACNBBG_MusicData GMFMMDAKENC_MusicData, EJKBKMBJMGL_EnemyData BGJGFPPDNEP_EnemyData, ref CFHDKAFLNEP LNMECJDKFDN, int DHIPGHBJLIL, JLKEOGLJNOD_TeamInfo HEDKFICAPIJ_Team) { EDMIONMCICN data = new EDMIONMCICN(); - data.OBKGEDCKHHE_Reset(); + data.OBKGEDCKHHE_Init(); int total = 0; for (int i = 0; i < HEDKFICAPIJ_Team.BCJEAJPLGMB_MainDivas.Count; i++) { @@ -1277,7 +1277,7 @@ private static int DONJDICAMJB(DFKGGBMFFGB_PlayerInfo DJLNOAMJECI_PlayerData, EA // // RVA: 0x108E93C Offset: 0x108E93C VA: 0x108E93C private static int DBHEBCCLIJG(ref EDMIONMCICN HBODCMLFDOB, DFKGGBMFFGB_PlayerInfo DJLNOAMJECI_PlayerData, EAJCBFGKKFA_FriendInfo ALOBLKOHIKD_FriendData, EEDKAACNBBG_MusicData GMFMMDAKENC_MusicData, EJKBKMBJMGL_EnemyData BGJGFPPDNEP_EnemyData, ref CFHDKAFLNEP LNMECJDKFDN, int DHIPGHBJLIL, bool CCPIGKONMMH, JLKEOGLJNOD_TeamInfo HEDKFICAPIJ_Team) { - HBODCMLFDOB.OBKGEDCKHHE_Reset(); + HBODCMLFDOB.OBKGEDCKHHE_Init(); int val = 0; for(int i = 0; i < HEDKFICAPIJ_Team.BCJEAJPLGMB_MainDivas.Count; i++) { diff --git a/Unity/Assets/UMAssets/Scripts/EDMIONMCICN.cs b/Unity/Assets/UMAssets/Scripts/EDMIONMCICN.cs index 11565c2f3..73c64adf7 100644 --- a/Unity/Assets/UMAssets/Scripts/EDMIONMCICN.cs +++ b/Unity/Assets/UMAssets/Scripts/EDMIONMCICN.cs @@ -34,7 +34,7 @@ public struct EDMIONMCICN public MKHCIKICBOI NOEFMBAIAMP_MalusTypeFlag; // 0x20 // RVA: 0x7FC8FC Offset: 0x7FC8FC VA: 0x7FC8FC - public void OBKGEDCKHHE_Reset() + public void OBKGEDCKHHE_Init() { ELFAIDEBLJB = new StatusData(); BJABFKMIJHB_StatusMainScene = new StatusData(); diff --git a/Unity/Assets/UMAssets/Scripts/EOHDAOAJOHH.cs b/Unity/Assets/UMAssets/Scripts/EOHDAOAJOHH.cs index 7bc49c494..1c5bf7e91 100644 --- a/Unity/Assets/UMAssets/Scripts/EOHDAOAJOHH.cs +++ b/Unity/Assets/UMAssets/Scripts/EOHDAOAJOHH.cs @@ -17,7 +17,7 @@ public class EOHDAOAJOHH // public static int OOLEIEJLHGJ { get; } // KCGOAPBNDPP 0xFB756C public static EOHDAOAJOHH HHCJCDFCLOB { get; private set; } // 0x8 LGMPACEDIJF NKACBOEHELJ OKPMHKNCNAL public bool BOCLJJMAHHB { get; private set; } // 0xC DMHGANHPELM BNHJHGPMIBC MOPEPMIODKP - public bool NCAJHMNKJJD { get; private set; } // 0xD HBEKEPBPKAD MABKOJMFDCI NCMHNDFLDOC + public bool NCAJHMNKJJD_EnableStaminaNotif { get; private set; } // 0xD HBEKEPBPKAD MABKOJMFDCI NCMHNDFLDOC public bool MOEDFPOIJDM { get; private set; } // 0xE KNECAFLJOBG GNMEIHEKNDI KNFPFPAKEJB // // RVA: 0xFB76C4 Offset: 0xFB76C4 VA: 0xFB76C4 @@ -25,11 +25,24 @@ public void IJBGPAENLJA(MonoBehaviour DANMJLOBLIE) { HHCJCDFCLOB = this; BOCLJJMAHHB = false; - NCAJHMNKJJD = false; + NCAJHMNKJJD_EnableStaminaNotif = false; } // // RVA: 0xFB774C Offset: 0xFB774C VA: 0xFB774C - // public void OJKIKODJJCD() { } + public void OJKIKODJJCD() + { + KGCCNEBMHMM = new OJIHOFLJOMK(); + KGCCNEBMHMM.KHEKNNFCAOI(); + BOCLJJMAHHB = BBDNBCHOFIP(); + NCAJHMNKJJD_EnableStaminaNotif = GameManager.Instance.localSave.EPJOACOONAC_GetSave().BOJCCICAHJK_Notification.KNOLBNCEHFB_StaminaReceive != 0; + if(KGCCNEBMHMM != null) + { + KGCCNEBMHMM.JCHLONCMPAJ(1); + if (KGCCNEBMHMM != null) + KGCCNEBMHMM.JCHLONCMPAJ(6); + } + OJIHOFLJOMK.JOAJCEDHKFP(); + } // // RVA: 0xFB79E8 Offset: 0xFB79E8 VA: 0xFB79E8 // public void FGDBKOCCKOE(bool CKLGHFBPFPJ) { } @@ -78,7 +91,37 @@ public void OPODBGPJDCJ() { if(!AppEnv.IsCBT() && KGCCNEBMHMM != null) { - TodoLogger.LogError(0, "OPODBGPJDCJ"); + if (CIOECGOMILE.HHCJCDFCLOB != null && CIOECGOMILE.HHCJCDFCLOB.LNAHEIEIBOI_Initialized) + { + if(GameManager.Instance.localSave.EPJOACOONAC_GetSave().BOJCCICAHJK_Notification.ILNIHDCCOEO_EventReceive == 0) + { + if (KGCCNEBMHMM != null) + KGCCNEBMHMM.JCHLONCMPAJ(2); + } + else + { + int divaId = GameManager.Instance.localSave.EPJOACOONAC_GetSave().CNLJNGLMMHB_Options.BBIOMNCILMC_HomeDivaId; + if (divaId == 0) + { + divaId = CIOECGOMILE.HHCJCDFCLOB.AHEFHIMGIBI_ServerSave.MLAFAACKKBG_Unit.FJDDNKGHPHN_GetDefault().FDBOPFEOENF_MainDivas[0].DIPKCALNIII_Id; + if (divaId == 0) + divaId = 1; + } + if(MessageManager.Instance.IsExistBank("common")) + { + MessageBank bk = MessageManager.Instance.GetBank("common"); + DateTime date = Utility.GetLocalDateTime(NKGJPJPHLIF.HHCJCDFCLOB.IBLPICFDGOF_ServerRequester.FJDBNGEPKHL.KMEFBNBFJHI_GetServerTime()); + long t = Utility.GetTargetUnixTime(date.Year, date.Month, date.Day, 0, 0, 0); + long add = NKGJPJPHLIF.HHCJCDFCLOB.IBLPICFDGOF_ServerRequester.FJDBNGEPKHL.KMEFBNBFJHI_GetServerTime() + 30; + if (!FKOBPENIMGM) + add = 734400; + if (JPFDCIFKBML(t + add)) + { + KGCCNEBMHMM.LKCPCCANJFB(EAPDJLPDHEJ.KOGBMDOONFA, t + add, 2, bk.GetMessageByLabel("notify_comback_title"), bk.GetMessageByLabel("notify_comback_" + divaId.ToString("D2")), divaId, "png"); + } + } + } + } } } @@ -212,7 +255,15 @@ public void NINPDKEKNEG(NDBFKHKMMCE_DecoItem.ANMODBDBNPK.BIKFCCKCHHC NKCAKHIJEHF // public void OJCABHGPCPK() { } // // RVA: 0xFB78F4 Offset: 0xFB78F4 VA: 0xFB78F4 - // public bool BBDNBCHOFIP() { } + public bool BBDNBCHOFIP() + { + if(KGCCNEBMHMM != null) + { + Debug.Log("IsNotifyEnabled"); + return KGCCNEBMHMM.PLIGGNOHLJE(); + } + return false; + } // // RVA: 0xFBD734 Offset: 0xFBD734 VA: 0xFBD734 // public void LCICDJDNPNA() { } diff --git a/Unity/Assets/UMAssets/Scripts/IOGKADECKOP.cs b/Unity/Assets/UMAssets/Scripts/IOGKADECKOP.cs index f1d76eaa7..aecd50109 100644 --- a/Unity/Assets/UMAssets/Scripts/IOGKADECKOP.cs +++ b/Unity/Assets/UMAssets/Scripts/IOGKADECKOP.cs @@ -250,7 +250,8 @@ private IEnumerator DFLFHJHBKOC_CoroutineAppBoot() { yield return null; } - if(IOSBridge.GetOSMajorVersion() < 14) + EOHDAOAJOHH.HHCJCDFCLOB.OJKIKODJJCD(); + if (IOSBridge.GetOSMajorVersion() < 14) { yield break; } diff --git a/Unity/Assets/UMAssets/Scripts/NMFABEKNBKJ.cs b/Unity/Assets/UMAssets/Scripts/NMFABEKNBKJ.cs index 946532bbc..cbb9fe358 100644 --- a/Unity/Assets/UMAssets/Scripts/NMFABEKNBKJ.cs +++ b/Unity/Assets/UMAssets/Scripts/NMFABEKNBKJ.cs @@ -74,7 +74,7 @@ private IEnumerator LAGOJPPLDOH_Corotuine_BootInitilaize_FCM(IMCBBOAFION PONEMLJ yield return null; } float FBFKMOECEIM = 0; - if (string.IsNullOrEmpty(FCMTokenReceiver.fcmToken) && FBFKMOECEIM < 3) + while (string.IsNullOrEmpty(FCMTokenReceiver.fcmToken) && FBFKMOECEIM < 3) { FBFKMOECEIM += Time.deltaTime; yield return null; @@ -278,7 +278,21 @@ private IEnumerator KGGHPICPOAA_Corotuine_GetFCMTokens(IMCBBOAFION CNJANCCFBIL) private void MABFNKCMEDL_CreateNotification(string PPFNGGCBJKC, string OPFGFINHFCE, int PDJFAPLAPAG = 3) { #if UNITY_ANDROID - TodoLogger.Log(TodoLogger.AndroidNotification, "NMFABEKNBKJ.createNotificationChannel"); + AndroidJavaClass c = new AndroidJavaClass("android.os.Build$VERSION"); + int sdk = c.GetStatic("SDK_INT"); + c.Dispose(); + if(sdk > 25) + { + AndroidJavaObject notif = new AndroidJavaObject("android.app.NotificationChannel", new object[3] { PPFNGGCBJKC, OPFGFINHFCE, PDJFAPLAPAG }); + AndroidJavaClass cl = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); + AndroidJavaObject activity = cl.GetStatic("currentActivity"); + AndroidJavaObject systemService = activity.Call("getSystemService", new object[1] { "notification" }); + systemService.Call("createNotificationChannel", new object[1] { notif }); + systemService.Dispose(); + activity.Dispose(); + cl.Dispose(); + notif.Dispose(); + } #endif } diff --git a/Unity/Assets/UMAssets/Scripts/OJIHOFLJOMK.cs b/Unity/Assets/UMAssets/Scripts/OJIHOFLJOMK.cs index d164c0781..e1049688d 100644 --- a/Unity/Assets/UMAssets/Scripts/OJIHOFLJOMK.cs +++ b/Unity/Assets/UMAssets/Scripts/OJIHOFLJOMK.cs @@ -1,4 +1,7 @@ +using System; +using UnityEngine; + public class OJIHOFLJOMK { public const int BEJOOFOKHHM = 0; @@ -6,7 +9,7 @@ public class OJIHOFLJOMK public const int IJMKDNBINKO = 102; public const int NKCEDCIJFOA = 103; private int JHGGFNECJOH = -1; // 0x8 - //private AndroidJavaObject MNAADDLICIB; // 0xC + private AndroidJavaObject MNAADDLICIB; // 0xC private bool PMDGOAEICPG; // 0x10 private static string LJNAKDMILMC = "key"; // 0x0 @@ -19,7 +22,12 @@ public class OJIHOFLJOMK //private static string CKFBNINKAPG(int IGHPMLOFGMO) { } //// RVA: 0x148D8E4 Offset: 0x148D8E4 VA: 0x148D8E4 - //public void KHEKNNFCAOI() { } + public void KHEKNNFCAOI() + { + #if UNITY_ANDROID + MNAADDLICIB = new AndroidJavaObject("jp.co.xeen.xeapp.LocalNotification", Array.Empty()); + #endif + } //// RVA: 0x148D984 Offset: 0x148D984 VA: 0x148D984 //private void BJOPNMIFIIM() { } @@ -30,20 +38,35 @@ public class OJIHOFLJOMK //// RVA: 0x148DD70 Offset: 0x148DD70 VA: 0x148DD70 public void LKCPCCANJFB(string LEAIFBMIEIG, long PEJIPAFKHKM, int NNGBINEKMNO, string ADCMNODJBGJ, string LJGOOOMOMMA, int EAHPLCJMPHD, string JJCAHFAOPNI = "png") { - TodoLogger.LogError(TodoLogger.Java, "Java Call send"); + if(MNAADDLICIB != null) + { + MNAADDLICIB.CallStatic("send", new object[7] { + PEJIPAFKHKM, NNGBINEKMNO, "", ADCMNODJBGJ, LJGOOOMOMMA, "", LEAIFBMIEIG + }); + } } //// RVA: 0x148E13C Offset: 0x148E13C VA: 0x148E13C public void JCHLONCMPAJ(int NNGBINEKMNO) { - TodoLogger.LogError(TodoLogger.Java, "Java Call clear"); + if(MNAADDLICIB != null) + { + MNAADDLICIB.CallStatic("clear", new object[1] { NNGBINEKMNO }); + } } //// RVA: 0x148E25C Offset: 0x148E25C VA: 0x148E25C //public void EMLBCNAHHLD() { } //// RVA: 0x148E260 Offset: 0x148E260 VA: 0x148E260 - //public bool PLIGGNOHLJE() { } + public bool PLIGGNOHLJE() + { + if(MNAADDLICIB != null) + { + return MNAADDLICIB.CallStatic("isNotificationEnabled", Array.Empty()); + } + return false; + } //// RVA: 0x148E300 Offset: 0x148E300 VA: 0x148E300 //public void LCICDJDNPNA() { } @@ -52,5 +75,8 @@ public void JCHLONCMPAJ(int NNGBINEKMNO) //public static bool DCCNLMAODGN() { } //// RVA: 0x148E394 Offset: 0x148E394 VA: 0x148E394 - //public static void JOAJCEDHKFP() { } + public static void JOAJCEDHKFP() + { + return; + } } diff --git a/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/CostumeInfoWindow.cs b/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/CostumeInfoWindow.cs index 481212e75..9bd7c5c35 100644 --- a/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/CostumeInfoWindow.cs +++ b/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/CostumeInfoWindow.cs @@ -102,8 +102,8 @@ public void SetCostumeData(FFHPBEPOMAK_DivaInfo beforeData, FFHPBEPOMAK_DivaInfo stA.Clear(); EDMIONMCICN eB = new EDMIONMCICN(); EDMIONMCICN eA = new EDMIONMCICN(); - eB.OBKGEDCKHHE_Reset(); - eA.OBKGEDCKHHE_Reset(); + eB.OBKGEDCKHHE_Init(); + eA.OBKGEDCKHHE_Init(); CMMKCEPBIHI.AECDJDIJJKD_ApplySkills(ref eB, beforeData, null, GameManager.Instance.ViewPlayerData, null, null, null); CMMKCEPBIHI.AECDJDIJJKD_ApplySkills(ref eA, afterData, null, GameManager.Instance.ViewPlayerData, null, null, null); eB.IMLOCECFHGK(ref stB); diff --git a/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/DivaIconDecoration.cs b/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/DivaIconDecoration.cs index c4271e93e..ef781ab0d 100644 --- a/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/DivaIconDecoration.cs +++ b/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/DivaIconDecoration.cs @@ -31,20 +31,20 @@ public enum Size public DivaIconDecoration(GameObject parent, Size size, AbsoluteLayout parentLayout, GameObject positionParent) { Initialize(parent, size, true, false, parentLayout, positionParent); - m_calcStatusResult.OBKGEDCKHHE_Reset(); + m_calcStatusResult.OBKGEDCKHHE_Init(); } //// RVA: 0x17E1650 Offset: 0x17E1650 VA: 0x17E1650 public DivaIconDecoration(GameObject parent, Size size, bool useDiva, bool useFriend, AbsoluteLayout parentLayout, GameObject positionParent) { Initialize(parent, size, useDiva, useFriend, parentLayout, positionParent); - m_calcStatusResult.OBKGEDCKHHE_Reset(); + m_calcStatusResult.OBKGEDCKHHE_Init(); } //// RVA: 0x17D60A4 Offset: 0x17D60A4 VA: 0x17D60A4 public DivaIconDecoration() { - m_calcStatusResult.OBKGEDCKHHE_Reset(); + m_calcStatusResult.OBKGEDCKHHE_Init(); } //// RVA: 0x17D2C14 Offset: 0x17D2C14 VA: 0x17D2C14 diff --git a/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/DivaStatusParam.cs b/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/DivaStatusParam.cs index 09be9d3b8..4f38f345c 100644 --- a/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/DivaStatusParam.cs +++ b/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/DivaStatusParam.cs @@ -199,7 +199,7 @@ public override bool InitializeFromLayout(Layout layout, TexUVListManager uvMan) m_liveSkillTypeTbl[i * 2 + 1] = l.FindViewByExId("live_skill_swtbl_lskill") as AbsoluteLayout; } m_divaIconDecoration = new DivaIconDecoration(); - m_calcStatusResult.OBKGEDCKHHE_Reset(); + m_calcStatusResult.OBKGEDCKHHE_Init(); ClearLoadedCallback(); return true; } diff --git a/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/SetDeckDivaStatusControl.cs b/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/SetDeckDivaStatusControl.cs index abb7da872..7babe757b 100644 --- a/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/SetDeckDivaStatusControl.cs +++ b/Unity/Assets/UMAssets/Scripts/XeApp/Game/Menu/SetDeckDivaStatusControl.cs @@ -96,6 +96,7 @@ public void SetDispType(DisplayType type, FFHPBEPOMAK_DivaInfo divaData, DFKGGBM } return; } + m_calcStatusResult.OBKGEDCKHHE_Init(); CMMKCEPBIHI.AECDJDIJJKD_ApplySkills(ref m_calcStatusResult, divaData, null, playerData, null, null, null); m_status.Clear(); m_calcStatusResult.IMLOCECFHGK(ref m_status);