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; }
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; }
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(); }
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; }
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; }
void ScrollButton_OnButtonPress(RectButton arg1, Vector2 arg2) { isMoving = true; }
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); } }