EditorWindow.ShowPopup 显示弹出窗口

function ShowPopup () : void

Description描述

Used for popup style windows.

用于弹出类型窗口。

On mac this means light shadow and no titlebar

在mac意思是有投影无标题栏。

EditorWindow.ShowPopup 显示弹出窗口

Delete specific components from the selected 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");
		}
	}

}
Page last updated: 2011-6-20