Поисковик по сцене

Раздел, посвящённый всему, что связано с программированием для Редактора Юнити. Скрипты Редактора, Wizards и прочее.

Поисковик по сцене

Сообщение gnoblin 21 янв 2010, 11:38

Итак, поисковик ГО в вашей сложной и запутанной сцене!

Вбиваем текст, нажимаем кнопку "Search" - получаем список ГО (не забудьте развернуть вкладку), который можно жмякать и таким образом пинговать объекты в сцене.

Немного неудобно тем, что нужно разворачивать список ГО вручную (если он не открыт) и не работает кнопка Enter :-w .

А так вполне замечательно! 8-}

Код: Выделить всё
///###############################################################
/// Scene Asset Search Wizard
///###############################################################
/// Author: gnoblin (gnoblin@gmail.com)
/// Special thanks to: neodrop
///###############################################################
#pragma warning disable
using UnityEditor;
using UnityEngine;
using System.IO;
//using System.Collections;
using System.Collections.Generic;

class SearchScene : ScriptableWizard
{
    public string text_to_search = "";

    [MenuItem("Custom/Search Scene &s")]
    static void CreateWizard()
    {
        ScriptableWizard.DisplayWizard("Search Assets", typeof(SearchScene),
            "Ok","Search");
    }

    void OnWizardCreate()
    {
       
    }

    void OnWizardUpdate()
    {
        helpString = "Please set the search text!";
    }
    static string path;
    static DirectoryInfo dir;
    static FileInfo[] file_info;
   
    Object[] tmp_gos;
   
    /// <summary>
    /// искать еще что-то кроме ГО?
    /// </summary>
    public List<GameObject> found_list;

    void Search()
    {
        GameObject[] scene_gos = GameObject.FindSceneObjectsOfType(typeof(GameObject)) as GameObject[];

       found_list = new List<GameObject>();
        foreach (GameObject go in scene_gos)
        {
            if (go.name.ToLower().Contains(text_to_search.ToLower()))
            {
                found_list.Add(go);
                Debug.Log("searching scene... found: " + go.name);
            }
        }
        Debug.Log("Search complete.");

    }

    void OnWizardOtherButton()
    {
        Search();
    }
}
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Вернуться в Editor

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


cron