public void CommitAndClose(AN_SnapshotsClient client, AN_Snapshot snapshot, AN_SnapshotMetadataChange metadataChange, Action <AN_SnapshotMetadataResult> callback) { SA_Coroutine.WaitForSeconds(1, () => { var result = new AN_SnapshotMetadataResult(new AN_SnapshotMetadata()); callback.Invoke(result); }); }
private void VerifySnapshotsSave(string name) { var client = AN_Games.GetSnapshotsClient(); client.Open(name, m_createIfNotFound, m_conflictPolicy, (result) => { if (result.IsSucceeded) { AN_Snapshot snapshot = result.Data.GetSnapshot(); byte[] data = snapshot.ReadFully(); var meta = snapshot.GetMetadata(); if (meta.ProgressValue != m_progress) { SetResult(SA_TestResult.WithError("ProgressValue verification failed")); return; } if (meta.PlayedTime != m_playedTime) { SetResult(SA_TestResult.WithError("PlayedTime verification failed")); return; } string snapshotData = string.Empty; snapshotData = snapshotData.FromBytes(data); if (!snapshotData.Equals(m_snpashotData)) { SetResult(SA_TestResult.WithError("Snapshot Data verification failed")); return; } } SetAPIResult(result); }); }
public void ResolveConflict(AN_SnapshotsClient client, string conflictId, AN_Snapshot snapshot, Action <AN_LinkedObjectResult <AN_DataOrConflictResult> > callback) { SA_Coroutine.WaitForSeconds(1, () => { var result = new AN_LinkedObjectResult <AN_DataOrConflictResult>(new AN_DataOrConflictResult()); callback.Invoke(result); }); }
private void ReadAndWrite(string name) { var client = AN_Games.GetSnapshotsClient(); client.Open(name, m_createIfNotFound, m_conflictPolicy, (result) => { if (result.IsSucceeded) { AN_Logger.Log("We have snapshot, reading data..."); AN_Snapshot snapshot = result.Data.GetSnapshot(); byte[] data = snapshot.ReadFully(); var meta = snapshot.GetMetadata(); m_progress = meta.ProgressValue + 10; m_playedTime = meta.PlayedTime + 100; string base64Text = Convert.ToBase64String(data); AN_Logger.Log("Snapshot data: " + base64Text); PrintSnapshotMetadata(snapshot.GetMetadata()); AN_Logger.Log("Writing data..."); m_snpashotData = "My game data " + name; data = m_snpashotData.ToBytes(); snapshot.WriteBytes(data); SA_ScreenUtil.TakeScreenshot(512, (screenshot) => { var changeBuilder = new AN_SnapshotMetadataChange.Builder(); changeBuilder.SetDescription("Hello Description"); changeBuilder.SetPlayedTimeMillis(m_playedTime); changeBuilder.SetProgressValue(m_progress); changeBuilder.SetCoverImage(screenshot); AN_SnapshotMetadataChange changes = changeBuilder.Build(); client.CommitAndClose(snapshot, changes, (commitResult) => { if (commitResult.IsSucceeded) { PrintSnapshotMetadata(commitResult.Metadata); VerifySnapshotsSave(name); } else { SetAPIResult(result); } }); }); } else { SetAPIResult(result); } }); }
public AN_SnapshotMetadata Snapshot_GetMetadata(AN_Snapshot snapshot) { var json = AN_Java.Bridge.CallStatic <string>(AN_Snapshot, "GetMetadata", snapshot.HashCode); if (string.IsNullOrEmpty(json)) { return(null); } return(JsonUtility.FromJson <AN_SnapshotMetadata>(json)); }
private void OpenSnapshot(string name) { var client = AN_Games.GetSnapshotsClient(); bool createIfNotFound = true; var conflictPolicy = AN_SnapshotsClient.ResolutionPolicy.LAST_KNOWN_GOOD; client.Open(name, createIfNotFound, conflictPolicy, (result) => { if (result.IsSucceeded) { Debug.Log("We have snapshot, reading data..."); AN_Snapshot snapshot = result.Data; byte[] data = snapshot.ReadFully(); long progress = snapshot.GetMetadata().ProgressValue; string base64Text = Convert.ToBase64String(data); Debug.Log("Snapshot data: " + base64Text); Debug.Log("Snapshot progress: " + snapshot.GetMetadata().ProgressValue); Debug.Log("Snapshot played time: " + snapshot.GetMetadata().PlayedTime); Debug.Log("Writing data..."); string mydata = "My game data"; data = mydata.ToBytes(); snapshot.WriteBytes(data); SA_ScreenUtil.TakeScreenshot(512, (screenshot) => { var changeBuilder = new AN_SnapshotMetadataChange.Builder(); changeBuilder.SetDescription("Hello Description"); changeBuilder.SetPlayedTimeMillis(10000); changeBuilder.SetProgressValue(progress + 1); changeBuilder.SetCoverImage(screenshot); AN_SnapshotMetadataChange changes = changeBuilder.Build(); client.CommitAndClose(snapshot, changes, (commitResult) => { if (commitResult.IsSucceeded) { PrintMeta(commitResult.Metadata); } else { Debug.Log("CommitAndClose Snapshots Failed: " + result.Error.FullMessage); } }); }); } else { Debug.Log("Open Snapshots Failed: " + result.Error.FullMessage); } }); }
public byte[] Snapshot_ReadFully(AN_Snapshot snapshot) { var base64EncodedString = AN_Java.Bridge.CallStatic <string>(AN_Snapshot, "ReadFully", snapshot.HashCode); if (string.IsNullOrEmpty(base64EncodedString)) { return(new byte[] { }); } return(base64EncodedString.BytesFromBase64String()); }
public void Snapshot_WriteBytes(AN_Snapshot snapshot, byte[] data) { string base64EncodedString = Convert.ToBase64String(data); AN_Java.Bridge.CallStatic(AN_Snapshot, "WriteBytes", snapshot.HashCode, base64EncodedString); }
public void CommitAndClose(AN_SnapshotsClient client, AN_Snapshot snapshot, AN_SnapshotMetadataChange metadataChange, Action <AN_SnapshotMetadataResult> callback) { AN_Java.Bridge.CallStaticWithCallback(AN_SnapshotsClient, "CommitAndClose", callback, client.HashCode, snapshot.HashCode, metadataChange); }
public AN_SnapshotMetadata Snapshot_GetMetadata(AN_Snapshot snapshot) { return(new AN_SnapshotMetadata()); }
public byte[] Snapshot_ReadFully(AN_Snapshot snapshot) { return(new byte[] { }); }
//-------------------------------------- // AN_Snapshot //-------------------------------------- public void Snapshot_WriteBytes(AN_Snapshot snapshot, byte[] data) { }
public void ResolveConflict(AN_SnapshotsClient client, string conflictId, AN_Snapshot snapshot, Action <AN_LinkedObjectResult <AN_DataOrConflictResult> > callback) { AN_Java.Bridge.CallStaticWithCallback(AN_SnapshotsClient, "ResolveConflict", callback, client.HashCode, conflictId, snapshot.HashCode); }