//---------------------------------------------------------------------------------- // Used to start the SendMarkupToDatabase coroutine from Markup scripts public void SaveMarkUpToDatabase(MarkUpRecord record, GameObject markupGameObject) { databaseQueue.Enqueue(() => { StartCoroutine(PostMarkup_ToDatabase(record, markupGameObject)); }); if (!isDequeuing) { StartCoroutine(ExecuteDatabaseQueue()); } }
//for loading markups that are saved to the server public void LoadMarkUp(MarkUpRecord.MarkUpType type, MarkUpRecord markUpInstance) { GameObject markupObject = Instantiate(markupPrefab); MarkUp markUp = markupObject.GetComponent <MarkUp>(); markupObject.transform.parent = transform; markUp.LoadRecord(markUpInstance); }
//---------------------------------------------------------------------------------- private void InjectMarkupParams(string markupId, string jBlob) { MarkUpRecord myMarkupInstance; MarkupLibrarySingleton.instance.markupDict.TryGetValue(markupId, out myMarkupInstance); if (myMarkupInstance == null) { return; } MarkUpRecord markupParams = JsonUtility.FromJson <MarkUpRecord>(jBlob as string); myMarkupInstance.updated_at = markupParams.updated_at; myMarkupInstance.created_at = markupParams.created_at; myMarkupInstance.version_id = markupParams.version_id; }
//Attempts to create a new markup record. IEnumerator PostMarkup_ToDatabase(MarkUpRecord record, GameObject markupGameObject) { isWaitingForResponse = true; WWWForm markupForm = new WWWForm(); markupForm.AddField("version_id", versionId); markupForm.AddField("markup_id", record.markup_Id); markupForm.AddField("type", record.type.ToString()); markupForm.AddField("data", record.data.Serialize()); markupForm.AddField("creator", record.creator); markupForm.AddField("assigned", record.assigned); markupForm.AddField("location", JsonUtility.ToJson(record.location)); markupForm.AddField("status", record.status); var download = UnityWebRequest.Post(Endpoint_PostMarkup.url, markupForm); yield return(download.SendWebRequest()); if (markupGameObject != null) { MarkUp myMarkupInstance = markupGameObject.GetComponent <MarkUp>(); if (download.isNetworkError || download.isHttpError) { print("Error downloading: " + download.error); myMarkupInstance.markupData.DatabaseStatus = MarkUpRecord.databaseStatus.failedToRegister; } else { myMarkupInstance.markupData.DatabaseStatus = MarkUpRecord.databaseStatus.registered; InjectMarkupParams(myMarkupInstance.markupData.markup_Id, download.downloadHandler.text); } } isWaitingForResponse = false; }
public void LoadRecord(MarkUpRecord markUpRecord) { markupData = markUpRecord; gameObject.transform.localPosition = markupData.location; }