Question by
NewHouse9 · Jun 23, 2016 at 01:36 PM ·
gameobjectinstantiateeditor-scriptingeditorguigrid based game
How to Instantiate Selected GameObject From Hierarchy in Editor mode?
Hi.
I'm simply just trying to instantiate gameobject in editor mode. Selected gameobject is selected from hierarchy view, or if possible I can just drag and drop it from other asset directories.
Here is image:
I was following this example, put I couldn't make it work somehow: http://code.tutsplus.com/tutorials/how-to-add-your-own-tools-to-unitys-editor--active-10047
[CustomEditor (typeof(GridLayout))]
public class GridEditor : Editor {
GridLayout grid;
Stack<GameObject> tiles = new Stack<GameObject>();
public int tileCount = 0;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnEnable ()
{
grid = (GridLayout)target;
SceneView.onSceneGUIDelegate = GridUpdate;
}
void GridUpdate (SceneView sceneView)
{
Event e = Event.current;
if (e.isKey) {
if (e.button == 0) {//left mouse button
Ray r = Camera.current.ScreenPointToRay (new Vector3 (e.mousePosition.x, +Camera.current.pixelHeight));
Vector3 mousePos = r.origin;
if (Selection.activeObject) {
GameObject obj = (GameObject)EditorUtility.InstantiatePrefab (Selection.activeObject);
float w = (1.0f / 100.0f) * grid.width;
float h = (1.0f / 100.0f) * grid.height;
Vector3 aligned = new Vector3 (
Mathf.Floor (mousePos.x / w) + w / 2.0f,
Mathf.Floor (mousePos.y / h) + h / 2.0f,
0.0f);
obj.transform.position = aligned;
//tiles.Push (obj);
tileCount++;
}
}
}
if (e.isKey) {
if (e.character == 'd') {
if (tiles.Count != 0) {
//tiles.Pop ();
tileCount--;
}
}
}
}
public override void OnInspectorGUI ()
{
GUILayout.BeginHorizontal();
GUILayout.Label(" Grid Width ");
grid.width = EditorGUILayout.FloatField(grid.width, GUILayout.Width(50));
GUILayout.EndHorizontal();
GUILayout.BeginHorizontal();
GUILayout.Label(" Grid Height ");
grid.height = EditorGUILayout.FloatField(grid.height, GUILayout.Width(50));
GUILayout.EndHorizontal();
SceneView.RepaintAll();
}
}
grid-placing-confusion.png
(166.4 kB)
Comment