将 Project 窗口置于前面并聚焦该窗口。
通常,系统调用用于创建和选择资源的菜单项之后,会调用此函数。
更改所选游戏对象的颜色。
using UnityEngine; using UnityEditor;
public class FocusProjectWindowExample : EditorWindow { static Color matColor = Color.white;
[MenuItem("Example/Color Change")] static void Init() { // Get existing open window or if none, make a new one: FocusProjectWindowExample window = (FocusProjectWindowExample)EditorWindow.GetWindow(typeof(FocusProjectWindowExample)); window.Show(); }
void OnGUI() { matColor = EditorGUI.ColorField(new Rect(3, 3, position.width - 6, 15), "New Color:", matColor); if (GUI.Button(new Rect(3, 25, position.width - 6, 30), "Change")) ChangeColors(); }
void ChangeColors() { if (Selection.activeGameObject) { foreach (GameObject t in Selection.gameObjects) { Renderer rend = t.GetComponent<Renderer>();
if (rend) rend.sharedMaterial.color = matColor; } }
EditorUtility.FocusProjectWindow(); }
void OnInspectorUpdate() { Repaint(); } }