private static void CreateAssetStoreMenus() { if (GUILayout.Button(EditorHelper.TempContent(s_styles.IconAssetStore, S._OpenAssetStore), s_styles.Button, GUILayout.Width(s_styles.IconButtonSize))) { EditorUtils.AssetStoreWindow(); } }
/// <summary> /// ここに独自のエディターの GUI を実装します /// </summary> void OnGUI() { if (toolbarSearchField == null) { toolbarSearchField = new GUIStyle("ToolbarSeachTextField"); } if (toolbarSearchFieldCancelButton == null) { toolbarSearchFieldCancelButton = new GUIStyle("ToolbarSeachCancelButton"); } if (toolbarSearchFieldCancelButtonEmpty == null) { toolbarSearchFieldCancelButtonEmpty = new GUIStyle("ToolbarSeachCancelButtonEmpty"); } //toolbarSearchField.fixedHeight = 18; //toolbarSearchFieldCancelButton.fixedHeight = 18; //toolbarSearchFieldCancelButtonEmpty.fixedHeight = 18; if (m_styles == null) { m_styles = new Styles(); } m_styles.ToolbarPopup = new GUIStyle(EditorStyles.toolbarPopup); m_styles.ToolbarPopup.alignment = TextAnchor.MiddleCenter; if (m_localSettings == null) { m_localSettings = LocalSettings.i; } using (new GUILayout.HorizontalScope(EditorStyles.toolbar)) { GUILayout.Label(Icon.Get("Animation.PrevKey"), EditorStyles.toolbarButton); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { //EditorApplication.ExecuteMenuItem( "Assets/Navigate Backward History %-" ); UnityEditorProjectBrowser.lockOnce(); //SelectionHistory.Backward(); } GUILayout.Label(Icon.Get("Animation.NextKey"), EditorStyles.toolbarButton); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { //EditorApplication.ExecuteMenuItem( "Assets/Navigate Forward History %#-" ); UnityEditorProjectBrowser.lockOnce(); //SelectionHistory.Forward(); } GUILayout.Space(6); GUILayout.Label(Icon.Get("SceneAsset Icon"), EditorStyles.toolbarButton, GUILayout.Width(26)); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { var optionsMenu = new GenericMenu(); foreach (var e in m_localSettings.sceneList) { var path = AssetDatabase.GUIDToAssetPath(e); if (File.Exists(path)) { optionsMenu.AddItem(new GUIContent(path.fileNameWithoutExtension()), false, onLoadScene, path); } else { optionsMenu.AddDisabledItem(new GUIContent(path.fileNameWithoutExtension( ) + ": File not found")); } } optionsMenu.DropDown(EditorHelper.PopupRect(GUILayoutUtility.GetLastRect())); } GUILayout.Label(Icon.Get("SceneAsset Icon"), EditorStyles.toolbarButton, GUILayout.Width(26)); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { var optionsMenu = new GenericMenu(); foreach (var e in m_localSettings.sceneList2) { var path = AssetDatabase.GUIDToAssetPath(e); if (File.Exists(path)) { optionsMenu.AddItem(new GUIContent(path.fileNameWithoutExtension( )), false, onLoadScene, path); } else { optionsMenu.AddDisabledItem(new GUIContent(path.fileNameWithoutExtension( ) + ": File not found")); } } optionsMenu.DropDown(EditorHelper.PopupRect(GUILayoutUtility.GetLastRect())); } GUILayout.Label(Icon.Get("GameManager Icon"), EditorStyles.toolbarButton, GUILayout.Width(26)); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { var optionsMenu = new GenericMenu(); //optionsMenu.AddItem( new GUIContent( "ScriptingDefineSymbols" ), false, onSelectObject, "Assets/Game/ScriptingDefineSymbols.asset" ); foreach (var e in m_localSettings.scriptableObjectList) { var path = AssetDatabase.GUIDToAssetPath(e); if (File.Exists(path)) { optionsMenu.AddItem(new GUIContent(path.fileNameWithoutExtension( )), false, onSelectObject, path); } else { optionsMenu.AddDisabledItem(new GUIContent(path.fileNameWithoutExtension( ) + ": File not found")); } } optionsMenu.DropDown(EditorHelper.PopupRect(GUILayoutUtility.GetLastRect())); } GUILayout.Label(Icon.Get("Folder Icon"), EditorStyles.toolbarButton, GUILayout.Width(26)); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { var optionsMenu = new GenericMenu(); optionsMenu.AddItem(new GUIContent("Local"), false, onShowFolderConternts, "Assets/Local"); optionsMenu.AddItem(new GUIContent("CutScene"), false, onShowFolderConternts, "Assets/Grp/CutScene"); optionsMenu.DropDown(EditorHelper.PopupRect(GUILayoutUtility.GetLastRect())); } GUILayout.Space(12); #if false GUILayout.Label(Icon.Get("BuildSettings.Metro.Small"), EditorStyles.toolbarButton, GUILayout.Width(26)); if (ut.hasMouseClick(GUILayoutUtility.GetLastRect())) { EditorApplication.ExecuteMenuItem("Window/" + Hananokia.className + "/" + BuildWindow.className); } #endif GUILayout.Label(Icon.Get("GameManager Icon"), EditorStyles.toolbarButton, GUILayout.Width(26)); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { EditorApplication.ExecuteMenuItem("Window/ProjectSettingWindow"); } #if UNITY_2017 GUILayout.Label(Icon.Get("Animation Icon"), EditorStyles.toolbarButton, GUILayout.Width(26)); #endif #if UNITY_2018 GUILayout.Label(Icon.Get("UnityEditor.AnimationWindow"), EditorStyles.toolbarButton, GUILayout.Width(26)); #endif if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { EditorUtils.AnimationWindow(); } #if UNITY_2017 GUILayout.Label(Icon.Get("Animator Icon"), EditorStyles.toolbarButton, GUILayout.Width(26)); #endif #if UNITY_2018 GUILayout.Label(Icon.Get("UnityEditor.Graphs.AnimatorControllerTool"), EditorStyles.toolbarButton, GUILayout.Width(26)); #endif if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { EditorUtils.AnimatorWindow(); } GUILayout.Label(Icon.Get("ViewToolZoom"), EditorStyles.toolbarButton, GUILayout.Width(26)); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { //builtinWindow.AnimatorWindow(); EditorApplication.ExecuteMenuItem("Window/Frame Debugger"); } #if UNITY_2017 GUILayout.Label(Icon.Get("TimelineAsset Icon"), EditorStyles.toolbarButton, GUILayout.Width(26)); if (ut.hasMouseClick(GUILayoutUtility.GetLastRect())) { //builtinWindow.AnimatorWindow(); EditorApplication.ExecuteMenuItem("Window/Timeline"); } #endif #if UNITY_2018 GUILayout.Label(Icon.Get("TimelineSelector"), EditorStyles.toolbarButton, GUILayout.Width(26)); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { EditorApplication.ExecuteMenuItem("Window/Sequencing/Timeline"); } #endif #if UNITY_2017 GUILayout.Label(icon.get("Lighting"), EditorStyles.toolbarButton, GUILayout.Width(26)); if (ut.hasMouseClick(GUILayoutUtility.GetLastRect())) { EditorApplication.ExecuteMenuItem("Window/Lighting/Light Explorer"); } #endif #if UNITY_2018 GUILayout.Label(Icon.Get("Lighting"), EditorStyles.toolbarButton, GUILayout.Width(26)); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { EditorApplication.ExecuteMenuItem("Window/Rendering/Light Explorer"); } #endif GUILayout.Label(Icon.Get("UnityEditor.ConsoleWindow"), EditorStyles.toolbarButton, GUILayout.Width(26)); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { //builtinWindow.ConsoleWindow(); EditorApplication.ExecuteMenuItem("Window/Console Pro 3"); } GUILayout.Label(Icon.Get("WelcomeScreen.AssetStoreLogo"), EditorStyles.toolbarButton, GUILayout.Width(26)); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { EditorUtils.AssetStoreWindow(); } GUILayout.Space(6); GUILayout.Label(m_searchFilterModeName[m_searchFilterMode], m_styles.ToolbarPopup, GUILayout.Width(140)); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect(), EventMouseButton.R)) { m_searchFilterMode = 1 - m_searchFilterMode; this.Repaint(); } else if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect(), EventMouseButton.L)) { var m = new GenericMenu(); if (m_searchFilterMode == 0) { for (int i = 0; i < m_searchFilterHierarchy.Length; i++) { m.AddItem(m_searchFilterHierarchy[i], false, onHierarchy_SetSearchFilter, m_searchFilterHierarchy[i].text); } } else if (m_searchFilterMode == 1) { for (int i = 0; i < m_searchFilterProject.Length; i++) { m.AddItem(m_searchFilterProject[i], false, onProjectBrowser_SetSearch, m_searchFilterProject[i].text); } } m.DropDown(EditorHelper.PopupRect(GUILayoutUtility.GetLastRect())); } //if( m_guidEdit == false ) { GUILayout.Label(m_guid, EditorStyles.toolbarButton, GUILayout.Width(220)); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect(), EventMouseButton.R)) { m_guidEdit = !m_guidEdit; Repaint(); } if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { //var path = AssetDatabase.GUIDToAssetPath( m_guid ); //if( !string.IsNullOrEmpty( path ) ){ // var obj = AssetDatabase.LoadAssetAtPath<UnityObject>( path ); // Selection.activeObject = obj; //} var m = new GenericMenu(); m.AddItem(new GUIContent("クリップボードにコピー"), false, () => { GUIUtility.systemCopyBuffer = m_guid; }); m.DropDown(EditorHelper.PopupRect(GUILayoutUtility.GetLastRect())); } if (m_focusLost) { GUIUtility.keyboardControl = 0; m_focusLost = false; } int textFieldID = GUIUtility.GetControlID("TextField".GetHashCode(), FocusType.Keyboard) + 1; if (textFieldID == 0) { } else { // Handle custom copy-paste string guid = HandleCopyPaste(textFieldID) ?? ""; bool bb = false; if (!string.IsNullOrEmpty(guid)) { m_guidTextEdit = guid; bb = true; } GUI.changed = false; //Rect rect = GUILayoutUtility.GetRect( 220f, GUILayoutUtility.GetLastRect().y ); //rect.x += 4f; //rect.y += 2f; // 検索ボックスを表示 //int controlID = GUIUtility.GetControlID( searchFieldHash, FocusType.Passive, rect ); //m_guidTextEdit = ToolbarSearchField( controlID, rect, m_guidTextEdit, false ); m_guidTextEdit = GUILayout.TextField(m_guidTextEdit, toolbarSearchField, GUILayout.Width(220)); if (GUI.changed || bb) { var path = AssetDatabase.GUIDToAssetPath(m_guidTextEdit); if (!string.IsNullOrEmpty(path)) { var obj = AssetDatabase.LoadAssetAtPath <UnityObject>(path); EditorGUIUtility.PingObject(obj); } } GUILayout.Button(GUIContent.none, toolbarSearchFieldCancelButtonEmpty); } //} //else { // int textFieldID = GUIUtility.GetControlID( "TextField".GetHashCode(), FocusType.Keyboard ) + 1; // if( textFieldID == 0 ) { } // else { // // Handle custom copy-paste // string guid = HandleCopyPaste( textFieldID ) ?? m_guid; // guid = GUILayout.TextField( guid, EditorStyles.toolbarTextField, GUILayout.Width( 220 ) ); // if( m_guid != guid ) { // //Event.current.Use(); // var path = AssetDatabase.GUIDToAssetPath( guid ); // if( !string.IsNullOrEmpty( path ) ) { // var obj = AssetDatabase.LoadAssetAtPath<UnityObject>( path ); // EditorGUIUtility.PingObject( obj ); // } // } // m_guid = guid; // } // //if( ut.hasMouseClick( GUILayoutUtility.GetLastRect(), EventMouseButton.R ) ) { // // m_guidEdit = !m_guidEdit; // // Repaint(); // //} //} GUILayout.FlexibleSpace(); } }