Exemple #1
0
        public static UIButton CreateTextTabTemplate(Vector2 size)
        {
            KlyteMonoUtils.CreateUIElement(out UIButton tabTemplate, null, "UVMTabTemplate");
            KlyteMonoUtils.InitButton(tabTemplate, false, "GenericTab");
            tabTemplate.autoSize = false;
            tabTemplate.size     = size;

            return(tabTemplate);
        }
Exemple #2
0
        public static UIButton CreateTabTemplate(out UISprite logo, Vector2 size, UITextureAtlas textureAtlas = null)
        {
            KlyteMonoUtils.CreateUIElement(out UIButton tabTemplate, null, "UVMTabTemplate");
            KlyteMonoUtils.InitButton(tabTemplate, false, "GenericTab");
            tabTemplate.autoSize = false;
            tabTemplate.size     = size;
            KlyteMonoUtils.CreateUIElement(out logo, tabTemplate.transform, "TabIcon", new Vector4(0, 0, size.x, size.y));
            logo.atlas = textureAtlas ?? tabTemplate.atlas;

            return(tabTemplate);
        }
        private void Awake()
        {
            m_pagePanel                     = GetComponent <UIPanel>();
            m_pagePanel.padding             = new RectOffset(0, 0, 0, 0);
            m_pagePanel.autoLayout          = true;
            m_pagePanel.autoLayoutDirection = LayoutDirection.Horizontal;
            m_pagePanel.autoLayoutPadding   = new RectOffset(0, 0, 0, 3);
            m_pagePanel.clipChildren        = true;
            float height = m_pagePanel.height;

            KlyteMonoUtils.CreateUIElement(out m_infoLabel, m_pagePanel.transform, "infoLabel", new UnityEngine.Vector4(0, 0, m_pagePanel.width * .4f, height));
            m_infoLabel.verticalAlignment = UIVerticalAlignment.Middle;
            m_infoLabel.minimumSize       = new Vector2(m_pagePanel.width * .4f, height);
            KlyteMonoUtils.LimitWidthAndBox(m_infoLabel, m_pagePanel.width * .4f);

            KlyteMonoUtils.CreateUIElement(out UILabel itemsPerPageLbl, m_pagePanel.transform, "itemsPerPageLbl", new UnityEngine.Vector4(0, 0, m_pagePanel.width * .2f, height));
            itemsPerPageLbl.verticalAlignment = UIVerticalAlignment.Middle;
            itemsPerPageLbl.text          = Locale.Get("K45_CMNS_ITEMSPERPAGE");
            itemsPerPageLbl.minimumSize   = new Vector2(m_pagePanel.width * .2f, height);
            itemsPerPageLbl.textAlignment = UIHorizontalAlignment.Right;
            KlyteMonoUtils.LimitWidthAndBox(itemsPerPageLbl, m_pagePanel.width * .2f);

            m_itemsPerPageDD = UIHelperExtension.CloneBasicDropDownNoLabel(
                m_allowedItemCount.Select(x => x.ToString("0")).ToArray(),
                (idx) =>
            {
                if (idx >= 0)
                {
                    SetItemsPerpage(m_allowedItemCount[idx]);
                }
            },
                m_pagePanel);
            m_itemsPerPageDD.area = new Vector4(0, 0, m_pagePanel.width * .1f, height);


            KlyteMonoUtils.CreateUIElement(out m_firstPage, m_pagePanel.transform, "firstPage", new UnityEngine.Vector4(0, 0, m_pagePanel.width * .05f, height));
            KlyteMonoUtils.InitButton(m_firstPage, false, "ButtonMenu");
            m_firstPage.text          = "<<";
            m_firstPage.eventClicked += (x, y) => GoToPage(1);
            KlyteMonoUtils.CreateUIElement(out m_backPage, m_pagePanel.transform, "backPage", new UnityEngine.Vector4(0, 0, m_pagePanel.width * .05f, height));
            KlyteMonoUtils.InitButton(m_backPage, false, "ButtonMenu");
            m_backPage.text          = "<";
            m_backPage.eventClicked += (x, y) => GoToPage(m_currentPage - 1);

            KlyteMonoUtils.CreateUIElement(out m_pageInput, m_pagePanel.transform, "firstPage", new UnityEngine.Vector4(0, 0, m_pagePanel.width * .05f, height));
            KlyteMonoUtils.UiTextFieldDefaults(m_pageInput);
            m_pageInput.horizontalAlignment = UIHorizontalAlignment.Right;
            m_pageInput.numericalOnly       = true;
            m_pageInput.allowNegative       = false;
            m_pageInput.allowFloats         = false;
            m_pageInput.verticalAlignment   = UIVerticalAlignment.Top;
            m_pageInput.padding.top         = (int)((height - m_pageInput.font.size) / 2f);
            m_pageInput.submitOnFocusLost   = true;
            m_pageInput.eventTextSubmitted += (x, y) =>
            {
                if (int.TryParse(y, out int page))
                {
                    GoToPage(page);
                }
                else
                {
                    m_pageInput.text = m_currentPage.ToString("0");
                }
            };


            KlyteMonoUtils.CreateUIElement(out m_totalPage, m_pagePanel.transform, "firstPage", new UnityEngine.Vector4(0, 0, m_pagePanel.width * .05f, height));
            m_totalPage.prefix            = "/";
            m_totalPage.verticalAlignment = UIVerticalAlignment.Middle;
            m_totalPage.minimumSize       = new Vector2(m_pagePanel.width * .05f, height);
            KlyteMonoUtils.LimitWidthAndBox(m_totalPage, m_pagePanel.width * .05f);

            KlyteMonoUtils.CreateUIElement(out m_nextPage, m_pagePanel.transform, "nextPage", new UnityEngine.Vector4(0, 0, m_pagePanel.width * .05f, height));
            KlyteMonoUtils.InitButton(m_nextPage, false, "ButtonMenu");
            m_nextPage.text          = ">";
            m_nextPage.eventClicked += (x, y) => GoToPage(m_currentPage + 1);
            KlyteMonoUtils.CreateUIElement(out m_lastPage, m_pagePanel.transform, "lastPage", new UnityEngine.Vector4(0, 0, m_pagePanel.width * .05f, height));
            KlyteMonoUtils.InitButton(m_lastPage, false, "ButtonMenu");
            m_lastPage.text          = ">>";
            m_lastPage.eventClicked += (x, y) => GoToPage(TotalPages);

            SetNewLength(0);
            GoToPage(1);
        }