示例#1
0
        /// <summary>
        /// Create a new floor.
        /// </summary>
        /// <param name = "libId">Id of the library.</param>
        /// <param name = "floorName">Name of the new floor.</param>
        /// <param name = "floorOrder">Order of the new floor.</param>
        /// <param name="callback">Callback function for data handling.</param>
        public void CreateFloor(int libId, string floorName, int floorOrder, CreateFloorCallback callback)
        {
            if (createFloorCoroutine != null)
            {
                return;
            }

            Debug.Log("Creating floor");

            createFloorCoroutine = StartCoroutine(CreateFloorLoop(libId, floorName, floorOrder, callback));
        }
示例#2
0
        IEnumerator CreateFloorLoop(int libId, string floorName, int floorOrder, CreateFloorCallback callback)
        {
            WWWForm form = new WWWForm();

            form.AddField("request", "create_floor");
            form.AddField("token", token);
            form.AddField("library_id", libId);
            form.AddField("floor_name", floorName);
            form.AddField("floor_order", floorOrder);

            // Create a download object
            WWW request = new WWW(apiUrl, form);

            // Wait until the download is done
            yield return(request);

            if (!string.IsNullOrEmpty(request.error))
            {
                Debug.Log("Unable to create floor: " + request.error);
                callback(false, false, 0);
            }
            else
            {
                Debug.Log(request.text);
                JSONNode root = JSON.Parse(request.text);

                if (root["success"] != null && root["success"].AsBool)
                {
                    callback(true, true, root["id"]);
                }
                else
                {
                    callback(true, false, 0);
                }
            }

            createFloorCoroutine = null;
        }