private void RefreshAppData(string appId, string token = "") { var refreshToken = WitAuthUtility.GetAppServerToken(appId, token); if (string.IsNullOrEmpty(refreshToken) && string.IsNullOrEmpty(appId) && !string.IsNullOrEmpty(configuration?.application?.id)) { refreshToken = WitAuthUtility.GetAppServerToken(configuration.application.id, WitAuthUtility.ServerToken); appId = WitAuthUtility.GetAppId(refreshToken); if (string.IsNullOrEmpty(appId)) { UpdateTokenData(refreshToken, () => { appId = WitAuthUtility.GetAppId(refreshToken); if (appId == configuration.application.id) { configuration.FetchAppConfigFromServerToken(refreshToken, () => { currentToken = refreshToken; WitAuthUtility.SetAppServerToken(configuration.application.id, currentToken); EditorUtility.SetDirty(configuration); EditorForegroundRunner.Run(Repaint); appConfigurationFoldout = false; }); } }); return; } if (appId == configuration.application.id) { refreshToken = WitAuthUtility.ServerToken; } } if (currentToken != refreshToken) { currentToken = refreshToken; } configuration.FetchAppConfigFromServerToken(refreshToken, () => { currentToken = refreshToken; EditorForegroundRunner.Run(Repaint); appConfigurationFoldout = false; }); }
public static WitConfiguration CreateWitConfiguration(string serverToken, Action onCreationComplete) { var path = EditorUtility.SaveFilePanel("Create Wit Configuration", Application.dataPath, "WitConfiguration", "asset"); if (!string.IsNullOrEmpty(path) && path.StartsWith(Application.dataPath)) { WitConfiguration asset = ScriptableObject.CreateInstance <WitConfiguration>(); asset.FetchAppConfigFromServerToken(serverToken, onCreationComplete); path = path.Substring(Application.dataPath.Length - 6); AssetDatabase.CreateAsset(asset, path); AssetDatabase.SaveAssets(); return(asset); } return(null); }