using System; using Qoo.Game; using Qoo.SoundSystem; using UnityEngine; // Token: 0x02000130 RID: 304 public class SaveLoadWindow : BaseWindow { // Token: 0x06000821 RID: 2081 RVA: 0x0002432C File Offset: 0x0002252C private bool CheckDataExist(int idx) { SaveFileInfo saveFileInfo = SaveLoadManager.LoadHeader(idx); return saveFileInfo != null; } // Token: 0x06000822 RID: 2082 RVA: 0x00024348 File Offset: 0x00022548 private void OnDataSelect(int value) { this.m_Index = value; SaveFileInfo saveFileInfo = SaveLoadManager.LoadHeader(this.m_Index); this.viewSaveInfo(saveFileInfo); if (this.m_SaveOrLoad == SaveLoadType.SAVE) { if (value != 9) { if (saveFileInfo != null) { this.ConfirmShow(true, SaveLoadWindow.ConfrmType.Over); } else { this.ConfirmShow(true, SaveLoadWindow.ConfrmType.Save); } } } else if (saveFileInfo != null) { this.ConfirmShow(true, SaveLoadWindow.ConfrmType.Load); } } // Token: 0x06000823 RID: 2083 RVA: 0x000243B4 File Offset: 0x000225B4 private void OnSaveLoad() { if (this.m_SaveOrLoad == SaveLoadType.SAVE) { this.OnSave(); } else { this.OnLoad(); } } // Token: 0x06000824 RID: 2084 RVA: 0x000243D4 File Offset: 0x000225D4 private void OnSave() { byte[] saveData = this.GetSaveData(); SaveFileInfo info = this.CreateSaveFileInfo(); SaveLoadManager.Save(saveData, info, this.m_Index); SaveLoadManager.SaveSystem(); this.viewSaveInfo(info); base.SetTexture(this.m_Index.ToString("SaveData0"), this.GetSaveDataIconName(this.m_Index)); } // Token: 0x06000825 RID: 2085 RVA: 0x0002442C File Offset: 0x0002262C private void OnLoad() { byte[] data_ = SaveLoadManager.Load(this.m_Index); GameData.Load(data_); if (this.m_TitleOrAdvMode == SaveLoadCallType.ADVMENU) { base.DeleteAllAddScene(); } else { SceneManager.ChangeScene("SceneAdvMode"); } Sound.BgmStop(1000); } // Token: 0x06000826 RID: 2086 RVA: 0x00024478 File Offset: 0x00022678 private void ConfirmShow(bool show = true, SaveLoadWindow.ConfrmType ct = SaveLoadWindow.ConfrmType.Save) { base.GameObjectShow("Confirm", show); base.GameObjectShow("Confirm_YES", show); base.GameObjectShow("Confirm_NO", show); base.GameObjectShow("CofirmCollision", show); if (show) { switch (ct) { case SaveLoadWindow.ConfrmType.Save: this.SetText("SaveConfirmMsg", (!show) ? string.Empty : UnityApp.Instance.isJapanese ? "セーブしますか?" : "Do you want to save?"); break; case SaveLoadWindow.ConfrmType.Load: this.SetText("LoadConfirmMsg", (!show) ? string.Empty : UnityApp.Instance.isJapanese ? "ロードしますか?" : "Do you want to load this save?"); break; case SaveLoadWindow.ConfrmType.Over: this.SetText("OverConfirmMsg", (!show) ? string.Empty : UnityApp.Instance.isJapanese ? "上書きしますか?" : "Do you want to overwrite this Save?"); break; } } else { this.SetText("SaveConfirmMsg", string.Empty); this.SetText("LoadConfirmMsg", string.Empty); this.SetText("OverConfirmMsg", string.Empty); } } // Token: 0x06000827 RID: 2087 RVA: 0x00024578 File Offset: 0x00022778 private byte[] GetSaveData() { return GameData.Save(); } // Token: 0x06000828 RID: 2088 RVA: 0x00024580 File Offset: 0x00022780 private SaveFileInfo CreateSaveFileInfo() { return new SaveFileInfo { LastMessage = GameData.LastMessage, PlayCharaId = (int)GameData.GetRoute(), SceneName = GameData.GetSceneName(), TimeStamp = DateTime.Now.ToString("yyyy/MM/dd HH:mm") }; } // Token: 0x06000829 RID: 2089 RVA: 0x000245D0 File Offset: 0x000227D0 private void SetText(string name, string text) { UnityTextSprite textSprite = base.GetTextSprite(name); textSprite.ClearText(); textSprite.AddText(text, 28); textSprite.Update(960, 544, -5f); } // Token: 0x0600082A RID: 2090 RVA: 0x0002460C File Offset: 0x0002280C private string getTimeStamp(SaveFileInfo info) { string result = string.Empty; if (info == null) { if (this.m_SaveOrLoad == SaveLoadType.SAVE) { result = "New Data"; } } else { result = info.TimeStamp; } return result; } // Token: 0x0600082B RID: 2091 RVA: 0x00024644 File Offset: 0x00022844 private string getSceneName(SaveFileInfo info) { if (info != null) { return info.SceneName; } return string.Empty; } // Token: 0x0600082C RID: 2092 RVA: 0x00024658 File Offset: 0x00022858 private string getLastMessage1(SaveFileInfo info) { string result = string.Empty; if (info == null) { return string.Empty; } int num = info.LastMessage.IndexOf('\n'); if (num < 0) { result = info.LastMessage; } else { result = info.LastMessage.Substring(0, num); } return result; } // Token: 0x0600082D RID: 2093 RVA: 0x000246A8 File Offset: 0x000228A8 private string getLastMessage2(SaveFileInfo info) { string result = string.Empty; if (info == null) { return string.Empty; } int num = info.LastMessage.IndexOf('\n'); if (num >= 0) { string text = info.LastMessage.Substring(num + 1); int num2 = text.IndexOf('\n'); if (num2 < 0) { result = text; } else { result = text.Substring(0, num2); } } return result; } // Token: 0x0600082E RID: 2094 RVA: 0x0002470C File Offset: 0x0002290C private void viewSaveInfo(SaveFileInfo info) { this.SetText("TimeStamp", this.getTimeStamp(info)); this.SetText("SceneName", this.getSceneName(info)); this.SetText("LastMessage1", this.getLastMessage1(info)); this.SetText("LastMessage2", this.getLastMessage2(info)); } // Token: 0x0600082F RID: 2095 RVA: 0x00024764 File Offset: 0x00022964 protected sealed override void OnAwake() { this.m_SaveOrLoad = UIValue.SaveLoadType; this.m_TitleOrAdvMode = UIValue.SaveLoadCallType; } // Token: 0x06000830 RID: 2096 RVA: 0x0002477C File Offset: 0x0002297C protected sealed override string[] newSceneTextureNameArray() { string str = (this.m_SaveOrLoad != SaveLoadType.SAVE) ? "load" : "save"; return new string[] { "screen/sysmenu/sys_bnr_" + str, "screen/cgmemory2/cgm_bg_1", "screen/sysmenu/sys_pop", "screen/common/sys_dialog_save", "screen/common/dlog_btn_y", "screen/common/dlog_btn_n", "screen/common/cancel", "screen/saveload/icon_empty", "screen/saveload/icon_play_auto", "screen/saveload/icon_play_cha01", "screen/saveload/icon_play_cha02", "screen/saveload/icon_play_cha03", "screen/saveload/icon_play_cha04", "screen/saveload/icon_play_cha05", "screen/saveload/icon_play_cha06", "screen/saveload/icon_play_cha07", "screen/saveload/icon_play_cha08", "screen/saveload/icon_play_cha09", "screen/saveload/icon_play_cha10", "screen/saveload/icon_play_cha99" }; } // Token: 0x06000831 RID: 2097 RVA: 0x00024860 File Offset: 0x00022A60 protected sealed override void BeforeInit() { base.transform.localPosition = new Vector3(0f, 0f, -50f); } // Token: 0x06000832 RID: 2098 RVA: 0x00024884 File Offset: 0x00022A84 protected sealed override void AfterInit() { this.ConfirmShow(false, SaveLoadWindow.ConfrmType.Save); } // Token: 0x06000833 RID: 2099 RVA: 0x00024890 File Offset: 0x00022A90 private string GetSaveDataIconName(int i) { SaveFileInfo saveFileInfo = SaveLoadManager.LoadHeader(i); bool flag = saveFileInfo != null; string result = "icon_empty"; if (flag) { if (i < 9) { result = ((saveFileInfo.PlayCharaId != -1) ? (saveFileInfo.PlayCharaId + 1).ToString("icon_play_cha00") : "icon_play_cha99"); } else { result = "icon_play_auto"; } } return result; } // Token: 0x06000834 RID: 2100 RVA: 0x000248F8 File Offset: 0x00022AF8 private string[] GetSaveDataIcons() { string[] array = new string[10]; for (int i = 0; i < 10; i++) { array[i] = this.GetSaveDataIconName(i); } return array; } // Token: 0x06000835 RID: 2101 RVA: 0x0002492C File Offset: 0x00022B2C protected sealed override BaseWindow.UIComponent[] newComponentArray() { string str = (this.m_SaveOrLoad != SaveLoadType.SAVE) ? "load" : "save"; bool flag = this.m_SaveOrLoad == SaveLoadType.LOAD; string[] saveDataIcons = this.GetSaveDataIcons(); int num = 188; int num2 = 131; return new BaseWindow.UIComponent[] { new BaseWindow.UIImage("BackGround", 0, 0, this.wndz, "screen/cgmemory2/cgm_bg_1", true, true), new BaseWindow.UIImage("Banner", 0, 0, this.wndz + 1, "screen/sysmenu/sys_bnr_" + str, true, true), new BaseWindow.UIImage("SysPop", 5, 373, this.wndz + 1, "screen/sysmenu/sys_pop", true, true), new BaseWindow.UIButton("Cancel", 887, 6, this.wndz + 2, "screen/common/cancel", true, true, 1, 2, 0), new BaseWindow.UIImage("SaveData0", 13 + 0 * num, 102 + 0 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[0], true, true), new BaseWindow.UIImage("SaveData1", 13 + 1 * num, 102 + 0 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[1], true, true), new BaseWindow.UIImage("SaveData2", 13 + 2 * num, 102 + 0 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[2], true, true), new BaseWindow.UIImage("SaveData3", 13 + 3 * num, 102 + 0 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[3], true, true), new BaseWindow.UIImage("SaveData4", 13 + 4 * num, 102 + 0 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[4], true, true), new BaseWindow.UIImage("SaveData5", 13 + 0 * num, 102 + 1 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[5], true, true), new BaseWindow.UIImage("SaveData6", 13 + 1 * num, 102 + 1 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[6], true, true), new BaseWindow.UIImage("SaveData7", 13 + 2 * num, 102 + 1 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[7], true, true), new BaseWindow.UIImage("SaveData8", 13 + 3 * num, 102 + 1 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[8], true, true), new BaseWindow.UIImage("SaveData9", 13 + 4 * num, 102 + 1 * num2, this.wndz + 2, "screen/saveload/" + saveDataIcons[9], flag, flag), new BaseWindow.UIText("TimeStamp", 59, 386, this.wndz + 3, string.Empty, 28, UnityTextSprite.PositionType.TopLeft, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), new BaseWindow.UIText("SceneName", 59, 414, this.wndz + 3, string.Empty, 28, UnityTextSprite.PositionType.TopLeft, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), new BaseWindow.UIText("LastMessage1", 59, 456, this.wndz + 3, string.Empty, 28, UnityTextSprite.PositionType.TopLeft, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), new BaseWindow.UIText("LastMessage2", 59, 484, this.wndz + 3, string.Empty, 28, UnityTextSprite.PositionType.TopLeft, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), new BaseWindow.UICollision("CofirmCollision", 0, 0, this.wndz + 3, 960, 544), new BaseWindow.UIImage("Confirm", 136, 182, this.wndz + 3, "screen/common/sys_dialog", true, false), new BaseWindow.UIButton("Confirm_YES", 312, 277, this.wndz + 4, "screen/common/dlog_btn_y", true, false, 1, 2, 0), new BaseWindow.UIButton("Confirm_NO", 513, 277, this.wndz + 4, "screen/common/dlog_btn_n", true, false, 1, 2, 0), new BaseWindow.UIText("SaveConfirmMsg", 480, 230, this.wndz + 4, UnityApp.Instance.isJapanese ? "セーブしますか?" : "Do you want to save?", 28, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), new BaseWindow.UIText("LoadConfirmMsg", 480, 230, this.wndz + 4, UnityApp.Instance.isJapanese ? "ロードしますか?" : "Do you want to load this save?", 28, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue), new BaseWindow.UIText("OverConfirmMsg", 480, 230, this.wndz + 4, UnityApp.Instance.isJapanese ? "上書きしますか?" : "Do you want to overwrite this Save?", 28, UnityTextSprite.PositionType.Center, UnityTextSprite.PositionType.TopLeft, byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue) }; } // Token: 0x06000836 RID: 2102 RVA: 0x00024E34 File Offset: 0x00023034 protected sealed override void OnBaseWindowOnButton(string obj) { switch (obj) { case "SaveData0": case "SaveData1": case "SaveData2": case "SaveData3": case "SaveData4": case "SaveData5": case "SaveData6": case "SaveData7": case "SaveData8": case "SaveData9": this.saveloadAction(obj); break; case "Confirm_YES": base.PlaySE_Ok(); this.OnSaveLoad(); this.ConfirmShow(false, SaveLoadWindow.ConfrmType.Save); break; case "Confirm_NO": base.PlaySE_Cancel(); this.ConfirmShow(false, SaveLoadWindow.ConfrmType.Save); break; case "Cancel": base.PlaySE_Cancel(); if (this.m_TitleOrAdvMode == SaveLoadCallType.ADVMENU) { base.DeleteLastAddScene(); } else { SceneManager.BackScene(); } break; } } // Token: 0x06000837 RID: 2103 RVA: 0x00024F8C File Offset: 0x0002318C private void saveloadAction(string obj) { int idx = int.Parse(obj.Replace("SaveData", string.Empty)); if (this.m_SaveOrLoad == SaveLoadType.LOAD && !this.CheckDataExist(idx)) { return; } base.PlaySE_Ok(); this.OnDataSelect(int.Parse(obj.Replace("SaveData", string.Empty))); } // Token: 0x0400072B RID: 1835 private SaveLoadType m_SaveOrLoad; // Token: 0x0400072C RID: 1836 private SaveLoadCallType m_TitleOrAdvMode; // Token: 0x0400072D RID: 1837 private int m_Index; // Token: 0x0400072E RID: 1838 private readonly int wndz; // Token: 0x02000131 RID: 305 private enum ConfrmType { // Token: 0x04000731 RID: 1841 Save, // Token: 0x04000732 RID: 1842 Load, // Token: 0x04000733 RID: 1843 Over } }