static bool OpenAsset(int instanceID, int line) { var asset = EditorUtility.InstanceIDToObject(instanceID); if (asset is DiscoverAsset) { DiscoverWindow.ShowDiscoverWindow(asset as DiscoverAsset); return(true); } else { return(false); } }
static void ActionButtonGUI(UnityEngine.Object target) { if (target == null) { EditorGUI.BeginDisabledGroup(true); GUILayout.Button("(No Object)"); EditorGUI.EndDisabledGroup(); return; } Type t = target.GetType(); if (t == typeof(GameObject)) { GameObject go = target as GameObject; if (GUILayout.Button(" Select ", DiscoverWindow.Styles.buttonLeft)) { Selection.activeObject = go; } if (PrefabUtility.GetPrefabAssetType(go) == PrefabAssetType.NotAPrefab) { if (GUILayout.Button(" Go to ", DiscoverWindow.Styles.buttonRight)) { Selection.activeObject = go; SceneView.lastActiveSceneView.FrameSelected(); } } else { if (GUILayout.Button(" Open ", DiscoverWindow.Styles.buttonRight)) { AssetDatabase.OpenAsset(go); } } } else if (t == typeof(Discover)) { if (GUILayout.Button("Discover")) { var discover = target as Discover; //Selection.activeGameObject = discover; DiscoverWindow.SelectDiscover(discover); } } else if (t == typeof(SceneAsset)) { if (GUILayout.Button("Open Scene")) { SceneAsset scene = target as SceneAsset; AssetDatabase.OpenAsset(scene); } } else if (t == typeof(EditorSceneSetup)) { if (GUILayout.Button("Open Scenes")) { EditorSceneSetup scene = target as EditorSceneSetup; AssetDatabase.OpenAsset(scene); } } else if (typeof(DiscoverAction).IsAssignableFrom(t)) { var action = (DiscoverAction)target; if (GUILayout.Button(action.ActionName)) { action.DoAction(); } } else { if (GUILayout.Button("Select")) { Selection.activeObject = target; } } }
internal static void Show() { var asset = AssetDatabase.LoadAssetAtPath <DiscoverAsset>(AssetDatabase.GUIDToAssetPath(AssetDatabase.FindAssets("t:DiscoverAsset")[0])); DiscoverWindow.ShowDiscoverWindow(asset); }