Exemplo n.º 1
0
    //----------------------------------------------------------------------------------

    // 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);
        }
Exemplo n.º 3
0
    //----------------------------------------------------------------------------------

    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;
    }
Exemplo n.º 4
0
    //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;
    }
Exemplo n.º 5
0
    public void LoadRecord(MarkUpRecord markUpRecord)
    {
        markupData = markUpRecord;

        gameObject.transform.localPosition = markupData.location;
    }