示例#1
0
 protected override IEnumerable <IFinderResult> GetObjectResults(IFinderContext context)
 {
     return(Object.FindObjectsOfType <Transform>()
            .Where(t => context.GetIsMatchForTerm(t.name))
            .OrderBy(t => t.GetSiblingIndex())
            .Select <Transform, IFinderResult>(t => new HierarchyResult(t.gameObject)));
 }
示例#2
0
 protected override IEnumerable <IFinderResult> GetObjectResults(IFinderContext context)
 {
     return(Object.FindObjectsOfType <Component>()
            .Where(c => !ignoredTypes.Contains(c.GetType()) &&
                   context.GetIsMatchForTerm(ObjectNames.GetInspectorTitle(c)))
            .Select <Component, IFinderResult>(c => new ComponentResult(c)));
 }
示例#3
0
 public override void Execute(IFinderContext context)
 {
     if (ModifierAlt)
     {
         gameObject.SetActive(!gameObject.activeSelf);
     }
     else
     {
         SelectUnityObject(ModifierShift);
     }
 }
示例#4
0
        public override void Draw(IFinderContext context, IFinderResult result)
        {
            result.To <ComponentResult>(componentResult =>
            {
                Editor.CreateCachedEditor(componentResult.component, null, ref editor);

                using (new GUILayout.VerticalScope())
                {
                    editor.OnInspectorGUI();
                }
            });
        }
示例#5
0
 public override void Execute(IFinderContext context)
 {
     if (ModifierOpen)
     {
         var path = AssetDatabase.GetAssetPath(component);
         InternalEditorUtility.OpenFileAtLineExternal(path, 0);
     }
     else
     {
         SelectUnityObject(ModifierShift);
     }
 }
示例#6
0
        /// <summary>
        /// Generates results for the plugin.
        /// Called internally by UFind; you should never need to call this yourself.
        /// </summary>
        public void GenerateResults(IFinderContext context)
        {
            results.Clear();
            if (context.Query.Value.Length > 0)
            {
                var generatedResults = context.IsSlashCommand
                                        ? GetCommandResults(context)
                                        : GetObjectResults(context);

                if (generatedResults != null)
                {
                    results.AddRange(generatedResults);
                }
            }

            results = results.OrderByDescending(r => r.Score).ToList();
        }
示例#7
0
        public override void Execute(IFinderContext context)
        {
            if (ModifierOpen)
            {
                if (UnityObject is MonoScript)
                {
                    InternalEditorUtility.OpenFileAtLineExternal(path, 0);
                }

                if (UnityObject is SceneAsset)
                {
                    EditorSceneManager.OpenScene(path, ModifierShift ? OpenSceneMode.Additive : OpenSceneMode.Single);
                }
            }
            else
            {
                SelectUnityObject(ModifierShift);
            }
        }
示例#8
0
 /// <summary>
 /// Executes this result.
 /// </summary>
 public abstract void Execute(IFinderContext context);
示例#9
0
 /// <summary>
 /// Used to generate a list of command results (actions).
 /// </summary>
 protected virtual IEnumerable <IFinderResult> GetCommandResults(IFinderContext context)
 {
     return(null);
 }
示例#10
0
 public abstract void Draw(IFinderContext context, IFinderResult result);
示例#11
0
 protected override IEnumerable <IFinderResult> GetObjectResults(IFinderContext context)
 {
     return(AssetDatabase.FindAssets(context.Query.Value)
            .Select <string, IFinderResult>(g => new AssetDatabaseResult(g)));
 }