public void RequestLogout() { if (!IsLogoutRequestPending) { AsyncJSONRequest gameListRequest = AsyncJSONRequest.Create(m_gameWorldController.gameObject); Dictionary <string, object> request = new Dictionary <string, object>(); request["username"] = SessionData.GetInstance().UserName; IsLogoutRequestPending = true; gameListRequest.POST( ServerConstants.logoutRequestURL, request, (AsyncJSONRequest asyncRequest) => { if (asyncRequest.GetRequestState() == AsyncJSONRequest.eRequestState.succeded) { JsonData response = asyncRequest.GetResult(); string responseResult = (string)response["result"]; if (responseResult == "Success") { m_gameWorldController.OnLogoutComplete(); } else { m_gameWorldController.OnRequestFailed(responseResult); Debug.LogError("Logout Request Failed: " + asyncRequest.GetFailureReason()); } } else { m_gameWorldController.OnRequestFailed("Connection Failure!"); Debug.LogError("Logout Request Failed: " + asyncRequest.GetFailureReason()); } IsLogoutRequestPending = false; }); } }