IEnumerator MergeTrainingFile(string ScreenNameType, string Type, string DownloadString, string ActionType) { // remove old data string URL = UserBlobManager.GetComponent <UserBlobManager>().ServerURL + "uw.php"; string hash = UserBlobManager.GetComponent <UserBlobManager>().ServerHash; string Action = "remove_upload_data"; if (ActionType == "Everyone") { Action = "remove_share_data"; } WWWForm form = new WWWForm(); form.AddField("myform_hash", hash); form.AddField("action", Action); form.AddField("myform_screennametype", ScreenNameType); WWW w = new WWW(URL, form); yield return(w); if (w.error != null) { print(w.error); } else { SaveTrainingData tempTraining = new SaveTrainingData(); tempTraining = (SaveTrainingData)DeserializeObject(DownloadString, "SaveTrainingData"); // get data to add SaveTrainingData UserTrainingData = new SaveTrainingData(); for (int i = 0; i < UserBlobManager.GetComponent <UserBlobManager>().ShareTrainingData.Count; i++) { UserTrainingData.Add(UserBlobManager.GetComponent <UserBlobManager>().ShareTrainingData[i]); } // merge data for (int i = 0; i < tempTraining.Training.Length; i++) { // check for duplicates bool duplicateFound = false; for (int j = 0; j < UserTrainingData.Training.Length; j++) { if (tempTraining.Training[i].Name == UserTrainingData.Training[j].Name) { duplicateFound = true; } } if (!duplicateFound) { UserTrainingData.Add(tempTraining.Training[i]); } } // upload file string Data = SerializeObject(UserTrainingData, "SaveTrainingData"); int index = Data.IndexOf(System.Environment.NewLine); Data = Data.Substring(index + System.Environment.NewLine.Length); StartCoroutine(UploadFile(ScreenNameType, "Training", Data, ActionType)); } w.Dispose(); }
IEnumerator UploadTrainingFile(string FriendName, string ActionType) { string formText = ""; string URL = UserBlobManager.GetComponent <UserBlobManager>().ServerURL + "uw.php"; string hash = UserBlobManager.GetComponent <UserBlobManager>().ServerHash; string ScreenNameType = FriendName + "_Training"; string Action = "get_upload_data"; if (ActionType == "Everyone") { Action = "get_share_data"; } WWWForm form = new WWWForm(); form.AddField("action", Action); form.AddField("myform_screennametype", ScreenNameType); form.AddField("myform_type", "Training"); form.AddField("myform_hash", hash); WWW w = new WWW(URL, form); yield return(w); formText = w.text.ToString(); print(formText); if (w.error != null) { print(w.error); } else { if (formText.Contains("HASH code is different from your app")) { print("Can't connect"); } else { if (!formText.Contains("Cant Find Upload Data") && formText != "\r\n") { // merge file print("Merge Upload File"); StartCoroutine(MergeTrainingFile(ScreenNameType, "Training", formText, ActionType)); } else { // serialize SaveTrainingData UserTrainingData = new SaveTrainingData(); for (int i = 0; i < UserBlobManager.GetComponent <UserBlobManager>().ShareTrainingData.Count; i++) { UserTrainingData.Add(UserBlobManager.GetComponent <UserBlobManager>().ShareTrainingData[i]); } string Data = SerializeObject(UserTrainingData, "SaveTrainingData"); int index = Data.IndexOf(System.Environment.NewLine); Data = Data.Substring(index + System.Environment.NewLine.Length); // upload file print("Upload File"); StartCoroutine(UploadFile(ScreenNameType, "Training", Data, ActionType)); } } } w.Dispose(); }