/** ******************************************************************************** * @summary リロードボタン - reload btn. ***********************************************************************************/ private void DrawButtons() { if (treeView == null) { return; } if (GUILayout.Button("Reload")) { CreateTreeView(); ReloadTexture(); headerState.ResetSearch(); treeView.SetTexture(textures, textureImporters); treeView.Reload(); // Reloadを呼ぶとBuildRootが実行され、次にBuildRowsが実行されます。 EditorApplication.delayCall += () => treeView.searchString = TextureTreeView.defaultSearchString; } GUI.backgroundColor = new Color(0.5F, 1F, 0.3F, 1); // if (GUILayout.Button(nameof(Generate), GUILayout.MaxWidth(120))) if (GUILayout.Button("Recommended texture formats")) { Application.OpenURL("https://docs.unity3d.com/Manual/class-TextureImporterOverride.html"); } }
/** ******************************************************************************** * @summary TreeView の更新 Update ***********************************************************************************/ private void CreateTreeView() { if (treeView != null) { return; } if (isCreatingTreeView) { return; } isCreatingTreeView = true; Repaint(); EditorApplication.delayCall += () => { if (columnSearchStates == null || columnSearchStates.Length != ToolConfig.HeaderColumnNum) { columnSearchStates = new SearchState[ToolConfig.HeaderColumnNum]; for (int i = 0; i < ToolConfig.HeaderColumnNum; i++) { columnSearchStates[i] = new SearchState(); } } treeViewState = treeViewState ?? new TextureTreeViewState(); headerState = headerState ?? new TextureColumnHeaderState(ToolConfig.HeaderColumns, columnSearchStates); headerState.ResetSearch(); // TreeView作成 treeView = treeView ?? new TextureTreeView(treeViewState, headerState); treeView.searchString = TextureTreeView.defaultSearchString; treeView.Reload(); // Reloadを呼ぶとBuildRootが実行され、次にBuildRowsが実行されます。 // SearchFieldを初期化 searchField = new SearchField(); searchField.downOrUpArrowKeyPressed += treeView.SetFocusAndEnsureSelectedItem; isCreatingTreeView = false; }; }
/** ******************************************************************************** * @summary リロードボタン ***********************************************************************************/ private void DrawReloadButton() { if (treeView == null) { return; } if (GUILayout.Button("Reload", EditorStyles.toolbarButton)) { CreateTreeView(); ReloadTexture(); headerState.ResetSearch(); treeView.SetTexture(textures, textureImporters); treeView.Reload(); // Reloadを呼ぶとBuildRootが実行され、次にBuildRowsが実行されます。 EditorApplication.delayCall += () => treeView.searchString = TextureTreeView.defaultSearchString; } }