Exemplo n.º 1
0
    public virtual void ToolBar()
    {
        GUILayout.Box("File", EditorStyles.toolbarDropDown);
        Rect fileRect = GUILayoutUtility.GetLastRect();

        if (MyGUI.ButtonMouseDown(fileRect))
        {
            var win = PopupWindow.ShowAtPosition <FileMenuPopup>(new Rect(fileRect.x, fileRect.y + fileRect.height, 50f, 60f));
            win.Setup(this);
            GUIUtility.ExitGUI();
        }

        GUILayout.Box("Window", EditorStyles.toolbarDropDown);
        Rect windowRect = GUILayoutUtility.GetLastRect();

        if (MyGUI.ButtonMouseDown(windowRect))
        {
            var win = PopupWindow.ShowAtPosition <WindowPopup>(new Rect(windowRect.x, windowRect.y + windowRect.height, 50f, 60f));
            win.Setup(Parent);
            GUIUtility.ExitGUI();
        }

        GUILayout.Box("Help", EditorStyles.toolbarDropDown);
        Rect helpRect = GUILayoutUtility.GetLastRect();

        if (MyGUI.ButtonMouseDown(helpRect))
        {
            var win = PopupWindow.ShowAtPosition <HelpPopup>(new Rect(helpRect.x, helpRect.y + windowRect.height, 100f, 60f));
            win.Setup(Parent);
            GUIUtility.ExitGUI();
        }

        GUILayout.FlexibleSpace();
    }
Exemplo n.º 2
0
    public bool MenuOption(string text)
    {
        var gc = new GUIContent(text);

        var rect = GUILayoutUtility.GetRect(gc, LabelStyle);

        if (rect.Contains(Event.current.mousePosition))
        {
            LabelStyle.normal.textColor = Color.red;
        }

        GUI.Label(rect, gc, LabelStyle);
        LabelStyle.normal.textColor = DefaultLabelColor;

        return(MyGUI.ButtonMouseDown(rect));
    }
Exemplo n.º 3
0
    private bool Menu(string optionName)
    {
        var gc = new GUIContent(optionName);

        var rect = GUILayoutUtility.GetRect(gc, LabelStyle);

        if (rect.Contains(Event.current.mousePosition))
        {
            LabelStyle.normal.textColor = Color.red;
        }

        GUI.Label(rect, gc, LabelStyle);
        LabelStyle.normal.textColor = DefaultLabelColor;

        if (MyGUI.ButtonMouseDown(rect))
        {
            return(true);
        }
        return(false);
    }
Exemplo n.º 4
0
    private void Toolbar()
    {
        GUILayout.BeginHorizontal("toolbar");

        var currentIndex = _tilesetIndex;

        _tilesetIndex = EditorGUILayout.Popup(_tilesetIndex, _tilesetNames, EditorStyles.toolbarPopup);

        if (currentIndex != _tilesetIndex)
        {
            SetTileSet(_tilesetList[_tilesetIndex].InstanceID);
            UpdateTextureList();
        }

        GUILayout.FlexibleSpace();
        EditorGUILayout.Space();

        if (GUILayout.Button("X", EditorStyles.toolbarButton))
        {
            SetBrush(-1);
        }
        EditorGUILayout.Space();

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

        if (MyGUI.ButtonMouseDown(last))
        {
            var win = PopupWindow.ShowAtPosition <FilterPopup>(new Rect(last.x, last.y + last.height, 100f, 150f));
            win.Setup(_filter, UpdateTextureList);
            GUIUtility.ExitGUI();
        }
        else if (MyGUI.ButtonMouseDown(last, 1))
        {
            _filter.Reset();
            UpdateTextureList();
        }

        GUILayout.EndHorizontal();
    }
Exemplo n.º 5
0
    public override void OnGUI()
    {
        for (int index = 0; index < _layers.Count; index++)
        {
            var layer = _layers[index];

            GUILayout.BeginHorizontal();
            if (MyGUI.HasToggled((_mask & 1 << index) == 1 << index, "", GUILayout.Width(16)))
            {
                if ((_mask & 1 << index) != 1 << index || _active != index)
                {
                    _mask ^= (1 << index);
                    CallOnVisibleChange();
                }
            }

            var gc   = new GUIContent(layer.name);
            var rect = GUILayoutUtility.GetRect(gc, LabelStyle);
            if (index == _active)
            {
                LabelStyle.normal.textColor = Color.red;
            }
            GUI.Label(rect, gc, LabelStyle);
            LabelStyle.normal.textColor = DefaultLabelColor;

            if (MyGUI.ButtonMouseDown(rect))
            {
                if (_active != index)
                {
                    _mask  |= (1 << index);
                    _active = index;
                    CallOnActiveChangeChange();
                    //Close();
                }
            }

            GUI.enabled = index != _layers.Count - 1;
            if (GUILayout.Button("D", EditorStyles.miniButtonLeft, GUILayout.Width(32)))
            {
                if (index == _active)
                {
                    _active++;
                }
                else if (index + 1 == _active)
                {
                    _active--;
                }

                GetValue(index, true);
            }

            GUI.enabled = index != 0;
            if (GUILayout.Button("U", EditorStyles.miniButtonRight, GUILayout.Width(32)))
            {
                if (index == _active)
                {
                    _active--;
                }
                else if (index - 1 == _active)
                {
                    _active++;
                }

                GetValue(index, false);
            }
            GUI.enabled = true;

            GUILayout.EndHorizontal();
        }
        base.OnGUI();
    }
Exemplo n.º 6
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);
         * }*/
    }