Inheritance: RectWidget
        public RTSUnitDataPanel(RTSRenderer renderer, WidgetRenderer wr, UICUnitData _uic, UICCombatStats _uicCS)
        {
            uic = _uic;
            iconLib = renderer.IconLibrary;

            WidgetBase = new RectWidget(wr, renderer.LoadTexture2D(uic.PanelImage));
            WidgetBase.Width = uic.PanelSize.X;
            WidgetBase.Height = uic.PanelSize.Y;
            WidgetBase.Color = uic.PanelColor;

            icon = new RectWidget(wr);
            icon.Width = uic.IconSize;
            icon.Height = uic.IconSize;
            icon.Color = Color.White;
            icon.Offset = new Point(uic.IconBuffer, uic.IconBuffer);
            icon.Parent = WidgetBase;

            rectHealthBack = new RectWidget(wr);
            rectHealthBack.Width = uic.IconSize;
            rectHealthBack.Height = uic.HealthHeight;
            rectHealthBack.AlignX = Alignment.MID;
            rectHealthBack.OffsetAlignX = Alignment.MID;
            rectHealthBack.OffsetAlignY = Alignment.BOTTOM;
            rectHealthBack.Offset = new Point(0, uic.IconBuffer);
            rectHealthBack.Color = UserConfig.MainScheme.WidgetBorder;
            rectHealthBack.Parent = icon;

            rectHealthFore = new RectWidget(wr);
            rectHealthFore.Width = uic.IconSize;
            rectHealthFore.Height = uic.HealthHeight;
            rectHealthFore.AlignX = Alignment.MID;
            rectHealthFore.AlignY = Alignment.MID;
            rectHealthFore.OffsetAlignX = Alignment.MID;
            rectHealthFore.OffsetAlignY = Alignment.MID;
            rectHealthFore.Offset = new Point(0, 0);
            rectHealthFore.Color = uic.HealthMaxColor;
            rectHealthFore.Parent = rectHealthBack;

            txtName = new TextWidget(wr);
            txtName.Height = uic.TextHeight;
            txtName.OffsetAlignX = Alignment.RIGHT;
            txtName.Offset = new Point(uic.IconBuffer, 0);
            txtName.Color = UserConfig.MainScheme.Text;
            txtName.Parent = icon;

            combatData = new RectButton(wr, uic.CombatSize, uic.CombatSize, Color.Gray, Color.White, renderer.LoadTexture2D(uic.CombatImage));
            combatData.AlignX = Alignment.RIGHT;
            combatData.AlignY = Alignment.BOTTOM;
            combatData.OffsetAlignX = Alignment.RIGHT;
            combatData.OffsetAlignY = Alignment.BOTTOM;
            combatData.Parent = WidgetBase;

            uiCStats = new RTSUICombatStats(wr, _uicCS);
            uiCStats.WidgetBase.AlignY = Alignment.BOTTOM;
            uiCStats.WidgetBase.Anchor = new Point(1000000, 1000000);

            uiCSHover = new RTSUIHoverPanel(combatData, uiCStats.WidgetBase);
        }
        public RTSUIHoverPanel(RectButton b, BaseWidget p)
        {
            TargetButton = b;
            PanelWidget = p;

            TargetButton.OnMouseEntry += TargetButton_OnMouseEntry;
            TargetButton.OnMouseExit += TargetButton_OnMouseExit;
            shouldShow = false;
        }
Esempio n. 3
0
        public ScrollMenu(WidgetRenderer wr, int w, int h, int bCount, int sbw, int sbh)
        {
            Widget        = new RectWidget(wr);
            Widget.Width  = w;
            Widget.Height = h * bCount;

            scrollBar            = new ScrollBar(wr);
            scrollBar.IsVertical = true;
            scrollBar.Width      = sbw;
            scrollBar.ScrollButton.InactiveWidth  = scrollBar.Width;
            scrollBar.ScrollButton.InactiveHeight = sbh;
            scrollBar.ScrollButton.ActiveWidth    = scrollBar.Width;
            scrollBar.ScrollButton.ActiveHeight   = sbh;
            scrollBar.Height       = Widget.Height;
            scrollBar.OffsetAlignX = Alignment.RIGHT;
            scrollBar.Parent       = Widget;
            scrollBar.ScrollRatio  = 0;


            buttons     = new RectButton[bCount];
            buttonsText = new TextWidget[buttons.Length];
            for (int i = 0; i < buttons.Length; i++)
            {
                buttons[i] = new RectButton(wr, Widget.Width, h, Color.Black, Color.White);
                if (i > 0)
                {
                    buttons[i].Parent       = buttons[i - 1];
                    buttons[i].OffsetAlignY = Alignment.BOTTOM;
                    buttons[i].LayerOffset  = 0f;
                }
                else
                {
                    buttons[i].Parent = Widget;
                }
                buttonsText[i]              = new TextWidget(wr);
                buttonsText[i].Height       = (int)(TEXT_H_RATIO * buttons[i].Height);
                buttonsText[i].Text         = "";
                buttonsText[i].Offset       = new Point(TEXT_X_OFF, 0);
                buttonsText[i].AlignX       = Alignment.LEFT;
                buttonsText[i].AlignY       = Alignment.MID;
                buttonsText[i].OffsetAlignX = Alignment.LEFT;
                buttonsText[i].OffsetAlignY = Alignment.MID;
                buttonsText[i].Parent       = buttons[i];
            }

            BaseColor          = Color.Black;
            HighlightColor     = Color.DarkSlateGray;
            TextColor          = Color.White;
            ScrollBarBaseColor = Color.Red;
        }
Esempio n. 4
0
        public ScrollBar(WidgetRenderer wr, Texture2D tBase = null, Texture2D tButton = null)
            : base(wr, tBase)
        {
            // Defaults As A Vertical Scrollbar
            isVertical  = true;
            scrollRatio = 0;
            isMoving    = false;

            // Create The Scroll Button
            ScrollButton              = new RectButton(wr, Width, Height, Color, Color, tButton);
            ScrollButton.Parent       = this;
            ScrollButton.AlignX       = Alignment.MID;
            ScrollButton.AlignY       = Alignment.TOP;
            ScrollButton.OffsetAlignX = Alignment.MID;
            ScrollButton.OffsetAlignY = Alignment.TOP;
            RefreshScroll();
        }
Esempio n. 5
0
        public ScrollMenu(WidgetRenderer wr, int w, int h, int bCount, int sbw, int sbh)
        {
            Widget = new RectWidget(wr);
            Widget.Width = w;
            Widget.Height = h * bCount;

            scrollBar = new ScrollBar(wr);
            scrollBar.IsVertical = true;
            scrollBar.Width = sbw;
            scrollBar.ScrollButton.InactiveWidth = scrollBar.Width;
            scrollBar.ScrollButton.InactiveHeight = sbh;
            scrollBar.ScrollButton.ActiveWidth = scrollBar.Width;
            scrollBar.ScrollButton.ActiveHeight = sbh;
            scrollBar.Height = Widget.Height;
            scrollBar.OffsetAlignX = Alignment.RIGHT;
            scrollBar.Parent = Widget;
            scrollBar.ScrollRatio = 0;

            buttons = new RectButton[bCount];
            buttonsText = new TextWidget[buttons.Length];
            for(int i = 0; i < buttons.Length; i++) {
                buttons[i] = new RectButton(wr, Widget.Width, h, Color.Black, Color.White);
                if(i > 0) {
                    buttons[i].Parent = buttons[i - 1];
                    buttons[i].OffsetAlignY = Alignment.BOTTOM;
                    buttons[i].LayerOffset = 0f;
                }
                else {
                    buttons[i].Parent = Widget;
                }
                buttonsText[i] = new TextWidget(wr);
                buttonsText[i].Height = (int)(TEXT_H_RATIO * buttons[i].Height);
                buttonsText[i].Text = "";
                buttonsText[i].Offset = new Point(TEXT_X_OFF, 0);
                buttonsText[i].AlignX = Alignment.LEFT;
                buttonsText[i].AlignY = Alignment.MID;
                buttonsText[i].OffsetAlignX = Alignment.LEFT;
                buttonsText[i].OffsetAlignY = Alignment.MID;
                buttonsText[i].Parent = buttons[i];
            }

            BaseColor = Color.Black;
            HighlightColor = Color.DarkSlateGray;
            TextColor = Color.White;
            ScrollBarBaseColor = Color.Red;
        }
Esempio n. 6
0
        public RTSUIMinimap(RTSRenderer renderer, WidgetRenderer wr, Texture2D tPhys, Texture2D tImp, UICMinimap uic)
        {
            tPhysical = tPhys;
            tImpact = tImp;

            WidgetBase = new RectWidget(wr);
            WidgetBase.Width = uic.ButtonWidth + uic.MapSize + uic.Buffer * 2;
            WidgetBase.Height = uic.MapSize + uic.Buffer * 2;
            WidgetBase.Color = uic.BaseColor;

            int bh = uic.MapSize / 2;
            btnPhysical = new RectButton(wr, uic.ButtonWidth, bh,
                uic.PhysicalInactiveColor,
                uic.PhysicalActiveColor,
                renderer.LoadTexture2D(uic.PhysicalTexture)
                );
            btnImpact = new RectButton(wr, uic.ButtonWidth, bh,
                uic.ImpactInactiveColor,
                uic.ImpactActiveColor,
                renderer.LoadTexture2D(uic.ImpactTexture)
                );

            btnPhysical.Offset = new Point(uic.Buffer, uic.Buffer);
            btnPhysical.Parent = WidgetBase;
            btnImpact.OffsetAlignY = Alignment.BOTTOM;
            btnImpact.Parent = btnPhysical;

            MapRect = new RectWidget(wr, tPhysical);
            MapRect.Width = uic.MapSize;
            MapRect.Height = uic.MapSize;
            MapRect.Color = Color.White;
            MapRect.OffsetAlignX = Alignment.RIGHT;
            MapRect.Parent = btnPhysical;

            btnPhysical.OnButtonPress += (b, p) => {
                MapRect.Texture = tPhysical;
            };
            btnImpact.OnButtonPress += (b, p) => {
                MapRect.Texture = tImpact;
            };
        }
 private void TargetButton_OnMouseExit(RectButton arg1, Vector2 arg2)
 {
     shouldShow = false;
     PanelWidget.Anchor = new Point(-1000000, -1000000);
 }
 void TargetButton_OnMouseEntry(RectButton arg1, Vector2 arg2)
 {
     shouldShow = true;
 }
Esempio n. 9
0
 void ScrollButton_OnButtonPress(RectButton arg1, Vector2 arg2)
 {
     isMoving = true;
 }
Esempio n. 10
0
        public LEMenu(WidgetRenderer wr, UICLEMenu _uic)
        {
            uic = _uic;
            WidgetBase = new RectWidget(wr);
            WidgetBase.Color = UserConfig.MainScheme.WidgetBase;
            WidgetBase.Width = uic.TextInputBufferSize.X + uic.WidgetSpacing * 2;

            btns = new RectButton[5];
            for(int i = 0; i < btns.Length; i++) {
                btns[i] = new RectButton(wr,
                    i == 0 ? uic.TextInputBufferSize.X : (uic.TextInputBufferSize.X - uic.WidgetSpacing) / 2,
                    uic.TextInputBufferSize.Y,
                    UserConfig.MainScheme.WidgetInactive,
                    UserConfig.MainScheme.WidgetActive
                    );
            }
            txts = new TextWidget[3];
            for(int i = 0; i < txts.Length; i++) {
                txts[i] = new TextWidget(wr);
                txts[i].Height = uic.TextHeight;
                txts[i].Color = UserConfig.MainScheme.Text;
                txts[i].OffsetAlignX = Alignment.MID;
                txts[i].AlignX = Alignment.MID;
                if(i != 0) {
                    txts[i].OffsetAlignY = Alignment.MID;
                    txts[i].AlignY = Alignment.MID;
                }
            }
            txts[0].Text = "Map Name";
            txts[1].Text = "Save";
            txts[2].Text = "Load";

            tInputs = new TextInputWidget[3];
            for(int i = 0; i < tInputs.Length; i++) {
                tInputs[i] = new TextInputWidget(wr);
                tInputs[i].Height = uic.TextHeight;
                tInputs[i].Color = UserConfig.MainScheme.Text;
                tInputs[i].Caret.Width = 1;
                tInputs[i].Caret.Color = uic.CaretColor;
                tInputs[i].OffsetAlignX = Alignment.MID;
                tInputs[i].OffsetAlignY = Alignment.MID;
                tInputs[i].AlignX = Alignment.MID;
                tInputs[i].AlignY = Alignment.MID;
            }
            MapLocation = uic.DefaultMapLocText;
            MapWidth = uic.DefaultWidth;
            MapHeight = uic.DefaultHeight;

            txts[0].Parent = WidgetBase;
            txts[0].Offset = new Point(0, uic.WidgetSpacing);

            btns[0].OffsetAlignX = Alignment.MID;
            btns[0].OffsetAlignY = Alignment.BOTTOM;
            btns[0].Offset = new Point(0, uic.WidgetSpacing);
            btns[0].AlignX = Alignment.MID;
            btns[0].Parent = txts[0];
            btns[1].OffsetAlignX = Alignment.LEFT;
            btns[1].OffsetAlignY = Alignment.BOTTOM;
            btns[1].Offset = new Point(0, uic.WidgetSpacing);
            btns[1].AlignX = Alignment.LEFT;
            btns[1].Parent = btns[0];
            btns[2].OffsetAlignX = Alignment.RIGHT;
            btns[2].OffsetAlignY = Alignment.BOTTOM;
            btns[2].Offset = new Point(0, uic.WidgetSpacing);
            btns[2].AlignX = Alignment.RIGHT;
            btns[2].Parent = btns[0];
            for(int i = 0; i < 3; i++)
                tInputs[i].Parent = btns[i];
            for(int i = 0; i < 2; i++) {
                btns[i + 3].OffsetAlignY = Alignment.BOTTOM;
                btns[i + 3].Offset = new Point(0, uic.WidgetSpacing);
                btns[i + 3].Parent = btns[i + 1];
                txts[i + 1].Parent = btns[i + 3];
            }
            WidgetBase.Height = btns[4].Y + btns[4].Height + uic.WidgetSpacing;

            for(int i = 0; i < 3; i++) {
                btns[i].OnButtonPress += GetInputActivator(i);
            }
        }