public void click(int x, int y, boolean leftMouse)
    {
        int xGridPos = (int)Math.floor(x / Plot.SIZE);
        int yGridPos = (int)Math.floor(y / Plot.SIZE);
        
        if (metaRound <= 2)
        {   
            if (validClick(x, y))
            {
                buyProperty(xGridPos, yGridPos, 0); // first two rounds offer plots for free!
            }
        } 
        else 
        {
            if (passButton.inBounds(x,y))
            {       
                if (playerIds.size() <= 0)
                {
                    return;
                }
                playerIds.remove(currentPlayerIndex);
                currentPlayerIndex = currentPlayerIndex++;
                // handle when index exceeds bounds of ArrayList
                if (currentPlayerIndex >= playerIds.size() && playerIds.size() != 0)
                    currentPlayerIndex %= playerIds.size();
                // If we arrive back at first person (index 0), we move on to next metaround
                if (currentPlayerIndex == 0) 
                {
                    metaRound++;
                }
            }
            else 
            {
                if (validClick(x, y)) 
                {
                    buyProperty(xGridPos, yGridPos, PLOT_COST);
                }
            }
        }
    }