Пример #1
0
    public override void ToolBar()
    {
        base.ToolBar();

        GUILayout.Box("Misc", EditorStyles.toolbarDropDown);
        Rect miscRect = GUILayoutUtility.GetLastRect();

        if (MyGUI.ButtonMouseDown(miscRect))
        {
            var misc = PopupWindow.ShowAtPosition <MiscPopup>(new Rect(miscRect.x, miscRect.y + miscRect.height, 120f, 60));
            misc.Setup(TilerMap);
        }

        EditorGUILayout.Space();
        EditorGUILayout.Space();
        EditorGUILayout.Space();

        GUI.enabled = TilerMapEditFunctions.Undo.IsUndo();
        if (GUILayout.Button("<", EditorStyles.toolbarButton))
        {
            TilerMapEditFunctions.Undo.PerformUndo();
            Repaint();
        }
        GUI.enabled = TilerMapEditFunctions.Undo.IsRedo();
        if (GUILayout.Button(">", EditorStyles.toolbarButton))
        {
            TilerMapEditFunctions.Undo.PerformRedo();
            Repaint();
        }
        GUI.enabled = true;

        EditorGUILayout.Space();
        EditorGUILayout.Space();
        EditorGUILayout.Space();

        if (MyGUI.HasToggledPositive(DrawTool is PaintTool, "P", EditorStyles.toolbarButton))
        {
            DrawTool = new PaintTool(this, DrawTool.GetBrush() as NormalBrush);
            Repaint();
        }
        if (MyGUI.HasToggledPositive(DrawTool is FillTool, "F", EditorStyles.toolbarButton))
        {
            DrawTool = new FillTool(this, DrawTool.GetBrush() as NormalBrush);
            Repaint();
        }
        if (MyGUI.HasToggledPositive(DrawTool is ReplaceTool, "R", EditorStyles.toolbarButton))
        {
            DrawTool = new ReplaceTool(this, DrawTool.GetBrush() as NormalBrush);
            Repaint();
        }

        EditorGUILayout.Space();

        if (GUILayout.Button("O", EditorStyles.toolbarButton))
        {
            var p = _camera.transform.position;
            p.x = 0;
            p.z = 0;
            _camera.transform.position = p;
        }

        EditorGUILayout.Space();

        //var currentIndex = _mapIndex;
        //_mapIndex = EditorGUILayout.Popup(_mapIndex, _mapNames, EditorStyles.toolbarPopup);

        //options = new[] { "CanJump", "CanShoot", "CanSwim" };
        //flags = EditorGUILayout.MaskField("Layers", 1, options, EditorStyles.toolbarPopup);

        GUILayout.Box("Layers", EditorStyles.toolbarDropDown);
        Rect last = GUILayoutUtility.GetLastRect();

        if (MyGUI.ButtonMouseDown(last))
        {
            var height = 20 * _tilerMaps.Count + 20;// +25;

            var lp = PopupWindow.ShowAtPosition <LayerPopup>(new Rect(last.x, last.y + last.height, 150f, height));
            lp.Setup(_mapIndex, _mapMask, _tilerMaps, SetMapChange, SetMapMask, Save);
            GUIUtility.ExitGUI();
        }

        /*if (currentIndex != _mapIndex)
         * {
         *  Save();
         *  SetMap(_mapIndex);
         * }*/
    }