class SpriteHandler extends EditorWindow {
var selectedObject : Object;
var locPos : Vector3;
@MenuItem ("Window/Sprite Handler")
static function ShowWindow () {
EditorWindow.GetWindow (SpriteHandler);
}
function OnGUI () {
var e : Event = Event.current;
GUILayout.Label("Settings", EditorStyles.boldLabel);
if(Selection.activeGameObject) {
if(!selectedObject) {
selectedObject = Selection.activeGameObject;
}
selectedObject.name = EditorGUILayout.TextField("Object Name: ", selectedObject.name);
locPos = selectedObject.transform.localPosition;
}
if(e.control && e.type == EventType.KeyUp && e.keyCode == KeyCode.UpArrow) {
CloneUp();
}
if(e.control && e.type == EventType.KeyUp && e.keyCode == KeyCode.DownArrow) {
CloneDown();
}
if(e.control && e.type == EventType.KeyUp && e.keyCode == KeyCode.LeftArrow) {
CloneLeft();
}
if(e.control && e.type == EventType.KeyUp && e.keyCode == KeyCode.RightArrow) {
CloneRight();
}
}
function OnInspectorUpdate() {
Repaint();
}
function CloneUp() {
var newObject = Instantiate(selectedObject, Vector3(locPos.x, locPos.y + 1, locPos.z), selectedObject.transform.rotation);
selectedObject = newObject;
}
function CloneDown() {
var newObject = Instantiate(selectedObject, Vector3(locPos.x, locPos.y - 1, locPos.z), selectedObject.transform.rotation);
selectedObject = newObject;
}
function CloneLeft() {
var newObject = Instantiate(selectedObject, Vector3(locPos.x - 1, locPos.y, locPos.z), selectedObject.transform.rotation);
selectedObject = newObject;
}
function CloneRight() {
var newObject = Instantiate(selectedObject, Vector3(locPos.x + 1, locPos.y, locPos.z), selectedObject.transform.rotation);
selectedObject = newObject;
}
}