Example #1
0
        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();
                    }
                }
            }
        }
Example #2
0
 void Awake()
 {
     //called when an instance awakes in the game
     instance = this;             //set our static reference to our newly initialized instance
 }
Example #3
0
        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());
 }
Example #5
0
        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();
                    }
                }
            }
        }