Example #1
0
        void SetUIOption(HudAPIv2.Options flag, bool set)
        {
            if (uiTitle == null)
            {
                return;
            }

            for (int i = 0; i < ui.Length; ++i)
            {
                HudAPIv2.MessageBase msgBase = ui[i];

                // just in case this issue comes back I wanna know if it's it specifically
                if (msgBase.BackingObject == null)
                {
                    Log.Error($"{msgBase.GetType().Name} (ui{i}) has BackingObject = null!!!");
                    continue;
                }

                HudAPIv2.HUDMessage hudMessage = msgBase as HudAPIv2.HUDMessage;
                if (hudMessage != null)
                {
                    if (set)
                    {
                        hudMessage.Options |= flag;
                    }
                    else
                    {
                        hudMessage.Options &= ~flag;
                    }
                    continue;
                }

                HudAPIv2.BillBoardHUDMessage hudBillboard = msgBase as HudAPIv2.BillBoardHUDMessage;
                if (hudBillboard != null)
                {
                    if (set)
                    {
                        hudBillboard.Options |= flag;
                    }
                    else
                    {
                        hudBillboard.Options &= ~flag;
                    }
                    continue;
                }
            }
        }
Example #2
0
        public void UpdateUISettings()
        {
            if (uiTitle == null)
            {
                return;
            }

            SetUIOption(HudAPIv2.Options.HideHud, Main.Settings.hidePaletteWithHUD);

            float alpha = (Main.Settings.aimInfoBackgroundOpacity < 0 ? Main.GameConfig.HudBackgroundOpacity : Main.Settings.aimInfoBackgroundOpacity);

            uiTitleBg.BillBoardColor       = Utils.HUDColorAlpha(UI_TITLE_BG_COLOR, alpha);
            uiTextBg.BillBoardColor        = Utils.HUDColorAlpha(UI_TEXT_BG_COLOR, alpha);
            uiProgressBarBg.BillBoardColor = Utils.HUDColorAlpha(UI_PROGRESSBAR_BG_COLOR, MathHelper.Clamp(alpha * 2, 0.1f, 0.9f));

            float aspectRatioMod   = (float)(1d / Main.GameConfig.AspectRatio);
            float boxBgWidth       = UI_BOX_WIDTH * aspectRatioMod;
            float colorWidth       = UI_COLORBOX_WIDTH * aspectRatioMod;
            float progressBarWidth = UI_PROGRESSBAR_WIDTH * aspectRatioMod;

            for (int i = 0; i < ui.Length; ++i)
            {
                HudAPIv2.MessageBase msgBase = ui[i];

                if (msgBase is HudAPIv2.HUDMessage)
                {
                    HudAPIv2.HUDMessage obj = (HudAPIv2.HUDMessage)msgBase;

                    obj.Origin = uiPosition;
                }
                else if (msgBase is HudAPIv2.BillBoardHUDMessage)
                {
                    HudAPIv2.BillBoardHUDMessage obj = (HudAPIv2.BillBoardHUDMessage)msgBase;

                    obj.Origin = uiPosition;
                }
            }

            //float scale = settings.aimInfoScale;
            const float scale = 1f; // TODO: make it scaleable?

            uiTitleBg.Width       = boxBgWidth * scale;
            uiTextBg.Width        = boxBgWidth * scale;
            uiPaintColor.Width    = colorWidth * scale;
            uiTargetColor.Width   = colorWidth * scale;
            uiProgressBar.Width   = progressBarWidth * scale;
            uiProgressBarBg.Width = progressBarWidth * scale;

            uiTitle.Offset   = new Vector2D(0.012, -0.018) * scale;
            uiTitleBg.Offset = new Vector2D(uiTitleBg.Width * 0.5, uiTitleBg.Height * -0.5);

            uiText.Offset   = new Vector2D(0.07 * aspectRatioMod, -0.09) * scale;
            uiTextBg.Offset = new Vector2D(uiTextBg.Width * 0.5, uiTextBg.Height * -0.5) + (uiTextBgPosition * scale);

            uiTargetColor.Offset = new Vector2D(0.09 * aspectRatioMod, -0.195) * scale;
            uiPaintColor.Offset  = new Vector2D(0.09 * aspectRatioMod, -0.295) * scale;

            uiProgressBar.Offset   = new Vector2D(uiProgressBar.Width * 0.5, uiProgressBar.Height * -0.5) + (uiProgressBarPosition * scale);
            uiProgressBarBg.Offset = new Vector2D(uiProgressBarBg.Width * 0.5, uiProgressBarBg.Height * -0.5) + (uiProgressBarPosition * scale);

            uiTitle.Scale         = UI_TITLE_SCALE * scale;
            uiTitleBg.Scale       = scale;
            uiText.Scale          = UI_TEXT_SCALE * scale;
            uiTextBg.Scale        = scale;
            uiTargetColor.Scale   = scale;
            uiPaintColor.Scale    = scale;
            uiProgressBar.Scale   = scale;
            uiProgressBarBg.Scale = scale;
        }