예제 #1
0
        private void AddFileList()
        {
            DropDown = ScrollableContent.AddUIComponent <FileDropDown>();

            DropDown.atlas                      = TextureUtil.InGameAtlas;
            DropDown.height                     = 38;
            DropDown.width                      = Width - 2 * Padding;
            DropDown.listBackground             = "OptionsDropboxListbox";
            DropDown.itemHeight                 = 24;
            DropDown.itemHover                  = "ListItemHover";
            DropDown.itemHighlight              = "ListItemHighlight";
            DropDown.normalBgSprite             = "OptionsDropbox";
            DropDown.hoveredBgSprite            = "OptionsDropboxHovered";
            DropDown.focusedBgSprite            = "OptionsDropboxFocused";
            DropDown.listWidth                  = (int)DropDown.width;
            DropDown.listHeight                 = 200;
            DropDown.listPosition               = UIDropDown.PopupListPosition.Below;
            DropDown.clampListToScreen          = true;
            DropDown.foregroundSpriteMode       = UIForegroundSpriteMode.Stretch;
            DropDown.popupTextColor             = new Color32(170, 170, 170, 255);
            DropDown.textScale                  = 1.25f;
            DropDown.textFieldPadding           = new RectOffset(14, 40, 7, 0);
            DropDown.verticalAlignment          = UIVerticalAlignment.Middle;
            DropDown.horizontalAlignment        = UIHorizontalAlignment.Center;
            DropDown.itemPadding                = new RectOffset(14, 14, 0, 0);
            DropDown.verticalAlignment          = UIVerticalAlignment.Middle;
            DropDown.eventSelectedIndexChanged += DropDownIndexChanged;

            DropDown.triggerButton = DropDown;

            AddData();
            DropDown.selectedIndex = 0;
        }
        /// <summary>
        /// Creates a blank panel spacer.
        /// </summary>
        /// <param name="height">Spacer height (default 10)</param>
        public void AddSpacer(float height = 10f)
        {
            UILabel spacer = ScrollableContent.AddUIComponent <UILabel>();

            spacer.autoSize = false;
            spacer.height   = height;
            spacer.width    = 10f;
        }
예제 #3
0
        public override void Init(Dictionary <Version, string> messages)
        {
            var betaMessage = ScrollableContent.AddUIComponent <UILabel>();

            betaMessage.wordWrap   = true;
            betaMessage.autoHeight = true;
            betaMessage.textColor  = Color.red;
            betaMessage.text       = string.Format(NodeMarkup.Localize.Mod_BetaWarningMessage, Mod.StaticName);

            base.Init(messages);
        }
        /// <summary>
        /// Add dot pointed list.
        /// </summary>
        /// <param name="listItems">Array of messages for display as separte dot points</param>
        public void AddList(params string[] listItems)
        {
            // Iterate through each provided message string and create separate dot point for each item.
            for (int i = 0; i < listItems.Length; ++i)
            {
                ListItem listItem = ScrollableContent.AddUIComponent <ListItem>();
                listItem.Text = listItems[i];
            }

            // Add spacer at end of list.
            AddSpacer();
        }
예제 #5
0
        private void AddFileList()
        {
            DropDown = ScrollableContent.AddUIComponent <FileDropDown>();
            DropDown.SetSettingsStyle(new Vector2(Width - 2 * Padding, 38));

            DropDown.listWidth                  = (int)DropDown.width;
            DropDown.listHeight                 = 200;
            DropDown.itemPadding                = new RectOffset(14, 14, 0, 0);
            DropDown.textScale                  = 1.25f;
            DropDown.clampListToScreen          = true;
            DropDown.eventSelectedIndexChanged += DropDownIndexChanged;

            AddData();
            DropDown.selectedIndex = 0;
        }
예제 #6
0
        public void Init(Dictionary <Version, string> messages)
        {
            var first = default(VersionMessage);

            foreach (var message in messages)
            {
                var versionMessage = ScrollableContent.AddUIComponent <VersionMessage>();
                versionMessage.width = ScrollableContent.width;
                versionMessage.Init(message.Key, message.Value);

                if (first == null)
                {
                    first = versionMessage;
                }
            }
            first.IsMinimize = false;
        }
예제 #7
0
        /// <summary>
        /// Sets the 'what's new' messages to display.
        /// </summary>
        /// <param name="lastNotifiedVersion">Last notified version (version messages equal to or earlier than this will be minimized</param>
        /// <param name="messages">Version update messages to display, in order (newest versions first), with a list of items (as translation keys) for each version</param>
        public void SetMessages(Version lastNotifiedVersion, WhatsNewMessage[] messages)
        {
            // Iterate through each provided version and add it to the messagebox.
            foreach (WhatsNewMessage message in messages)
            {
                VersionMessage versionMessage = ScrollableContent.AddUIComponent <VersionMessage>();
                versionMessage.width = ContentWidth;
                versionMessage.SetText(message);
                // Add spacer below.
                AddSpacer();

                // Hide version messages that have already been notified (always showing versions with headers).
                if ((message.version < lastNotifiedVersion) || (message.version == lastNotifiedVersion && message.betaVersion <= ModSettings.whatsNewBetaVersion))
                {
                    versionMessage.IsCollapsed = true;
                }
            }
        }
        /// <summary>
        /// Add paragraphs to message box.
        /// </summary>
        /// <param name="messages">Text for each paragraph</param>
        public void AddParas(params string[] messages)
        {
            // Iterate through each provided paragraph and create a separate UI label for each item.
            for (int i = 0; i < messages.Length; ++i)
            {
                // Basic setup.
                UILabel paraMessage = ScrollableContent.AddUIComponent <UILabel>();
                paraMessage.wordWrap   = true;
                paraMessage.autoSize   = false;
                paraMessage.autoHeight = true;
                paraMessage.width      = width - ScrollableContent.autoLayoutPadding.left - ScrollableContent.autoLayoutPadding.right;

                // Set text while we're autosizing.
                paraMessage.text = messages[i];

                // Now that the height is set after autosizing with the final text, fix the height and add a buffer for the next paragraph.
                paraMessage.autoHeight = false;
                paraMessage.height    += 10f;
            }
        }