title | The title of the message box. |
message | The text of the message. |
ok | Label displayed on the OK dialog button. |
cancel | Label displayed on the Cancel dialog button. |
Displays a modal dialog.
Use it for displaying message boxes in the editor.ok
and cancel
are labels to be displayed on the dialog buttons. If cancel
is empty (the default), then only
one button is displayed. DisplayDialog returns true
if ok
button is pressed.
See Also: DisplayDialogComplex function.
Dialog box that shows info on the number of objects to be placed on the surface.
#pragma strict // Places the selected Objects on the surface of a terrain. public class PlaceSelectionOnSurface extends ScriptableObject { @MenuItem("Example/Place Selection On Surface") static function CreateWizard() { var transforms: Transform[] = Selection.GetTransforms(SelectionMode.Deep | SelectionMode.ExcludePrefab | SelectionMode.Editable); if (transforms.Length > 0 && EditorUtility.DisplayDialog("Place Selection On Surface?", "Are you sure you want to place " + transforms.Length + " on the surface?", "Place", "Do Not Place")) { for (var transform: Transform in transforms) { var hit: RaycastHit; if (Physics.Raycast(transform.position, -Vector3.up, hit)) { transform.position = hit.point; var randomized: Vector3 = Random.onUnitSphere; randomized = new Vector3(randomized.x, 0F, randomized.z); transform.rotation = Quaternion.LookRotation(randomized, hit.normal); } } } } }
// Places the selected Objects on the surface of a terrain.
using UnityEngine; using UnityEditor;
public class PlaceSelectionOnSurface : ScriptableObject { [MenuItem ("Example/Place Selection On Surface")] static void CreateWizard () { Transform[] transforms = Selection.GetTransforms(SelectionMode.Deep | SelectionMode.ExcludePrefab | SelectionMode.Editable);
if (transforms.Length > 0 && EditorUtility.DisplayDialog("Place Selection On Surface?", "Are you sure you want to place " + transforms.Length + " on the surface?", "Place", "Do Not Place")) { foreach (Transform transform in transforms) { RaycastHit hit; if (Physics.Raycast(transform.position, -Vector3.up, out hit)) { transform.position = hit.point; Vector3 randomized = Random.onUnitSphere; randomized = new Vector3(randomized.x, 0F, randomized.z); transform.rotation = Quaternion.LookRotation(randomized, hit.normal); } } } } }