/// <summary> /// 初期化 /// </summary> /// <param name="data">セーブデータ</param> /// <param name="index">インデックス</param> /// <param name="isSave">セーブ画面用ならtrue、ロード画面用ならfalse</param> public void Init(AdvSaveData data, int index, bool isSave) { LegacyUiListViewItem listViewItem = this.GetComponent<LegacyUiListViewItem>(); no.text = string.Format("No.{0,3}", index); if (data.IsSaved) { if (data.Type != AdvSaveData.SaveDataType.Auto) { //オートセーブにはテクスチャがない texture.Sprite = data.GetSprite(pixcelsToUnits); } text.text = data.Title; date.text = UtageToolKit.DateToStringJp(data.Date); listViewItem.IsEnableButton = true; } else { text.text = textEmpty; date.text = ""; listViewItem.IsEnableButton = isSave; } //オートセーブデータ if (data.Type == AdvSaveData.SaveDataType.Auto ) { no.text = "Auto"; //セーブはできない if (isSave) { listViewItem.IsEnableButton = false; } } }
/// <summary> /// 初期化 /// </summary> /// <param name="data">セーブデータ</param> /// <param name="index">インデックス</param> /// <param name="isSave">セーブ画面用ならtrue、ロード画面用ならfalse</param> public void Init(AdvSaveData data, Action<UtageUguiSaveLoadItem> ButtonClickedEvent, int index, bool isSave) { this.data = data; this.index = index; this.button = this.GetComponent<UnityEngine.UI.Button>(); this.button.onClick.AddListener( ()=>ButtonClickedEvent(this) ); Refresh(isSave); }
/// <summary> /// セーブデータを削除 /// </summary> /// <param name="saveData">削除するセーブデータ</param> public void DeleteSaveData(AdvSaveData saveData) { if (FileIOManager.Exists(saveData.Path)) { FileIOManager.Delete(saveData.Path); } saveData.Clear(); }
/// <summary> /// オートセーブデータからセーブデータを作成 /// </summary> /// <param name="autoSave">オートセーブデータ</param> /// <param name="tex">セーブアイコン</param> public void SaveGameData(AdvSaveData autoSave, AdvEngine engine, Texture2D tex) { Clear(); Buffer = autoSave.Buffer.Clone <BinaryBuffer>(); Date = System.DateTime.Now; Texture = tex; FileVersion = autoSave.FileVersion; Title = autoSave.Title; }
/// <summary> /// セーブデータのロード /// </summary> /// <param name="saveData">ロードするセーブデータ</param> void LoadSaveData(AdvSaveData saveData) { Clear(); saveData.LoadGameData(this); //古いセーブデータかを設定しておく ScenarioPlayer.IsOldVersion = (saveData.FileVersion <= AdvSaveData.Version2); StartScenario(saveData.CurrentSenarioLabel, saveData.CurrentPage, saveData.CurrentGallerySceneLabel); }
/// <summary> /// セーブデータを読み込み /// </summary> /// <param name="saveData">読み込むセーブデータ</param> /// <returns>読み込めたかどうか</returns> bool ReadSaveData(AdvSaveData saveData) { if (FileIOManager.Exists(saveData.Path)) { return(FileIOManager.ReadBinaryDecode(saveData.Path, saveData.Read)); } else { return(false); } }
public void WriteSaveData(AdvEngine engine, AdvSaveData saveData) { if (!this.CurrentAutoSaveData.IsSaved) { Debug.LogError("SaveData is Disabled"); } else { saveData.SaveGameData(this.CurrentAutoSaveData, engine, UtageToolKit.CreateResizeTexture(this.CaptureTexture, this.CaptureWidth, this.CaptureHeight)); this.FileIOManager.WriteBinaryEncode(saveData.Path, new Action <BinaryWriter>(saveData.Write)); } }
/// <summary> /// セーブデータを書き込み /// その場の状態を書き込まず、各ページ冒頭のオートセーブデータを利用する /// </summary> /// <param name="engine">ADVエンジン</param> /// <param name="saveData">書き込むセーブデータ</param> public void WriteSaveData(AdvEngine engine, AdvSaveData saveData) { if (!CurrentAutoSaveData.IsSaved) { Debug.LogError("SaveData is Disabled"); return; } //セーブ saveData.SaveGameData(CurrentAutoSaveData, engine, UtageToolKit.CreateResizeTexture(CaptureTexture, CaptureWidth, CaptureHeight)); FileIOManager.WriteBinaryEncode(saveData.Path, saveData.Write); }
public void Init() { this.FileIOManager.CreateDirectory(this.ToDirPath()); this.autoSaveData = new AdvSaveData(AdvSaveData.SaveDataType.Auto, this.ToFilePath("Auto")); this.currentAutoSaveData = new AdvSaveData(AdvSaveData.SaveDataType.Auto, this.ToFilePath("Auto")); this.quickSaveData = new AdvSaveData(AdvSaveData.SaveDataType.Quick, this.ToFilePath("Quick")); this.saveDataList = new List <AdvSaveData>(); for (int i = 0; i < this.SaveMax; i++) { AdvSaveData item = new AdvSaveData(AdvSaveData.SaveDataType.Default, this.ToFilePath(string.Empty + (i + 1))); this.saveDataList.Add(item); } }
/// <summary> /// オートセーブデータからセーブデータを作成 /// </summary> /// <param name="autoSave">オートセーブデータ</param> /// <param name="tex">セーブアイコン</param> public void SaveGameData(AdvSaveData autoSave, AdvEngine engine, Texture2D tex) { Clear(); currentSenarioLabel = autoSave.currentSenarioLabel; currentPage = autoSave.currentPage; currentGallerySceneLabel = autoSave.currentGallerySceneLabel; paramBuf = (byte[])autoSave.paramBuf.Clone(); graphicManagerBuf = (byte[])autoSave.graphicManagerBuf.Clone(); soundManagerBuf = (byte[])autoSave.soundManagerBuf.Clone(); selectionManagerBuf = (byte[])autoSave.selectionManagerBuf.Clone(); title = engine.Page.TextData.NoneMetaString; texture = tex; date = System.DateTime.Now; }
internal void StartSaveData(AdvSaveData saveData) { Clear(); this.isEndScenario = false; //現在のシーン回想登録用のラベルを記録 this.currentGallerySceneLabel = saveData.CurrentGallerySceneLabel; //古いセーブデータかを設定しておく this.IsOldVersion = (saveData.FileVersion <= AdvSaveData.Version2); //ジャンプマネージャーを初期化 BinaryUtil.BinaryRead(saveData.JumpMangerBuffer, (x) => this.JumpManager.Read(Engine, x)); //バージョンアップ用のセーブデータ saveData.VersionUpBuffer.ReadCustomSaveData(Engine.SaveManager.GetVersionUpSaveIoListCreateIfMissing(Engine)); //カスタムセーブデータ saveData.CustomBuffer.ReadCustomSaveData(Engine.SaveManager.CustomSaveDataIOList); //シナリオ開始 StartCoroutine(CoStartScenario(saveData.CurrentSenarioLabel, saveData.CurrentPage, null)); }
/// <summary> /// 初期化 /// </summary> public void Init() { //セーブデータのディレクトリがなければ作成 FileIOManager.CreateDirectory(ToDirPath()); //オートセーブデータ。読み込み用と書き込み用 autoSaveData = new AdvSaveData(AdvSaveData.SaveDataType.Auto, ToFilePath("Auto"));; currentAutoSaveData = new AdvSaveData(AdvSaveData.SaveDataType.Auto, ToFilePath("Auto"));; quickSaveData = new AdvSaveData(AdvSaveData.SaveDataType.Quick, ToFilePath("Quick"));; saveDataList = new List <AdvSaveData>(); for (int i = 0; i < SaveMax; i++) { AdvSaveData data = new AdvSaveData(AdvSaveData.SaveDataType.Default, ToFilePath("" + (i + 1))); saveDataList.Add(data); } }
//セーブデータを使ってシナリオを開始 internal IEnumerator CoStartSaveData(AdvSaveData saveData) { this.IsPausing = false; this.IsEndScenario = false; this.IsReservedEndScenario = false; MainThread.Clear(); //各オブジェクトにセーブデータの値を読み込ませる saveData.LoadGameData( Engine, Engine.SaveManager.CustomSaveDataIOList, Engine.SaveManager.GetSaveIoListCreateIfMissing(Engine) ); yield return(null); //シナリオを読み込み saveData.Buffer.Overrirde(this); }
/// <summary> /// オートセーブデータからセーブデータを作成 /// </summary> /// <param name="autoSave">オートセーブデータ</param> /// <param name="tex">セーブアイコン</param> public void SaveGameData(AdvSaveData autoSave, AdvEngine engine, Texture2D tex) { Clear(); currentSenarioLabel = autoSave.currentSenarioLabel; currentPage = autoSave.currentPage; currentGallerySceneLabel = autoSave.currentGallerySceneLabel; paramBuf = (byte[])autoSave.paramBuf.Clone(); graphicManagerBuf = (byte[])autoSave.graphicManagerBuf.Clone(); soundManagerBuf = (byte[])autoSave.soundManagerBuf.Clone(); selectionManagerBuf = (byte[])autoSave.selectionManagerBuf.Clone(); JumpMangerBuffer = (byte[])autoSave.JumpMangerBuffer.Clone(); CustomBuffer = autoSave.CustomBuffer.Clone(); VersionUpBuffer = autoSave.VersionUpBuffer.Clone(); title = autoSave.title; Texture = tex; date = System.DateTime.Now; }
IEnumerator CoStartSaveData(AdvSaveData saveData) { while (IsWaitBootLoading) { yield return(null); } while (GraphicManager.IsLoading) { yield return(null); } while (SoundManager.IsLoading) { yield return(null); } if (UiManager != null) { UiManager.Open(); } yield return(ScenarioPlayer.CoStartSaveData(saveData)); }
/// <summary> /// セーブデータをロードして開始 /// </summary> /// <param name="saveData">ロードするセーブデータ</param> public void OpenLoadGame(AdvSaveData saveData) { isSceneGallery = false; LoadSaveData(saveData); }
//起動データをクリア void ClearBootData() { bootType = BootType.Default; isInit = false; loadData = null; }
/// <summary> /// セーブデータを書き込み /// </summary> /// <param name="saveData">書き込むセーブデータ</param> public void WriteSaveData(AdvSaveData saveData) { SaveManager.WriteSaveData(this, saveData); }
/// <summary> /// セーブデータのロード /// </summary> /// <param name="saveData">ロードするセーブデータ</param> void LoadSaveData(AdvSaveData saveData) { ClearOnLaod(); StartCoroutine(CoStartSaveData(saveData)); }
/// <summary> /// セーブデータを書き込み /// その場の状態を書き込まず、各ページ冒頭のオートセーブデータを利用する /// </summary> /// <param name="engine">ADVエンジン</param> /// <param name="saveData">書き込むセーブデータ</param> public void WriteSaveData(AdvEngine engine, AdvSaveData saveData) { saveData.SaveGameData( CurrentAutoSaveData, engine, UtageToolKit.CreateResizeTexture(CaptureTexture, CaptureWidth, CaptureHeight)); FileIOManager.WriteBinaryEncode(saveData.Path, saveData.Write); }
/// <summary> /// セーブデータを読み込み /// </summary> /// <param name="saveData">読み込むセーブデータ</param> /// <returns>読み込めたかどうか</returns> bool ReadSaveData(AdvSaveData saveData) { if (FileIOManager.Exists(saveData.Path)) { return FileIOManager.ReadBinaryDecode(saveData.Path, saveData.Read); } else { return false; } }
//起動待ちしてから開く IEnumerator CoWaitOpen() { while (Engine.IsWaitBootLoading) yield return 0; switch (bootType) { case BootType.Default: Engine.UiManager.Open(); break; case BootType.Start: Engine.StartGame(); break; case BootType.Load: Engine.OpenLoadGame(loadData); break; case BootType.SceneGallery: Engine.StartSceneGallery(scenaioLabel); break; } ClearBootData(); loadData = null; Engine.Config.IsSkip = false; isInit = true; }
/// <summary> /// セーブデータをロードしてゲーム再開 /// </summary> /// <param name="loadData">ロードするセーブデータ</param> public void OpenLoadGame(AdvSaveData loadData) { ClearBootData(); bootType = BootType.Load; this.loadData = loadData; Open(); }
private bool ReadSaveData(AdvSaveData saveData) { return(this.FileIOManager.Exists(saveData.Path) && this.FileIOManager.ReadBinaryDecode(saveData.Path, new Action <BinaryReader>(saveData.Read))); }
/// <summary> /// 初期化 /// </summary> public void Init() { //セーブデータのディレクトリがなければ作成 FileIOManager.CreateDirectory(ToDirPath()); //オートセーブデータ。読み込み用と書き込み用 autoSaveData = new AdvSaveData( AdvSaveData.SaveDataType.Auto, ToFilePath("Auto")); ; currentAutoSaveData = new AdvSaveData(AdvSaveData.SaveDataType.Auto, ToFilePath("Auto")); ; quickSaveData = new AdvSaveData(AdvSaveData.SaveDataType.Quick, ToFilePath("Quick")); ; saveDataList = new List<AdvSaveData>(); for (int i = 0; i < SaveMax; i++) { AdvSaveData data = new AdvSaveData(AdvSaveData.SaveDataType.Default, ToFilePath("" + (i + 1))); saveDataList.Add(data); } }
/// <summary> /// セーブデータのロード /// </summary> /// <param name="saveData">ロードするセーブデータ</param> void LoadSaveData(AdvSaveData saveData) { Clear(); saveData.LoadGameData(this); StartScenario(saveData.CurrentSenarioLabel, saveData.CurrentPage, saveData.CurrentGallerySceneLabel); }
/// <summary> /// セーブデータを書き込み /// その場の状態を書き込まず、各ページ冒頭のオートセーブデータを利用する /// </summary> /// <param name="engine">ADVエンジン</param> /// <param name="saveData">書き込むセーブデータ</param> public void WriteSaveData(AdvEngine engine, AdvSaveData saveData) { saveData.SaveGameData(CurrentAutoSaveData, engine, UtageToolKit.CreateResizeTexture(CaptureTexture, CaptureWidth, CaptureHeight)); FileIOManager.WriteBinaryEncode(saveData.Path, saveData.Write); }