public override void OnInspectorGUI() { GUI.changed = false; GUILayout.Label("GoogleSpreadsheet Settings"); // path and asset file name which contains a google account and password. setting.AssetPath = GUILayout.TextField(setting.AssetPath, 120); GoogleDataSettings.AssetFileName = GUILayout.TextField(GoogleDataSettings.AssetFileName, 120); if (setting.CheckPath()) { // account and passwords setting, this should be specified before you're trying to connect a google spreadsheet. setting.Account = GUILayout.TextField(setting.Account, 100); setting.Password = GUILayout.PasswordField(setting.Password, "*"[0], 25); } else { GUILayout.BeginHorizontal(); GUILayout.Toggle(true, "", "CN EntryError", GUILayout.Width(20)); GUILayout.BeginVertical(); GUILayout.Label("", GUILayout.Height(12)); GUILayout.Label("Correct the path of the GoogleDataSetting.asset file.", GUILayout.Height(20)); GUILayout.EndVertical(); GUILayout.EndHorizontal(); } if (GUI.changed) { EditorUtility.SetDirty(setting); AssetDatabase.SaveAssets(); } }
public override void OnInspectorGUI() { GUI.changed = false; GUIStyle headerStyle = GUIHelper.MakeHeader(); GUILayout.Label("GoogleSpreadsheet Settings", headerStyle); EditorGUILayout.Separator(); // path and asset file name which contains a google account and password. GUILayout.BeginHorizontal(); GUILayout.Label("Setting FilePath: ", GUILayout.Width(110)); setting.AssetPath = GUILayout.TextField(setting.AssetPath, 120); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Setting FileName: ", GUILayout.Width(110)); GoogleDataSettings.AssetFileName = GUILayout.TextField(GoogleDataSettings.AssetFileName, 120); GUILayout.EndHorizontal(); EditorGUILayout.Separator(); if (setting.CheckPath()) { const int LabelWidth = 90; GUILayout.BeginHorizontal(); // Begin json file setting GUILayout.Label("JSON File:", GUILayout.Width(LabelWidth)); string path = ""; if (string.IsNullOrEmpty(setting.JsonFilePath)) { path = Application.dataPath; } else { path = setting.JsonFilePath; } setting.JsonFilePath = GUILayout.TextField(path, GUILayout.Width(250)); if (GUILayout.Button("...", GUILayout.Width(20))) { string folder = Path.GetDirectoryName(path); path = EditorUtility.OpenFilePanel("Open JSON file", folder, "json"); if (path.Length != 0) { StringBuilder builder = new StringBuilder(); using (StreamReader sr = new StreamReader(path)) { string s = ""; while (s != null) { s = sr.ReadLine(); builder.Append(s); } } string jsonData = builder.ToString(); var oauthData = JObject.Parse(jsonData).SelectToken("installed").ToString(); GoogleDataSettings.Instance.OAuth2Data = JsonConvert.DeserializeObject <GoogleDataSettings.OAuth2JsonData>(oauthData); setting.JsonFilePath = path; // force to save the setting. EditorUtility.SetDirty(setting); AssetDatabase.SaveAssets(); } } GUILayout.EndHorizontal(); // End json file setting. if (setting.OAuth2Data.client_id == null) { setting.OAuth2Data.client_id = string.Empty; } if (setting.OAuth2Data.client_secret == null) { setting.OAuth2Data.client_secret = string.Empty; } // client_id for OAuth2 GUILayout.BeginHorizontal(); GUILayout.Label("Client ID: ", GUILayout.Width(LabelWidth)); setting.OAuth2Data.client_id = GUILayout.TextField(setting.OAuth2Data.client_id); GUILayout.EndHorizontal(); // client_secret for OAuth2 GUILayout.BeginHorizontal(); GUILayout.Label("Client Secret: ", GUILayout.Width(LabelWidth)); setting.OAuth2Data.client_secret = GUILayout.TextField(setting.OAuth2Data.client_secret); GUILayout.EndHorizontal(); EditorGUILayout.Separator(); if (GUILayout.Button("Start Authenticate")) { GDataDB.Impl.GDataDBRequestFactory.InitAuthenticate(); } GoogleDataSettings.Instance._AccessCode = EditorGUILayout.TextField("AccessCode", GoogleDataSettings.Instance._AccessCode); if (GUILayout.Button("Finish Authenticate")) { GDataDB.Impl.GDataDBRequestFactory.FinishAuthenticate(); } EditorGUILayout.Separator(); GUILayout.BeginHorizontal(); GUILayout.Label("Runtime Path: ", GUILayout.Width(LabelWidth)); setting.RuntimePath = GUILayout.TextField(setting.RuntimePath); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Editor Path: ", GUILayout.Width(LabelWidth)); setting.EditorPath = GUILayout.TextField(setting.EditorPath); GUILayout.EndHorizontal(); } else { GUILayout.BeginHorizontal(); GUILayout.Toggle(true, "", "CN EntryError", GUILayout.Width(20)); GUILayout.BeginVertical(); GUILayout.Label("", GUILayout.Height(12)); GUILayout.Label("Correct the path of the GoogleDataSetting.asset file.", GUILayout.Height(20)); GUILayout.EndVertical(); GUILayout.EndHorizontal(); } if (GUI.changed) { EditorUtility.SetDirty(setting); AssetDatabase.SaveAssets(); } }
public override void OnInspectorGUI() { GUI.changed = false; GUIStyle headerStyle = GUIHelper.MakeHeader(); GUILayout.Label("GoogleSpreadsheet Settings", headerStyle); EditorGUILayout.Separator(); // path and asset file name which contains a google account and password. GUILayout.BeginHorizontal(); GUILayout.Label("Setting FilePath: ", GUILayout.Width(110)); setting.AssetPath = GUILayout.TextField(setting.AssetPath, 120); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Setting FileName: ", GUILayout.Width(110)); GoogleDataSettings.AssetFileName = GUILayout.TextField(GoogleDataSettings.AssetFileName, 120); GUILayout.EndHorizontal(); EditorGUILayout.Separator(); if (setting.CheckPath()) { const int LabelWidth = 90; // account and passwords setting, this should be specified before you're trying to connect a google spreadsheet. GUILayout.BeginHorizontal(); GUILayout.Label("Account: ", GUILayout.Width(LabelWidth)); setting.Account = GUILayout.TextField(setting.Account); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Password: "******"*"[0], 25); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Runtime Path: ", GUILayout.Width(LabelWidth)); setting.RuntimePath = GUILayout.TextField(setting.RuntimePath); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Editor Path: ", GUILayout.Width(LabelWidth)); setting.EditorPath = GUILayout.TextField(setting.EditorPath); GUILayout.EndHorizontal(); } else { GUILayout.BeginHorizontal(); GUILayout.Toggle(true, "", "CN EntryError", GUILayout.Width(20)); GUILayout.BeginVertical(); GUILayout.Label("", GUILayout.Height(12)); GUILayout.Label("Correct the path of the GoogleDataSetting.asset file.", GUILayout.Height(20)); GUILayout.EndVertical(); GUILayout.EndHorizontal(); } if (GUI.changed) { EditorUtility.SetDirty(setting); AssetDatabase.SaveAssets(); } }