public override void OnInspectorGUI() { GUILayout.BeginHorizontal(); //GUILayout.Label(" Grid Tile: "); grid.baseTile = EditorGUILayout.ObjectField("Tile Object", grid.baseTile, typeof(GameObject), false) as GameObject; GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(" Grid Width "); grid.width = EditorGUILayout.FloatField(grid.width, GUILayout.Width(50)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Tile Width: " + Grid.tileWidth); GUILayout.Label("Tile Height: " + Grid.tileHeight); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(" Grid Height "); grid.height = EditorGUILayout.FloatField(grid.height, GUILayout.Width(50)); GUILayout.EndHorizontal(); if (GUILayout.Button("Open Grid Window", GUILayout.Width(255))) { GridWindow window = (GridWindow)EditorWindow.GetWindow(typeof(GridWindow)); window.Init(); window.editor = this; } SceneView.RepaintAll(); }
public override void OnInspectorGUI() { grid.width = CreateSlider("Width", grid.width); grid.height = CreateSlider("Height", grid.height); if (GUILayout.Button("Open Grid Window")) //executed if clicked { GridWindow window = (GridWindow)EditorWindow.GetWindow(typeof(GridWindow)); window.Init(); } //Tile Prefab EditorGUI.BeginChangeCheck(); var newTilePrefab = (Transform)EditorGUILayout.ObjectField("Tile Prefab", grid.tilePrefab, typeof(Transform), false); if (EditorGUI.EndChangeCheck()) { grid.tilePrefab = newTilePrefab; Undo.RecordObject(target, "Grid changed"); } //Tile Map EditorGUI.BeginChangeCheck(); var newTileset = (TileSet_C)EditorGUILayout.ObjectField("Tileset", grid.tileset, typeof(TileSet_C), false); if (EditorGUI.EndChangeCheck()) { grid.tileset = newTileset; Undo.RecordObject(target, "Grid Changed"); } if (grid.tileset != null) { EditorGUI.BeginChangeCheck(); var names = new string[grid.tileset.prefabs.Length]; var values = new int[names.Length]; for (int i = 0; i < names.Length; i++) { names[i] = grid.tileset.prefabs[i] != null ? grid.tileset.prefabs[i].name : ""; values[i] = i; } var index = EditorGUILayout.IntPopup("Select Tile", oldIndex, names, values); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Grid Changed"); if (oldIndex != index) { oldIndex = index; grid.tilePrefab = grid.tileset.prefabs[index]; float width = grid.tilePrefab.GetChild(0).GetComponent <Renderer>().bounds.size.x; float height = grid.tilePrefab.GetChild(0).GetComponent <Renderer>().bounds.size.y; grid.width = width; grid.height = height; } } } }
private void RepaintScene() { // Repaint in new EditorWindow MapGenerator map = new MapGenerator(); map.GenerateMap(); // Repaint in new Console Debug.Log(map.ToString()); // Clear old SceneView foreach (GameObject go in mapTiles) { DestroyImmediate(go); } mapTiles.Clear(); // Repaint in new SceneView GridWindow window = (GridWindow)EditorWindow.GetWindow(typeof(GridWindow)); window.Init(mapTiles); // Clear old Map CellManager.Instance.Reset(); }
public override void OnInspectorGUI() { GUILayout.BeginHorizontal(); myGrid.myParent = (GameObject)EditorGUILayout.ObjectField("Tile parent", myGrid.myParent, typeof(Object), true); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(" Grid Width "); myGrid.width = EditorGUILayout.FloatField(myGrid.width, GUILayout.Width(50)); GUILayout.Label(" Grid Height "); myGrid.height = EditorGUILayout.FloatField(myGrid.height, GUILayout.Width(50)); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label(" Tile to paint "); tileToPaint = EditorGUILayout.IntField(tileToPaint, GUILayout.Width(50)); GUILayout.EndHorizontal(); foreach (var gameObject in myTiles) { GUILayout.BeginHorizontal(); EditorGUILayout.TextField(gameObject.name, gameObject.name, new GUIStyle()); GUILayout.EndHorizontal(); //EditorGUI.DrawPreviewTexture(rec, AssetPreview.GetAssetPreview(gameObject)); } if (GUILayout.Button("Open Grid Window", GUILayout.Width(255))) { GridWindow window = (GridWindow)EditorWindow.GetWindow(typeof(GridWindow)); window.Init(); } SceneView.RepaintAll(); }
void DrawElement(Rect rect, int index, bool active, bool focused) { InterativaSystem.Models.GridLayout item = gridDatabase.gridList[index]; GUI.Label(new Rect(rect.xMin, rect.y, rect.width - 50f, rect.height), "Controller: " + item.controller.ToString()); bool b = false; if (EditorGUI.Toggle(new Rect(rect.xMax - 20f, rect.y, 50, rect.height), b)) { GridWindow window = (GridWindow)EditorWindow.GetWindow(typeof(GridWindow), false, "Edit Grid"); window.Init(index, gridDatabase.gridList, gridDatabase); } }
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(); if (GUILayout.Button("Open Grid Window", GUILayout.Width(255))) { GridWindow window = (GridWindow)EditorWindow.GetWindow(typeof(GridWindow)); window.Init(); } SceneView.RepaintAll(); }
void AddElement(ReorderableList list) { GridWindow window = (GridWindow)EditorWindow.GetWindow(typeof(GridWindow), false, "Edit Grid"); window.Init(-1, gridDatabase.gridList, gridDatabase); }
public override void OnInspectorGUI() { //base.OnInspectorGUI(); grid.width = createFloatSlider("Width", grid.width); grid.height = createFloatSlider("Height", grid.height); grid.isRenderGrid = createToggle("RenderGrid", grid.isRenderGrid); grid.nowLayerNumber = createIntSlider("RenderLayer", grid.nowLayerNumber); //버튼이 눌렸을때 if (GUILayout.Button("Open Grid Window")) { GridWindow window = (GridWindow)EditorWindow.GetWindow(typeof(GridWindow)); window.Init(); } //프리팹 불러오기 EditorGUI.BeginChangeCheck(); var newTilePrefab = (Transform)EditorGUILayout.ObjectField("Tile Prefab", grid.tilePrefab, typeof(Transform), false); if (EditorGUI.EndChangeCheck()) { grid.tilePrefab = newTilePrefab; Undo.RecordObject(target, "Grid Changed"); } //타일맵 EditorGUI.BeginChangeCheck(); var newTileSet = (TileSet)EditorGUILayout.ObjectField("TileSet", grid.tileSet, typeof(TileSet), false); if (EditorGUI.EndChangeCheck()) { grid.tileSet = newTileSet; Undo.RecordObject(target, "Grid changed"); } if (grid.tileSet != null) { EditorGUI.BeginChangeCheck(); var names = new string[grid.tileSet.prefabs.Length]; var values = new int[names.Length]; for (int i = 0; i < names.Length; i++) { names[i] = grid.tileSet.prefabs[i] != null ? grid.tileSet.prefabs[i].name : ""; values[i] = i; } var index = EditorGUILayout.IntPopup("Select Tile", oldIndex, names, values); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Grid Changed"); if (oldIndex != index) { oldIndex = index; grid.tilePrefab = grid.tileSet.prefabs[index]; //float width = grid.tilePrefab.GetComponent<Renderer>().bounds.size.x; //float height = grid.tilePrefab.GetComponent<Renderer>().bounds.size.y; //grid.width = width; //grid.height = height; } } } }