public static IEnumerator GetDataIE() { database.cloudProgress = 0f; WWWForm _form = new WWWForm(); _form.AddField("id", id); using (UnityWebRequest _download = UnityWebRequest.Post(serverRootURL + getDataPHP, _form)) { yield return(_download.SendWebRequest()); while (_download.isDone == false) { database.cloudStatus += "."; database.cloudProgress = _download.uploadProgress; //Debug.Log(_download.uploadProgress); yield return(null); } database.cloudProgress = 1f; database.cloudStatus += "\n"; #if UNITY_2020_1_OR_NEWER if (_download.result == UnityWebRequest.Result.ConnectionError) #else if (_download.isNetworkError || _download.isHttpError || !string.IsNullOrEmpty(_download.error)) #endif { Debug.LogWarning("Databox cloud: " + _download.error); database.cloudStatus += "- " + _download.error + "\n"; if (OnDownloadFailed != null) { OnDownloadFailed(); } } else { database.cloudStatus += "- download from server done" + "\n"; database.oldDB = new OrderedDictionary <string, DataboxObject.Database>(); database.oldDB = database.DeepCopy <OrderedDictionary <string, DataboxObject.Database> >(database.DB); database.DB = database.JsonToDB(_download.downloadHandler.text, serverVersion, true); // COMPARE to old DB DataboxEditor.deletedCompare = DataboxCloud.Compare(database.oldDB, database.DB); DataboxEditor.newCompare = DataboxCloud.Compare(database.DB, database.oldDB); if (OnDownloadComplete != null) { OnDownloadComplete(); } } } }
void Awake() { //called when an instance awakes in the game instance = this; //set our static reference to our newly initialized instance }
static IEnumerator UploadIE() { // First download server db to oldDB WWWForm _formDownload = new WWWForm(); _formDownload.AddField("id", id); using (UnityWebRequest _download = UnityWebRequest.Post(serverRootURL + getDataPHP, _formDownload)) { yield return(_download.SendWebRequest()); while (_download.isDone == false) { yield return(null); } if (_download.isNetworkError || _download.isHttpError) { database.cloudStatus += "- " + _download.error + "\n"; if (OnUploadFailed != null) { OnUploadFailed(); } } else { //database.cloudStatus += "- download from server" + "\n"; if (!string.IsNullOrEmpty(_download.downloadHandler.text)) { database.oldDB = new OrderedDictionary <string, DataboxObject.Database>(); database.oldDB = database.JsonToDB(_download.downloadHandler.text, serverVersion, false); } //// COMPARE to old DB DataboxEditor.newCompare = DataboxCloud.Compare(database.DB, database.oldDB); DataboxEditor.deletedCompare = DataboxCloud.Compare(database.oldDB, database.DB); } } // upload local db to server var _data = database.ReturnJson(database.DB); WWWForm _form = new WWWForm(); //Debug.Log(_data); _form.AddField("id", id); _form.AddField("version", database.cloudVersion); _form.AddField("data", _data); using (UnityWebRequest _upload = UnityWebRequest.Post(serverRootURL + setDataPHP, _form)) { yield return(_upload.SendWebRequest()); while (_upload.isDone == false) { database.cloudStatus += "."; yield return(null); } database.cloudStatus += "\n"; if (_upload.isNetworkError || _upload.isHttpError) { database.cloudStatus += "- " + _upload.error + "\n"; if (OnUploadFailed != null) { OnUploadFailed(); } } else { database.cloudStatus += "- upload successful" + "\n"; if (OnUploadComplete != null) { OnUploadComplete(); } } } // Obsolete //WWW _upload = new WWW(serverRootURL + setDataPHP, _form); //yield return _upload; //if (_upload.error != null) //{ // database.cloudStatus += "- " + _upload.error + "\n"; //} //else //{ // database.cloudStatus += "- upload successful" + "\n"; //} }
public void ForceDownloadRuntime(DataboxObject _database) { StartCoroutine(DataboxCloud.GetDataIE()); }
static IEnumerator UploadIE() { // First download server db to oldDB WWWForm _formDownload = new WWWForm(); _formDownload.AddField("id", id); using (UnityWebRequest _download = UnityWebRequest.Post(serverRootURL + getDataPHP, _formDownload)) { yield return(_download.SendWebRequest()); while (_download.isDone == false) { yield return(null); } #if UNITY_2020_1_OR_NEWER if (_download.result == UnityWebRequest.Result.ConnectionError) #else if (_download.isNetworkError || _download.isHttpError || !string.IsNullOrEmpty(_download.error)) #endif { database.cloudStatus += "- " + _download.error + "\n"; if (OnUploadFailed != null) { OnUploadFailed(); } } else { //database.cloudStatus += "- download from server" + "\n"; if (!string.IsNullOrEmpty(_download.downloadHandler.text)) { database.oldDB = new OrderedDictionary <string, DataboxObject.Database>(); database.oldDB = database.JsonToDB(_download.downloadHandler.text, serverVersion, false); } else { Debug.LogWarning("Database is empty, this is probably because you try to upload data for the first time."); } //// COMPARE to old DB DataboxEditor.newCompare = DataboxCloud.Compare(database.DB, database.oldDB); DataboxEditor.deletedCompare = DataboxCloud.Compare(database.oldDB, database.DB); } } // upload local db to server var _data = database.ReturnJson(database.DB); WWWForm _form = new WWWForm(); //Debug.Log(_data); _form.AddField("id", id); _form.AddField("version", database.cloudVersion); _form.AddField("data", _data); using (UnityWebRequest _upload = UnityWebRequest.Post(serverRootURL + setDataPHP, _form)) { yield return(_upload.SendWebRequest()); while (_upload.isDone == false) { database.cloudStatus += "."; yield return(null); } database.cloudStatus += "\n"; #if UNITY_2020_1_OR_NEWER if (_upload.result == UnityWebRequest.Result.ConnectionError) #else if (_upload.isNetworkError || _upload.isHttpError || !string.IsNullOrEmpty(_upload.error)) #endif { database.cloudStatus += "- " + _upload.error + "\n"; if (OnUploadFailed != null) { OnUploadFailed(); } } else { database.cloudStatus += "- upload successful" + "\n"; if (OnUploadComplete != null) { OnUploadComplete(); } } } }