Show the EditorWindow as a floating utility window.
Utility windows will always be in front of normal windows, and will be hidden when user switches to another application.
Note: You dont need to use EditorWindow.GetWindow() before using this function to show the window.
Floating window utility that lets you randomize the rotation of the selected objects.
#pragma strict // Simple script that randomizes the rotation of the Selected GameObjects // and lets you see which objects are currently selected public class RandomizeInSelection extends EditorWindow { public var rotationAmount: float = 0.33F; public var selected: String = ""; function RandomizeSelected() { for (var transform: var in Selection.transforms) { var rotation: Quaternion = Random.rotation; transform.localRotation = Quaternion.Slerp(transform.localRotation, rotation, rotationAmount); } } function OnGUI() { for (var t: var in Selection.transforms) { selected += t.name + " "; } EditorGUILayout.LabelField("Selected Object:", selected); selected = ""; if (GUILayout.Button("Randomize!")) RandomizeSelected(); if (GUILayout.Button("Close")) Close(); Debug.Log(selected); } function OnInspectorUpdate() { Repaint(); } @MenuItem("Example/Randomize Children In Selection") static function RandomizeWindow() { var window: RandomizeInSelection = new RandomizeInSelection(); window.ShowUtility(); } }
using UnityEditor; using UnityEngine; using System.Collections;
// Simple script that randomizes the rotation of the Selected GameObjects // and lets you see which objects are currently selected public class RandomizeInSelection : EditorWindow { public float rotationAmount = 0.33F; public string selected = ""; void RandomizeSelected() { foreach (var transform in Selection.transforms) { Quaternion rotation = Random.rotation; transform.localRotation = Quaternion.Slerp(transform.localRotation, rotation, rotationAmount); } } void OnGUI() { foreach (var t in Selection.transforms) { selected += t.name + " "; } EditorGUILayout.LabelField("Selected Object:", selected); selected = ""; if (GUILayout.Button("Randomize!")) RandomizeSelected(); if (GUILayout.Button("Close")) Close(); Debug.Log(selected); } void OnInspectorUpdate() { Repaint(); } [MenuItem("Example/Randomize Children In Selection")] static void RandomizeWindow() { RandomizeInSelection window = new RandomizeInSelection(); window.ShowUtility(); } }