private void OnEnable() { if (EditorPrefs.HasKey(LastLanguageDatatableEditedKey)) { string assetPath = EditorPrefs.GetString(LastLanguageDatatableEditedKey); LanguageDatatable languageDatatable = AssetDatabase.LoadAssetAtPath <LanguageDatatable>(assetPath); if (languageDatatable != null) { _languageDatatableSo = new SerializedObject(languageDatatable); } } if (_languageDatatableSo != null) { if (_treeViewState == null) { _treeViewState = new TreeViewState(); } if (_languageDatatableDrawer == null) { _languageDatatableDrawer = new LanguageDatatableDrawer(_treeViewState, CreateMultiColumnHeader()); } } }
public static bool OnOpenAsset(int instanceID, int line) { LanguageDatatable datatable = EditorUtility.InstanceIDToObject(instanceID) as LanguageDatatable; if (datatable != null) { SerializedObject datatableSo = new SerializedObject(datatable); if (datatableSo != null) { LanguageDatatableWindow.Init(datatableSo); return(true); } } return(false); }
protected override IList <TreeViewItem> BuildRows(TreeViewItem root) { List <TreeViewItem> treeViewItems = new List <TreeViewItem>(); if (_languageDatatableSo != null) { LanguageDatatable languageDatatable = _languageDatatableSo.targetObject as LanguageDatatable; List <LanguageDatatableRow> rows = languageDatatable.GetRows(); for (int i = 0; i < rows.Count; ++i) { rows[i].id = i; rows[i].depth = 0; rows[i].displayName = rows[i].key; root.AddChild(rows[i]); treeViewItems.Add(rows[i]); } } return(treeViewItems); }