Exemple #1
0
        private void Button_OnMouseEntry(Button obj)
        {
            var windowFrame = Core.content.Load <Texture2D>("UI/frame_opaque");
            var btn         = obj as ItemIconButton;

            btn.entryTable = new Table();
            btn.entryTable.setFillParent(false);

            var detailTable = createItemDeatil(btn);

            btn.entryTable.addElement(detailTable);
            btn.entryTable.setSize(detailTable.preferredWidth < 200 ? 200 : detailTable.preferredWidth, detailTable.preferredHeight < 200 ? 200 : detailTable.preferredHeight);

            var back = new SubtextureDrawable(new Nez.Textures.Subtexture(windowFrame));

            back.setPadding(0, btn.entryTable.preferredWidth, 0, btn.entryTable.preferredHeight);
            btn.entryTable.setBackground(back);

            var x = detailScrollPane.getX() + btn.getX() + btn.getWidth();
            var y = detailScrollPane.getY() + btn.getY() - detailScrollPane.getScrollY();



            Rectangle rectangle = new Rectangle((int)(itemsTable.getX() + allContain.getX() + x), (int)(itemsTable.getY() + allContain.getY() + y), (int)btn.entryTable.getWidth(), (int)btn.entryTable.getHeight());

            if (rectangle.Bottom > Screen.height)
            {
                y = detailScrollPane.getY() + btn.getY() + btn.getHeight() - btn.entryTable.getHeight() - detailScrollPane.getScrollY();
            }
            if (rectangle.Right > Screen.width)
            {
                x = detailScrollPane.getX() + btn.getX() - btn.entryTable.getWidth();
            }

            itemsTable.addElement(btn.entryTable).setPosition(x, y);
        }