Esempio n. 1
0
        public override bool Window()
        {
            deletePrevious = EditorGUILayout.Toggle("Remove previous tiles", deletePrevious);
            copyEmpty      = EditorGUILayout.Toggle("Copy empty tiles", copyEmpty);

            if (GUILayout.Button("Cancel selection"))
            {
                toolState = AreaToolState.NONE;
            }

            return(false);
        }
Esempio n. 2
0
        public override bool OnMouseDown()
        {
            switch (toolState)
            {
            case AreaToolState.SELECTION:
                int x = mouseX;
                int y = mouseY;

                if (IsMouseInSelection(x, y))
                {
                    mouseInSelectionX = x - selectMinX;
                    mouseInSelectionY = y - selectMinY;

                    toolState = AreaToolState.DRAG;
                }
                else
                {
                    selectStartX = mouseX;
                    selectStartY = mouseY;

                    CalculateSelectionBound(selectStartX, selectStartY);

                    toolState = AreaToolState.SELECTING;
                }
                break;

            case AreaToolState.NONE:
                selectStartX = mouseX;
                selectStartY = mouseY;

                CalculateSelectionBound(selectStartX, selectStartY);

                toolState = AreaToolState.SELECTING;
                break;

            case AreaToolState.DRAG:
            case AreaToolState.SELECTING:
                break;
            }
            return(false);
        }
Esempio n. 3
0
        public override bool OnMouseUp()
        {
            switch (toolState)
            {
            case AreaToolState.DRAG:
                CopyCurrentTo(mouseX - mouseInSelectionX, mouseY - mouseInSelectionY, deletePrevious);

                toolState = AreaToolState.NONE;
                return(true);

            case AreaToolState.SELECTING:
                CalculateSelectionBound(mouseX, mouseY);

                toolState = AreaToolState.SELECTION;
                break;

            case AreaToolState.SELECTION:
            case AreaToolState.NONE:
                break;
            }
            return(false);
        }