public static WitApplication FromJson(WitResponseNode appWitResponse) { var app = new WitApplication(); app.UpdateData(appWitResponse); return(app); }
// Apply all application data private static void ApplyAllApplicationData(string serverToken, WitResponseNode witResponse, Action <string> onComplete) { var applications = witResponse.AsArray; for (int i = 0; i < applications.Count; i++) { // Get application var application = WitApplication.FromJson(applications[i]); string appID = application?.id; // Apply app server token if applicable if (applications[i]["is_app_for_token"].AsBool) { WitAuthUtility.SetAppServerToken(appID, serverToken); } // Apply to configuration int witConfigIndex = Array.FindIndex(WitConfigs, (configuration) => string.Equals(appID, configuration?.application?.id)); if (witConfigIndex != -1) { WitConfiguration configuration = _witConfigs[witConfigIndex]; configuration.application = application; EditorUtility.SetDirty(configuration); configuration.RefreshData(); } } onComplete(""); }
public static void UpdateTokenData(string serverToken, Action updateComplete = null) { if (!WitAuthUtility.IsServerTokenValid(serverToken)) { return; } var listRequest = WitRequestFactory.ListAppsRequest(serverToken, 10000); listRequest.onResponse = (r) => { if (r.StatusCode == 200) { var applications = r.ResponseData.AsArray; for (int i = 0; i < applications.Count; i++) { if (applications[i]["is_app_for_token"].AsBool) { var application = WitApplication.FromJson(applications[i]); EditorForegroundRunner.Run(() => { WitAuthUtility.SetAppServerToken(application.id, serverToken); updateComplete?.Invoke(); }); break; } } } else { Debug.LogError(r.StatusDescription); } }; listRequest.Request(); }
public void DrawApplication(WitApplication application) { if (string.IsNullOrEmpty(application.name)) { GUILayout.Label("Loading..."); } else { InfoField("Name", application.name); InfoField("ID", application.id); InfoField("Language", application.lang); InfoField("Created", application.createdAt); GUILayout.BeginHorizontal(); GUILayout.Label("Private", GUILayout.Width(100)); GUILayout.Toggle(application.isPrivate, ""); GUILayout.EndHorizontal(); } }
private static void FetchApplicationFromServerToken(WitConfiguration configuration, string serverToken, Action response) { var listRequest = WitRequestFactory.ListAppsRequest(serverToken, 10000); listRequest.onResponse = (r) => { if (r.StatusCode == 200) { var applications = r.ResponseData.AsArray; for (int i = 0; i < applications.Count; i++) { if (applications[i]["is_app_for_token"].AsBool) { if (null != configuration.application) { configuration.application.UpdateData(applications[i]); } else { configuration.application = WitApplication.FromJson(applications[i]); } EditorForegroundRunner.Run(() => { WitAuthUtility.SetAppServerToken(configuration.application.id, serverToken); response?.Invoke(); }); break; } } } else { Debug.LogError(r.StatusDescription); } }; listRequest.Request(); }
// Apply application data private static void ApplyApplicationData(WitConfiguration configuration, WitResponseNode witResponse, Action <string> onComplete) { var applications = witResponse.AsArray; for (int i = 0; i < applications.Count; i++) { if (applications[i]["is_app_for_token"].AsBool) { if (configuration.application == null) { configuration.application = WitApplication.FromJson(applications[i]); } else { configuration.application.UpdateData(applications[i]); } configuration.application.witConfiguration = configuration; EditorUtility.SetDirty(configuration); onComplete?.Invoke(""); return; } } onComplete?.Invoke("No applicable configuration application found"); }
private void DrawApplication(WitApplication application) { appDrawer.DrawApplication(application); }