public static void UploadXML(object dataSerializable, string key) { DatabaseReference referenceRTD = null; string json; if (remoteStatus == -1) { return; } if (string.IsNullOrEmpty(SGFirebase.userId)) { return; } json = JsonUtility.ToJson(dataSerializable, false); if (string.IsNullOrEmpty(json)) { return; } // save into remote dabatase referenceRTD = SGFirebase.RealTimeDatabase("saved-games/" + SGFirebase.userId + "/" + key); if (referenceRTD == null) { return; } remoteStatus = -1; lastError = ""; referenceRTD.SetValueAsync(json).ContinueWith(task => { if (task.IsCanceled) { lastError = task.Exception.ToString(); remoteStatus = 0; return; } if (task.IsFaulted) { lastError = task.Exception.InnerExceptions[0].InnerException.Message; remoteStatus = 0; return; } if (task.IsCompleted) { remoteStatus = 1; return; } }); return; }
public static void RemoveXML(string key) { DatabaseReference referenceRTD = null; if (remoteStatus == -1) { return; } if (string.IsNullOrEmpty(SGFirebase.userId)) { return; } // save into remote dabatase referenceRTD = SGFirebase.RealTimeDatabase("saved-games/" + SGFirebase.userId + "/" + key); if (referenceRTD == null) { return; } remoteStatus = -1; lastError = ""; referenceRTD.RemoveValueAsync().ContinueWith(task => { if (task.IsCanceled) { lastError = task.Exception.ToString(); remoteStatus = 0; return; } if (task.IsFaulted) { lastError = task.Exception.InnerExceptions[0].InnerException.Message; remoteStatus = 0; return; } if (task.IsCompleted) { remoteStatus = 1; return; } }); return; }
public static void DownloadXMLs() { DatabaseReference referenceRTD = null; if (remoteStatus == -1) { return; } if (string.IsNullOrEmpty(SGFirebase.userId)) { return; } // remote dabatase referenceRTD = SGFirebase.RealTimeDatabase("saved-games/" + SGFirebase.userId); if (referenceRTD == null) { return; } remoteStatus = -1; lastError = ""; snapshot = null; referenceRTD.GetValueAsync().ContinueWith(task => { if (task.IsCanceled) { lastError = task.Exception.ToString(); remoteStatus = 0; return; } if (task.IsFaulted) { lastError = task.Exception.InnerExceptions[0].InnerException.Message; remoteStatus = 0; return; } if (task.IsCompleted) { remoteStatus = 1; snapshot = task.Result; return; } }); }
private void Setup() { if (string.IsNullOrEmpty(recordSetKey)) { referenceRTD = SGFirebase.RealTimeDatabase(referenceKey); } else { referenceRTD = SGFirebase.RealTimeDatabase(referenceKey + "/" + recordSetKey); } if (referenceRTD == null) { return; } referenceRTD.ValueChanged += ValueChanged; }