Esempio n. 1
0
    /// <summary>
    /// Deletes the multiple objects.
    /// </summary>
    /// <returns>A Unity coroutine IEnumerator.</returns>
    private IEnumerator DeleteMultipleObjects()
    {
        if (demoBatchObjects == null || demoBatchObjects.Count <= 0)
        {
            Debug.LogError("Need to populate demoBatchObjects first");
            Display("Need to populate demoBatchObjects first");
            yield break;
        }
        deleteButton.enabled = false;
        MoBackTableInterface demoBatchTable = new MoBackTableInterface(DemoBatchTableName);

        MoBackRequest deleteMultipleObjectsRequest = demoBatchTable.RequestB.DeleteMultipleOjbects(demoBatchObjects);

        yield return(deleteMultipleObjectsRequest.Run());

        if (deleteMultipleObjectsRequest.State == MoBackRequest.RequestState.COMPLETED)
        {
            Display("Object deleted ");
            demoBatchObjects = new List <MoBackRow>();
        }
        else if (deleteMultipleObjectsRequest.State == MoBackRequest.RequestState.ERROR)
        {
            Display(deleteMultipleObjectsRequest.errorDetails.Message);
        }
        deleteButton.enabled = false;
    }
Esempio n. 2
0
    /// <summary>
    /// Saves multiple MoBack Objects(Row) with a single call.
    /// </summary>
    /// <returns>A Unity coroutine IEnumerator.</returns>
    private IEnumerator SaveMultipleObjects()
    {
        if (demoBatchObjects == null || demoBatchObjects.Count <= 0)
        {
            Display("No data in object");
        }
        saveButton.enabled = false;
        MoBackTableInterface demoBatchTable             = new MoBackTableInterface(DemoBatchTableName);
        MoBackRequest        saveMultipleObjectsRequest = demoBatchTable.RequestB.SaveMultipleObjects(demoBatchObjects);

        yield return(saveMultipleObjectsRequest.Run());

        if (saveMultipleObjectsRequest.State == MoBackRequest.RequestState.COMPLETED)
        {
            foreach (var item in demoBatchObjects)
            {
                Display("Object saved");
            }
        }
        if (saveMultipleObjectsRequest.State == MoBackRequest.RequestState.ERROR)
        {
            Display(saveMultipleObjectsRequest.errorDetails.Message);
        }
        saveButton.enabled = true;
    }
Esempio n. 3
0
    /// <summary>
    /// Gets the score and Debug.Logs it in the console as well as displays it in DisplayText.
    /// </summary>
    /// <returns>A Unity coroutine IEnumerator.</returns>
    public IEnumerator FetchScore()
    {
        // Create a variable to hold the recieved results from the server.
        string score = null;

        // Fetch data from the specified table and send the request with a specific parameter of EqualTo(), which will only return
        // values that are equal to "MoBackUser" under the column of "Name".
        table = new MoBackTableInterface("TestMoback");
        MoBackRequest <List <MoBackRow> > tableContentsFetch = table.GetRows(new MoBackRequestParameters().EqualTo("Name", "MoBackUser"));

        yield return(tableContentsFetch.Run());

        // If the fetch request is successful, display the data.
        if (tableContentsFetch.State == MoBackRequest.RequestState.COMPLETED)
        {
            List <MoBackRow> rows = tableContentsFetch.ResponseValue;
            for (int i = 0; i < rows.Count; i++)
            {
                if (rows[i].GetString("Name") == "MoBackUser")
                {
                    // Display the score in the debug console and in the DisplayText text object in the scene.
                    score = rows[i].GetInt("Score").ToString();
                    Debug.Log("Score: " + score);
                    menuHandler.Display("Score: " + score.ToString());
                }
            }
        }
        else
        {
            Debug.Log(tableContentsFetch.errorDetails);
        }
    }
Esempio n. 4
0
    public IEnumerator Data()     //здесь происходит поиск данных по ID и при + результате внесение их в переменные для дальнейшей работы
    {
        exampleTable = new MoBackTableInterface("PlayersData");
        MoBackRequest <List <MoBackRow> > tableContentsFetch = exampleTable.GetRows();

        yield return(tableContentsFetch.Run());

        if (tableContentsFetch.State == MoBackRequest.RequestState.COMPLETED)
        {
            rows = tableContentsFetch.ResponseValue;
            for (int i = 0; i < rows.Count; i++)
            {
                if (rows [i].GetString("IDcode") == currentID)
                {
                    rowPosition = i;
                    MoBackRequest response1 = exampleTable.DeleteObject(rows [rowPosition].GetString("objectId"));
                    yield return(response1.Run());

                    a        = rows [i].GetFloat("aValue");
                    b        = rows [i].GetFloat("bValue");
                    x        = rows [i].GetFloat("xValue");
                    y        = rows [i].GetFloat("yValue");
                    maxScene = rows [i].GetInt("maxScene");
                    break;
                }
            }
        }
        else
        {
            Debug.Log(tableContentsFetch.errorDetails);
        }

        initialized = true;
    }
Esempio n. 5
0
    /// <summary>
    /// Updates an existing row with a new score and notifies the user when successful.
    /// </summary>
    /// <returns>A Unity coroutine IEnumerator.</returns>
    /// <param name="score">Score to submit.</param>
    public IEnumerator SubmitScore(int score)
    {
        // Create a new table called "TestMoBack" if it hasn't already been created; otherwise, specify which table you want to work with.
        table = new MoBackTableInterface("TestMoback");

        // Send a request for data to the server with a specific set of parameters.
        MoBackRequest <List <MoBackRow> > tableContentsFetch = table.GetRows(new MoBackRequestParameters().EqualTo("Name", "MoBackUser"));

        yield return(tableContentsFetch.Run());

        // Once the request has been completed, manipulate the fetched data.
        if (tableContentsFetch.State == MoBackRequest.RequestState.COMPLETED)
        {
            List <MoBackRow> rows = tableContentsFetch.ResponseValue;

            // Update the last item in the table to a new score and send to the server.
            MoBackRow newRow = rows[rows.Count - 1];
            newRow.SetValue("Score", score);
            MoBackRequest response = newRow.Save();

            // Wait for a response before displaying that the request was successful.
            yield return(response.Run());

            if (response.State == MoBackRequest.RequestState.COMPLETED)
            {
                menuHandler.Display("Score submitted successfully.");
            }
            else
            {
                menuHandler.Display("Request was not successful. Please double check your app ID and/or environment key.");

                // Display an error should one occur.
                Debug.Log(response.errorDetails);
            }
        }
        else
        {
            // Display an error should one occur.
            Debug.Log(tableContentsFetch.errorDetails);
        }
    }
Esempio n. 6
0
    /// <summary>
    /// Creates the relation.
    /// </summary>
    /// <returns>The relation.</returns>
    private IEnumerator CreateRelation()
    {
        MoBackTableInterface childTable = new MoBackTableInterface(ChildRelationTableName);

        MoBackRequest saveOjbectsRequest = childTable.RequestB.SaveMultipleObjects(items.ToList());

        yield return(saveOjbectsRequest.Run());

        MoBackRequest createRelationRequest = playerRow.AddRelations(DemoRelationColumn, items.ToArray());

        yield return(createRelationRequest.Run());

        if (createRelationRequest.State != MoBackRequest.RequestState.COMPLETED)
        {
            Debug.LogError("Can't create relation. " + createRelationRequest.errorDetails.Message);
            yield break;
        }
        else
        {
            Display("Relation Created");
            ChangeScene(relationScene);
        }
    }