function OnDestroy () : void
Description
OnDestroy is called when the EditorWindow is closed.
Displays a log with the number of times that the object was deformed after closing the window.
class TearMeshApart
extends EditorWindow {
var noiseCounter = 0;
var distortionRange = 0.1;
@
MenuItem(
"Example/Distortionate Mesh")
static function Init() {
var window = GetWindow(TearMeshApart);
window.position =
Rect(0,0,200,80);
window.Show();
}
function OnGUI() {
GUILayout.Label(
"Select an object to distortionate");
if(
GUILayout.Button(
"Distortionate")) {
AddNoiseToMesh();
}
if(
GUILayout.Button(
"Close")) {
this.Close();
}
}
function AddNoiseToMesh() {
var objectMesh =
Selection.activeTransform ?
Selection.activeTransform.GetComponent(
MeshFilter) : null;
if(!objectMesh) {
Debug.LogError(
"Please select a Game Object with a MeshFilter");
return;
}
var verts :
Vector3[] = objectMesh.sharedMesh.vertices;
for(
var i = 0; i < verts.Length; i++)
verts[i] +=
Vector3(
Random.Range(-distortionRange, distortionRange) - distortionRange/2,
Random.Range(-distortionRange, distortionRange) - distortionRange/2,
Random.Range(-distortionRange, distortionRange) - distortionRange/2);
objectMesh.sharedMesh.vertices = verts;
noiseCounter++;
}
function OnDestroy() {
Debug.Log(
"Deformed the object " + noiseCounter +
" times.");
}
}