// ============================ // coroutine: save the user profile IEnumerator saveUser(string username, User user) { saving = true; string oldName = user.Name; user.Name = username; // update user // do the request var headers = new Dictionary <string, string>(); headers["Content-Type"] = "application/json"; WWW www = new WWW(WebCs.UsersUrl(), FileCs.DefaultEncoding.GetBytes(user.ToJson()), headers); yield return(www); // check result saving = false; if (www.error != null) { user.Name = oldName; // revert Debug.Log(www.error); StatusText.text = "Error saving user : "******"Saved."; } }
// ================================================= // coroutine: load the list of profiles from the server IEnumerator getUsersList(Action <string> complete) { WWW www = new WWW(WebCs.UsersUrl("all")); yield return(www); if (www.error != null) { complete(www.error); } else { try { usernames = JsonConvert.DeserializeObject <List <Username> >(www.text); complete(null); } catch (Exception e) { complete(e.Message); } } }
// ================================================= // coroutine: get the user profile from its id IEnumerator loadUser(string username, Action <User, string> complete) { WWW www = new WWW(WebCs.UsersUrl(username)); yield return(www); if (www.error != null) { complete(null, www.error); } else { try { var user = User.FromJson(www.text); complete(user, null); } catch (Exception e) { Debug.Log(e); complete(null, e.Message); } } }