示例#1
0
    /// <summary>
    /// Start this instance.
    /// </summary>
    /// <returns>A Unity coroutine IEnumerator.</returns>
    public IEnumerator Start()
    {
        nArray = new MoBackArray();
        MoBackRow newRow1 = new MoBackRow("TestMoback");

        // Create a new row for a new user with a score of 0 to start.
        newRow1.SetValue("Name", "MoBackUser");
        newRow1.SetValue("Score", 0);

        // Send the data to the table and wait for a response.
        MoBackRequest response = newRow1.Save();

        yield return(response.Run());

        // If the response to the request is an error, output the error details.
        if (response.State == MoBackRequest.RequestState.ERROR)
        {
            Debug.LogError(response.errorDetails);
        }

        if (menuHandler == null)
        {
            menuHandler = FindObjectOfType <DemoMenuHandler>();
        }
    }
示例#2
0
        public static object MoBackTypedObjectFromJSON(SimpleJSONNode node, out MoBackValueType dataType)
        {
            if (MoBackAppSettings.doublePrecisionFloatingPoint && node.valueType == typeof(double))
            {
                dataType = MoBackValueType.Number;
                return(new MoBackNumber(node.AsDouble));
            }
            else if (!MoBackAppSettings.doublePrecisionFloatingPoint && node.valueType == typeof(float))
            {
                dataType = MoBackValueType.Number;
                return(new MoBackNumber(node.AsFloat));
            }
            else if (node.valueType == typeof(int))
            {
                dataType = MoBackValueType.Number;
                return(new MoBackNumber(node.AsInt));
            }
            else if (node.valueType == typeof(bool))
            {
                dataType = MoBackValueType.Boolean;
                return(node.AsBool);
            }
            else if (node.valueType == typeof(string))
            {
                dataType = MoBackValueType.String;
                return(node.Value);
            }
            else if (node.valueType == typeof(SimpleJSONClass))
            {
                SimpleJSONClass nestedClass = (SimpleJSONClass)node;
                if (nestedClass.dict.ContainsKey("__type"))
                {
                    //is a special type, treat accordingly
                    switch (nestedClass["__type"].Value)
                    {
                    case "Date":
                        dataType = MoBackValueType.Date;
                        return(MoBackDate.DateFromMoBackJSON(node));

                    case "Pointer":
                        dataType = MoBackValueType.Pointer;
                        return(MoBackPointer.PointerFromMoBackJSON(node));

                    case "Relation":
                        dataType = MoBackValueType.Relation;
                        return(MoBackRelation.RelationFromMoBackJSON(node));

                    case "File":
                        dataType = MoBackValueType.File;
                        return(MoBackFile.FromJSON(node));

                    default:
                        //not familiar with this special type; fall back to parsing as regular object
                        if (MoBack.MoBackAppSettings.loggingLevel >= MoBack.MoBackAppSettings.LoggingLevel.WARNINGS)
                        {
                            Debug.LogWarning("Unrecognized MoBack reserved type '" + nestedClass["__type"] + "'.");
                        }
                        dataType = MoBackValueType.MoBackObject;
                        return(MoBackObject.FromJSON(nestedClass));
                    }
                }
                else
                {
                    dataType = MoBackValueType.MoBackObject;
                    return(MoBackObject.FromJSON(nestedClass));
                }
            }
            else if (node.valueType == typeof(SimpleJSONArray))
            {
                dataType = MoBackValueType.Array;
                return(MoBackArray.FromJSON((SimpleJSONArray)node));
            }

            throw new ArgumentException("JSON data type not supported in some manner.", "SimpleJsonNode node");
        }