/// <summary> /// ゲームのデータをセーブ /// </summary> /// <param name="engine">ADVエンジン</param> /// <param name="tex">セーブアイコン</param> public void UpdateAutoSaveData(AdvEngine engine, Texture2D tex, List <IBinaryIO> customSaveIoList, List <IBinaryIO> saveIoList) { Clear(); //セーブ対象となる情報を設定 List <IBinaryIO> ioList = new List <IBinaryIO>() { engine.ScenarioPlayer, engine.Param.DefaultData, engine.GraphicManager, engine.CameraManager, engine.SoundManager, }; ioList.AddRange(customSaveIoList); ioList.AddRange(saveIoList); //バイナリデータを作成 Profiler.BeginSample("MakeSaveDataBuffer"); Buffer.MakeBuffer(ioList); Profiler.EndSample(); Date = WrapperUnityVersion.DateTimeNow(); Texture = tex; Title = engine.Page.SaveDataTitle; }
/// <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 = WrapperUnityVersion.DateTimeNow(); Texture = tex; FileVersion = autoSave.FileVersion; Title = autoSave.Title; }
/// <summary> /// バイナリ書き込み /// </summary> /// <param name="writer">バイナリライター</param> public void Write(BinaryWriter writer) { Date = WrapperUnityVersion.DateTimeNow(); writer.Write(MagicID); writer.Write(Version); writer.Write(Date.Ticks); if (Texture != null) { byte[] captureMem = Texture.EncodeToPNG(); writer.WriteBuffer(captureMem); } else { writer.Write(0); } writer.Write(Title); Buffer.Write(writer); }
//キャッシュクリアのため、タイムスタンプを設定したURLにする public static string ToCacheClearUrl(string url) { if (url.Contains(Application.streamingAssetsPath)) { if (Application.platform != RuntimePlatform.WebGLPlayer) { //StreamigAssets以下はタイムスタンプがあるとバグる return(url); } } string tempurl = string.Format( "{0}?datetime={1}", url, WrapperUnityVersion.DateTimeNow().ToFileTime() ); return(tempurl); }