JsonTableSync GetTableContent(JsonExtensionPropertyDrawerData data) { var google = new JsonTableSync(data.Provider) { TableId = data.m_TableId.stringValue }; return(google); }
void DrawTableNameField(JsonExtensionPropertyDrawerData data, ref Rect position) { #region inner EditorGUI.BeginDisabledGroup(string.IsNullOrEmpty(data.m_TableId.stringValue)); var sheetNamePos = position.SplitHorizontal(); var buttonPos = sheetNamePos.right.SplitHorizontal(); data.m_TableId.stringValue = EditorGUI.TextField(sheetNamePos.left, data.m_TableId.stringValue); if (GUI.Button(buttonPos.left, Styles.openTable)) { JsonTableSync.OpenTableInBrowser(data.m_TableId.stringValue); } EditorGUI.EndDisabledGroup(); #endregion inner if (EditorGUI.DropdownButton(buttonPos.right, Styles.SelectFile, FocusType.Passive)) { try { var google = GetTableContent(data); var files = HelperClass.GetDataFiles(); var menu = new GenericMenu(); foreach (var s in files) { menu.AddItem(new GUIContent(s.name), false, () => { data.m_TableId.stringValue = s.fileName; data.m_TableId.serializedObject.ApplyModifiedProperties(); }); } if (menu.GetItemCount() == 0) { menu.AddDisabledItem(Styles.NoFileFound); } menu.DropDown(sheetNamePos.right); } catch (Exception e) { Debug.LogException(e); } finally { EditorUtility.ClearProgressBar(); } } position.MoveToNextLine(); }