x


How do you emulate array/List Inspector behavior with an Editor window?

It has been asked, but I can't find the answer. As an example, I want to be able to find all the objects that use a material. The end of this script is what needs work; instead of that, I want to be able to use the up/down arrow keys to highlight the renderers.

And if you have a better solution for viewing the materials list, please let me know.

using UnityEngine;
using UnityEditor;
using System.Collections.Generic;

class MaterialUsersMenu : EditorWindow {

static Material material;

[MenuItem("Assets/List Scene Objects Using Material", true)] static bool Validate () {
    material = Selection.activeObject as Material;
    return material;
}

// 1011 is the earliest priority that results in a new menu section in all standard menus.
// This is undocumented, and may need to be changed in the future to assure proper placement in the menu.
[MenuItem ("Assets/List Scene Objects Using Material", false, 1011)] static void OpenWindow () {
    GetWindow<MaterialUsersMenu>(true, "Game Objects using " + material.name, true);
}

static Vector2 scrollPosition;

void OnGUI () {
    List<Renderer> renderers = new List<Renderer>();
    foreach (Renderer renderer in Resources.FindObjectsOfTypeAll(typeof(Renderer)) )
        if (renderer.sharedMaterial == material) renderers.Add(renderer);

    // This is the best I have so far.
    scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition);
    foreach (Renderer renderer in renderers) EditorGUILayout.ObjectField(renderer, typeof(Renderer));
    EditorGUILayout.EndScrollView();
}

}
more ▼

asked Feb 27 '11 at 02:40 AM

Jessy gravatar image

Jessy
15.6k 72 95 196

(comments are locked)
10|3000 characters needed characters left

0 answers: sort voted first
Be the first one to answer this question
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x1674
x1363
x467
x356
x169

asked: Feb 27 '11 at 02:40 AM

Seen: 1295 times

Last Updated: Feb 27 '11 at 02:40 AM