Beispiel #1
0
        public void mouseDown(int x, int y)
        {
            if (gameInputLock || thread.getState() == GameState.PAUSED)
            {
                return;
            }

            switch (inputState)
            {
            case InputState.RELEASED_NO_SELECTION:
            {
                selFromX = selToX = x / gameViewController.getCellWidth();
                selFromY = selToY = y / gameViewController.getCellHeight();
                if (selFromX < 0)
                {
                    selFromX = selToX = 0;
                }
                if (selFromX >= elementsX)
                {
                    selToX = --selFromX;
                }
                if (selFromY < 0)
                {
                    selFromY = selToY = 0;
                }
                if (selFromY >= elementsY)
                {
                    selToY = --selFromY;
                }
                gameViewController.startSelection(selFromX, selFromY);
                inputState = InputState.SELECTING_ELEMENTS;
                break;
            }

            case InputState.SELECTING_ELEMENTS:
            {
                break;
            }

            case InputState.RELEASED_SELECTED:
            {
                if (isPointInSelection(x, y))
                {
                    gameViewController.startMoveSelection(x, y);
                    inputState = InputState.MOVING_ELEMENTS;
                }
                else
                {
                    selFromX = selToX = x / gameViewController.getCellWidth();
                    selFromY = selToY = y / gameViewController.getCellHeight();
                    if (selFromX < 0)
                    {
                        selFromX = selToX = 0;
                    }
                    if (selFromX >= elementsX)
                    {
                        selToX = --selFromX;
                    }
                    if (selFromY < 0)
                    {
                        selFromY = selToY = 0;
                    }
                    if (selFromY >= elementsY)
                    {
                        selToY = --selFromY;
                    }
                    gameViewController.startSelection(selFromX, selFromY);
                    inputState = InputState.SELECTING_ELEMENTS;
                }
                break;
            }

            case InputState.MOVING_ELEMENTS:
            {
                break;
            }

            case InputState.ANIMATION:
            {
                break;
            }
            }
        }