private void SendData(object state) { if (meshKey != 0 && isRegistered == true && needsToSend == true) { bool send = false; lock (meshDataLock) { send = serializer.Serialize(meshTriangles, meshVerts, meshColor); } if (send) { UploadMesh(rootServerUrl + "/mesh/" + meshSlot + "/frame", serializer.packet, meshKey); } } }
void Update() { if (wwwcall != null && wwwcall.IsDone && meshKey == 0 && isRegistered == false) { if (wwwcall.Error != null) { Debug.Log("error registering: " + wwwcall.Error); } else { var result = Json.Deserialize(wwwcall.Text) as Dictionary <string, object>; if ((bool)result["result"]) { isRegistered = true; meshKey = (int)((long)result["key"]); meshSlot = (int)((long)result["index"]); } else { isRegistered = false; Debug.Log("Unable to register: " + (string)result["error"]); } } wwwcall = null; } else if (meshKey != 0 && isRegistered == true && needsToSend == true && meshToSend != null) { if (wwwcall == null) { wwwcall = new RequestWWW(); serializer.Serialize(meshToSend); StartCoroutine(wwwcall.doHttpPost(rootServerUrl + "/mesh/" + meshSlot + "/frame", serializer.packet, meshKey)); } else if (wwwcall != null && wwwcall.IsDone) { wwwcall = null; } } }