コード例 #1
0
    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();
    }
コード例 #2
0
    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;
                }
            }
        }
    }
コード例 #3
0
        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();
        }
コード例 #4
0
    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();
    }
コード例 #5
0
    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);
        }
    }
コード例 #6
0
ファイル: GridEditor.cs プロジェクト: guozanhua/SUCK
    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();
    }
コード例 #7
0
    void AddElement(ReorderableList list)
    {
        GridWindow window = (GridWindow)EditorWindow.GetWindow(typeof(GridWindow), false, "Edit Grid");

        window.Init(-1, gridDatabase.gridList, gridDatabase);
    }
コード例 #8
0
    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;
                }
            }
        }
    }