关闭编辑器窗口。
This will destroy the editor window
Simple window that lets you delete components from the selected Game Objects.
// Create a simple popup window that lets you delete a specific
// Component from the GameObjects you have selected
//
// Warning: There is no undo in this action.
class ShowPopupEx extends EditorWindow {
var className = "Rigidbody";
@MenuItem("Example/Delete Components in Selection")
static function Init() {
var window = new ShowPopupEx();
window.position = Rect(Screen.width/2,Screen.height/2, 250, 50);
window.ShowPopup();
}
// Disable the menu if we dont have anything selected
@MenuItem("Example/Delete Components in Selection", true)
static function ValidateDeleteComponentsInSelectionOfType() {
return Selection.GetFiltered(
GameObject,
SelectionMode.Editable | SelectionMode.Deep) != null;
}
function OnGUI() {
className = EditorGUILayout.TextField("Component:",className);
if(GUILayout.Button("Delete!")) {
var destroyedCount = 0;
for (var obj in Selection.GetFiltered(
GameObject,
SelectionMode.Editable | SelectionMode.Deep)) {
var component = obj.GetComponent.<className>();
if (component) {
DestroyImmediate(component);
destroyedCount++;
}
}
this.Close();
EditorUtility.DisplayDialog("Deletion Report",
String.Format("Deleted {0} components of type \"{1}\"", destroyedCount, className),
"Close");
}
}
}