public override void Update(GameTime gameTime) { base.Update(gameTime); if (ContainsPoint(Main.MouseScreen)) { Main.LocalPlayer.mouseInterface = true; } if (dragging) { Left.Set(Main.mouseX - offset.X, 0f); Top.Set(Main.mouseY - offset.Y, 0f); Recalculate(); } CalculatedStyle dimensions = Parent.GetDimensions(); Rectangle parentSpace = dimensions.ToRectangle(); Rectangle mouseRect = new Rectangle(Main.mouseX, Main.mouseY, 0, 0); dimensions = GetDimensions(); Rectangle val = dimensions.ToRectangle(); if (val.Intersects(parentSpace) || !mouseRect.Intersects(parentSpace)) { Left.Pixels = Utils.Clamp(Left.Pixels, 0f, parentSpace.Right - Width.Pixels); Top.Pixels = Utils.Clamp(Top.Pixels, 0f, parentSpace.Bottom - Height.Pixels); Recalculate(); } }
protected override void DrawSelf(SpriteBatch spriteBatch) { CalculatedStyle dimensions = GetDimensions(); Player player = Main.LocalPlayer; AbilityHandler mp = player.GetModPlayer <AbilityHandler>(); Texture2D emptyTex = GetTexture("StarlightRiver/GUI/Assets/StaminaEmpty"); Texture2D fillTex = GetTexture("StarlightRiver/GUI/Assets/Stamina"); int row = 0; for (int k = 0; k < mp.StatStaminaMax; k++) { if (k % 7 == 0 && k != 0) { row++; } Vector2 pos = row % 2 == 0 ? dimensions.ToRectangle().TopLeft() + new Vector2(row * -18, (k % 7) * 28) : dimensions.ToRectangle().TopLeft() + new Vector2(row * -18, 14 + (k % 7) * 28); spriteBatch.Draw(emptyTex, pos, emptyTex.Frame(), Color.White, 0, Vector2.Zero, 1, SpriteEffects.None, 0); if (mp.StatStamina > k) { spriteBatch.Draw(fillTex, pos + Vector2.One * 4, Color.White); } if (mp.StatStamina == k) { float scale = 1 - (mp.StatStaminaRegen / (float)mp.StatStaminaRegenMax); spriteBatch.Draw(fillTex, pos + Vector2.One * 4 + fillTex.Size() / 2, fillTex.Frame(), Color.White, 0, fillTex.Size() / 2, scale, 0, 0); } } }
public override void Update(GameTime gameTime) { _collectionInfo = _entry.UIInfoProvider.GetEntryUICollectionInfo(); CalculatedStyle dimensions = GetDimensions(); bool isHovered = base.IsMouseHovering || ForceHover; _entry.Icon.Update(_collectionInfo, dimensions.ToRectangle(), new EntryIconDrawSettings { iconbox = dimensions.ToRectangle(), IsPortrait = _isPortrait, IsHovered = isHovered }); base.Update(gameTime); }
public override void Update(GameTime gameTime) { this._collectionInfo = this._entry.UIInfoProvider.GetEntryUICollectionInfo(); CalculatedStyle dimensions = this.GetDimensions(); bool flag = this.IsMouseHovering || this.ForceHover; this._entry.Icon.Update(this._collectionInfo, dimensions.ToRectangle(), new EntryIconDrawSettings() { iconbox = dimensions.ToRectangle(), IsPortrait = this._isPortrait, IsHovered = flag }); base.Update(gameTime); }
protected override void DrawSelf(SpriteBatch spriteBatch) { CalculatedStyle dimensions = base.GetInnerDimensions(); Rectangle rectangle = dimensions.ToRectangle(); Rectangle value = new Rectangle(0, 0, 1, 1); float r = 1f; if (isSelect) { r = .25f; } float g = 0.9f; float b = 0.1f; float a = 1f; //a = .2f; float scale2 = 0.6f; Color color = buffColor(Color.White, r, g, b, a); //Main.spriteBatch.Draw(Main.magicPixel, dimensions.Position, new Microsoft.Xna.Framework.Rectangle?(value), color * scale, 0f, Vector2.Zero, , SpriteEffects.None, 0f); if (isSelect || IsMouseHovering) { spriteBatch.Draw(Main.magicPixel, dimensions.ToRectangle(), color * scale2); } spriteBatch.Draw(texture, dimensions.Position(), null, Color.White, 0f, Vector2.Zero, scale, effects, 0f); if (isSelect || IsMouseHovering) { b = 0.3f; g = 0.95f; scale2 = (a = 1f); color = buffColor(Color.White, r, g, b, a); //Main.spriteBatch.Draw(Main.magicPixel, upperLeftScreen + Vector2.UnitX * -2f, new Microsoft.Xna.Framework.Rectangle?(value), color * scale, 0f, Vector2.Zero, new Vector2(2f, 16f * brushSize.Y), SpriteEffects.None, 0f); //Main.spriteBatch.Draw(Main.magicPixel, upperLeftScreen + Vector2.UnitX * 16f * brushSize.X, new Microsoft.Xna.Framework.Rectangle?(value), color * scale, 0f, Vector2.Zero, new Vector2(2f, 16f * brushSize.Y), SpriteEffects.None, 0f); //Main.spriteBatch.Draw(Main.magicPixel, upperLeftScreen + Vector2.UnitY * -2f, new Microsoft.Xna.Framework.Rectangle?(value), color * scale, 0f, Vector2.Zero, new Vector2(16f * brushSize.X, 2f), SpriteEffects.None, 0f); //Main.spriteBatch.Draw(Main.magicPixel, upperLeftScreen + Vector2.UnitY * 16f * brushSize.Y, new Microsoft.Xna.Framework.Rectangle?(value), color * scale, 0f, Vector2.Zero, new Vector2(16f * brushSize.X, 2f), SpriteEffects.None, 0f); spriteBatch.Draw(Main.magicPixel, new Rectangle((int)dimensions.X, (int)dimensions.Y, (int)dimensions.Width, 2), color * scale2); spriteBatch.Draw(Main.magicPixel, new Rectangle((int)dimensions.X, (int)dimensions.Y, 2, (int)dimensions.Height), color * scale2); spriteBatch.Draw(Main.magicPixel, new Rectangle((int)dimensions.X + (int)dimensions.Width - 2, (int)dimensions.Y, 2, (int)dimensions.Height), color * scale2); spriteBatch.Draw(Main.magicPixel, new Rectangle((int)dimensions.X, (int)dimensions.Y + (int)dimensions.Height - 2, (int)dimensions.Width, 2), color * scale2); } if (IsMouseHovering) { ToolBox.tooltip = tooltip; } }
public override void Draw(SpriteBatch spriteBatch) { bool useAlt = UseAlternateTexture(); int selectedMusic = tMusicPlayer.AllMusic[tMusicPlayer.MusicPlayerUI.DisplayBox].music; int firstBox = tMusicPlayer.MusicPlayerUI.musicData[0].music; int lastBox = tMusicPlayer.MusicPlayerUI.musicData[tMusicPlayer.MusicPlayerUI.musicData.Count - 1].music; bool firstOrLast = (Id == "prev" && selectedMusic == firstBox) || (Id == "next" && selectedMusic == lastBox); int indexPrev = tMusicPlayer.MusicPlayerUI.FindPrevIndex(); int indexNext = tMusicPlayer.MusicPlayerUI.FindNextIndex(); bool firstOrLastUnavail = (Id == "prev" && (indexPrev == -1 || tMusicPlayer.MusicPlayerUI.listening)) || (Id == "next" && (indexNext == -1 || tMusicPlayer.MusicPlayerUI.listening)); MusicPlayerPlayer modplayer = Main.LocalPlayer.GetModPlayer <MusicPlayerPlayer>(); bool recordUnavail = Id == "record" && modplayer.musicBoxesStored <= 0; bool activeListen = (Id == "next" || Id == "prev" || Id == "play") && tMusicPlayer.MusicPlayerUI.listening; bool musicAtZero = Id != "expand" && Id != "view" && Main.musicVolume <= 0f; bool clearModDisabled = Id == "clearfiltermod" && tMusicPlayer.MusicPlayerUI.FilterMod == ""; bool cannotPlayListMusic = Id.Contains("altplay") && !tMusicPlayer.MusicPlayerUI.canPlay.Contains(Convert.ToInt32(Id.Substring(Id.IndexOf("_") + 1))); bool disabled = firstOrLast | firstOrLastUnavail | recordUnavail | activeListen | musicAtZero | clearModDisabled | cannotPlayListMusic; Rectangle push = new Rectangle(useAlt ? (src.X + src.Width + 2) : src.X, (IsMouseHovering && !disabled) ? (src.Y + src.Height + 2) : src.Y, src.Width, src.Height); CalculatedStyle innerDimensions = GetInnerDimensions(); spriteBatch.Draw(texture, innerDimensions.ToRectangle(), push, disabled ? new Color(60, 60, 60, 60) : Color.White); if (ContainsPoint(Main.MouseScreen) && !PlayerInput.IgnoreMouseInterface) { Main.LocalPlayer.mouseInterface = true; if (tMusicPlayer.tMPConfig.EnableMoreTooltips && Main.SmartCursorEnabled && !disabled) { Main.hoverItemName = SetHoverItemName(Id); } } }
protected override void DrawSelf(SpriteBatch spriteBatch) { CalculatedStyle dimensions = base.GetInnerDimensions(); Rectangle rectangle = dimensions.ToRectangle(); spriteBatch.Draw(texture, rectangle, Color.White); }
public override void MouseDown(UIMouseEvent evt) { if (evt.Target == this) { Rectangle outerRect = GetOuterDimensions().ToRectangle(); Rectangle innerRect = GetOuterDimensions().ToRectangle(); innerRect.Inflate(-_dragThickness, -_dragThickness); CalculatedStyle style = GetDimensions(); Point mousePoint = Main.MouseScreen.ToPoint(); if (_canResize && outerRect.Contains(mousePoint) && !innerRect.Contains(mousePoint)) { _resizing = true; _resizeAnchor = GetAnchor(); _resizeStart = style.ToRectangle(); } else { _dragging = true; _dragOffset = new Vector2(Main.mouseX - style.X, Main.mouseY - style.Y); } } base.MouseDown(evt); }
protected override void DrawSelf(SpriteBatch sb) { CalculatedStyle innerDimension = GetInnerDimensions(); if (WithBox) { Drawing.DrawAdvBox(sb, (int)innerDimension.X, (int)innerDimension.Y, (int)innerDimension.Width, (int)innerDimension.Height, _currentColor, Drawing.Box1, new Vector2(10, 10)); } else { if (Texture != null) { sb.Draw(Texture, innerDimension.ToRectangle(), _currentColor); } } if (ButtonText != "") { Vector2 txtMeasure = Main.fontMouseText.MeasureString(ButtonText); Terraria.Utils.DrawBorderStringFourWay(sb, Main.fontMouseText, ButtonText, innerDimension.Center().X - txtMeasure.X / 2, innerDimension.Center().Y - txtMeasure.Y / 2, ButtonTextColor, Color.Black, Vector2.Zero); } }
protected override void DrawSelf(SpriteBatch spriteBatch) { CalculatedStyle dimensions = GetDimensions(); Texture2D texture = _hasPower() ? _hasPowerTexture : _noPowerTexture; spriteBatch.Draw(texture, dimensions.ToRectangle(), null, Color.White); }
protected override void DrawSelf(SpriteBatch spriteBatch) { CalculatedStyle dimensions = GetDimensions(); spriteBatch.EnableScissor(); for (int i = 0; i < lines.Length; i++) { if (lines[i].OnDraw != null) { lines[i].OnDraw.Invoke(spriteBatch, new CalculatedStyle(dimensions.X + lines[i].X + 48, dimensions.Y + lines[i].Y, dimensions.Width, dimensions.Height)); } else { Utils.DrawBorderStringFourWay(spriteBatch, Main.fontMouseText, lines[i].Text, dimensions.X + 48 + lines[i].X, dimensions.Y + lines[i].Y, lines[i].Color, Color.Black, Vector2.Zero, lines[i].Scale); } if (lines[i].OnHover != null) { Rectangle rect = new Rectangle((int)(dimensions.X + 48 + lines[i].X), (int)(dimensions.Y + lines[i].Y), (int)lines[i].Width, (int)lines[i].Height); if (rect.Intersects(dimensions.ToRectangle()) && rect.Contains(Main.MouseScreen)) { lines[i].OnHover.Invoke(spriteBatch, dimensions); } } } spriteBatch.SetupForShader(DTT.circleShader); spriteBatch.Draw(avatar, new Rectangle((int)dimensions.X, (int)dimensions.Y, 40, 40), Color.White); spriteBatch.DisableScissor(); }
// Draw axis? ticks? public override void Draw(SpriteBatch spriteBatch) { base.Draw(spriteBatch); CalculatedStyle dimensions = base.GetInnerDimensions(); Rectangle rectangle = dimensions.ToRectangle(); rectangle = new Rectangle(rectangle.Right - 30, rectangle.Y, 30, 30); spriteBatch.Draw(TextureAssets.MagicPixel.Value, rectangle, Color.AliceBlue); float x = (c.X - min) / (max - min); float y = (c.Y - min) / (max - min); var position = rectangle.TopLeft(); position.X += x * rectangle.Width; position.Y += y * rectangle.Height; var blipRectangle = new Rectangle((int)position.X - 2, (int)position.Y - 2, 4, 4); if (x >= 0 && x <= 1 && y >= 0 && y <= 1) { spriteBatch.Draw(TextureAssets.MagicPixel.Value, blipRectangle, Color.Black); } if (IsMouseHovering && rectangle.Contains((Main.MouseScreen).ToPoint()) && Main.mouseLeft) { float newPerc = (Main.mouseX - rectangle.X) / (float)rectangle.Width; newPerc = Utils.Clamp <float>(newPerc, 0f, 1f); c.X = (float)Math.Round((newPerc * (max - min) + min) * (1 / increment)) * increment; newPerc = (Main.mouseY - rectangle.Y) / (float)rectangle.Height; newPerc = Utils.Clamp <float>(newPerc, 0f, 1f); c.Y = (float)Math.Round((newPerc * (max - min) + min) * (1 / increment)) * increment; } }
// TODO, choose Y direction, up negative or positive? // draw Axis, make circular option, make rotation option(ouside values only.) protected override void DrawSelf(SpriteBatch spriteBatch) { CalculatedStyle dimensions = base.GetInnerDimensions(); Rectangle rectangle = dimensions.ToRectangle(); spriteBatch.Draw(Main.magicPixel, rectangle, Color.Red); float x = dataX.GetProportion(); float y = dataY.GetProportion(); var position = dimensions.Position(); position.X += x * dimensions.Width; position.Y += y * dimensions.Height; var blipRectangle = new Rectangle((int)position.X - 2, (int)position.Y - 2, 4, 4); spriteBatch.Draw(Main.magicPixel, blipRectangle, Color.Black); if (IsMouseHovering && Main.mouseLeft) { float newPerc = (Main.mouseX - rectangle.X) / (float)rectangle.Width; newPerc = Utils.Clamp <float>(newPerc, 0f, 1f); dataX.SetProportion(newPerc); newPerc = (Main.mouseY - rectangle.Y) / (float)rectangle.Height; newPerc = Utils.Clamp <float>(newPerc, 0f, 1f); dataY.SetProportion(newPerc); } }
//////////////// public override void Draw(SpriteBatch sb) { base.Draw(sb); // float perc = this.Objective.PercentComplete.HasValue ? this.Objective.PercentComplete.Value : 0f; CalculatedStyle style = this.GetDimensions(); Rectangle rect = style.ToRectangle(); if (perc > 0f && perc < 1f) { rect.X += 8; rect.Y += 56; rect.Width -= 16; rect.Height -= 64; Rectangle percRect = rect; percRect.Width = (int)((float)percRect.Width * perc); DrawLibraries.DrawBorderedRect( sb: sb, bgColor: Color.Lime, borderColor: null, rect: percRect, borderWidth: 2 ); DrawLibraries.DrawBorderedRect( sb: sb, bgColor: null, borderColor: Color.White, rect: rect, borderWidth: 2 ); } if (perc >= 1f) { Vector2 dim = Main.fontDeathText.MeasureString("Complete"); sb.DrawString( spriteFont: Main.fontDeathText, text: "Complete", position: new Vector2( rect.X + (rect.Width / 2), rect.Y + (rect.Height / 2) ), color: Color.Lime * 0.5f, rotation: 0f, origin: dim * 0.5f, scale: 1.25f, effects: SpriteEffects.None, layerDepth: 0f ); } }
private void DragStart(UIMouseEvent evt) { CalculatedStyle dimensions2 = GetDimensions(); Rectangle dimensions = dimensions2.ToRectangle(); offset = new Vector2(evt.MousePosition.X - dimensions.Left, evt.MousePosition.Y - dimensions.Top); dragging = true; }
protected override void DrawSelf(SpriteBatch spriteBatch) { if (texture == null) { return; } CalculatedStyle dimensions = base.GetInnerDimensions(); Rectangle rectangle = dimensions.ToRectangle(); spriteBatch.Draw(backgroundTexture, dimensions.Position(), null, Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0f); if (selected) { spriteBatch.Draw(selectedTexture, dimensions.Position(), null, Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0f); } int height = texture.Height; int width = texture.Width; float drawScale = 1f; // larger, uncomment below float availableWidth = (float)backgroundTexture.Width * scale; if (width /** drawScale*/ > availableWidth || height /** drawScale*/ > availableWidth) { if (width > height) { drawScale = availableWidth / width; } else { drawScale = availableWidth / height; } } drawScale *= scale; Vector2 vector = backgroundTexture.Size() * scale; Vector2 position2 = dimensions.Position() + vector / 2f - texture.Size() * drawScale / 2f; //Vector2 origin = texture.Size() * (1f / 2f - 0.5f); spriteBatch.Draw(texture, position2, null, Color.White, 0f, Vector2.Zero, drawScale, SpriteEffects.None, 0f); if (IsMouseHovering) { string tileName = Lang.GetMapObjectName(MapHelper.TileToLookup(tile, 0)); if (tileName == "") { if (tile < TileID.Count) { tileName = $"Tile {tile}"; } else { tileName = Terraria.ModLoader.TileLoader.GetTile(tile).Name + " (err no entry)"; } } Main.hoverItemName = tileName; } }
protected override void DrawSelf(SpriteBatch spriteBatch) { if (item != null) { CalculatedStyle dimensions = base.GetInnerDimensions(); Rectangle rectangle = dimensions.ToRectangle(); spriteBatch.Draw(backgroundTexture, dimensions.Position(), null, Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0f); Texture2D itemTexture = Main.itemTexture[this.item.type]; Rectangle rectangle2; if (Main.itemAnimations[item.type] != null) { rectangle2 = Main.itemAnimations[item.type].GetFrame(itemTexture); } else { rectangle2 = itemTexture.Frame(1, 1, 0, 0); } int height = rectangle2.Height; int width = rectangle2.Width; float drawScale = 2f; float availableWidth = (float)backgroundTexture.Width * scale; if (width * drawScale > availableWidth || height * drawScale > availableWidth) { if (width > height) { drawScale = availableWidth / width; } else { drawScale = availableWidth / height; } } Vector2 drawPosition = dimensions.Position(); drawPosition.X += backgroundTexture.Width * scale / 2f - (float)width * drawScale / 2f; drawPosition.Y += backgroundTexture.Height * scale / 2f - (float)height * drawScale / 2f; this.item.GetColor(Color.White); spriteBatch.Draw(itemTexture, drawPosition, rectangle2, this.item.GetAlpha(Color.White), 0f, Vector2.Zero, drawScale, SpriteEffects.None, 0f); if (this.item.color != default(Color)) { spriteBatch.Draw(itemTexture, drawPosition, new Rectangle?(rectangle2), this.item.GetColor(Color.White), 0f, Vector2.Zero, drawScale, SpriteEffects.None, 0f); } if (this.item.stack > 1) { spriteBatch.DrawString(Main.fontItemStack, this.item.stack.ToString(), new Vector2(drawPosition.X + 10f * scale, drawPosition.Y + 26f * scale), Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0f); } if (IsMouseHovering) { Main.HoverItem = item.Clone(); Main.HoverItem.SetNameOverride(Main.HoverItem.Name + (Main.HoverItem.modItem != null ? " [" + Main.HoverItem.modItem.mod.Name + "]" : "")); } } }
protected override void DrawSelf(SpriteBatch spriteBatch) { Main.instance.LoadNPC(npcType); Texture2D npcTexture = Main.npcTexture[npcType]; if (++frameTimer > frameDelay) { frameCounter = frameCounter + 1; frameTimer = 0; if (frameCounter > Main.npcFrameCount[npcType] - 1) { frameCounter = 0; } } Rectangle npcDrawRectangle = new Rectangle(0, (Main.npcTexture[npcType].Height / Main.npcFrameCount[npcType]) * frameCounter, Main.npcTexture[npcType].Width, Main.npcTexture[npcType].Height / Main.npcFrameCount[npcType]); CalculatedStyle dimensions = base.GetInnerDimensions(); spriteBatch.Draw(backgroundTexture, dimensions.Position(), null, Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0f); DrawAdditionalOverlays(spriteBatch, dimensions.Position(), scale); Rectangle rectangle = dimensions.ToRectangle(); int height = npcTexture.Height / Main.npcFrameCount[npcType]; int width = npcTexture.Width; float drawScale = 2f; float availableWidth = (float)backgroundTexture.Width * scale - 6; if (width * drawScale > availableWidth || height * drawScale > availableWidth) { if (width > height) { drawScale = availableWidth / width; } else { drawScale = availableWidth / height; } } Vector2 drawPosition = dimensions.Position(); drawPosition.X += backgroundTexture.Width * scale / 2f - (float)width * drawScale / 2f; drawPosition.Y += backgroundTexture.Height * scale / 2f - (float)height * drawScale / 2f; Color color = (npc.color != new Color(byte.MinValue, byte.MinValue, byte.MinValue, byte.MinValue)) ? new Color(npc.color.R, npc.color.G, npc.color.B, 255f) : new Color(1f, 1f, 1f); Main.spriteBatch.Draw(npcTexture, drawPosition, npcDrawRectangle, color, 0, Vector2.Zero, drawScale, SpriteEffects.None, 0); if (IsMouseHovering) { Main.hoverItemName = Lang.GetNPCNameValue(npc.type) + (npc.modNPC != null ? " [" + npc.modNPC.mod.Name + "]" : ""); } }
protected override void DrawSelf(SpriteBatch spriteBatch) { base.DrawSelf(spriteBatch); CalculatedStyle dimensions = GetDimensions(); Vector2 drawOrigin = _itemTexture.Size() * .5f; spriteBatch.Draw(_slotTexture, dimensions.ToRectangle(), null, Color.White); if (_hasItem()) { spriteBatch.Draw(_itemTexture, dimensions.Center() - _itemTexture.Size() * .5f, null, Color.White); } }
protected override void DrawSelf(SpriteBatch spriteBatch) { base.DrawSelf(spriteBatch); if (drawX) { CalculatedStyle dimensions = base.GetDimensions(); //ChatManager.DrawColorCodedStringWithShadow(spriteBatch, Main.fontItemStack, "X", dimensions.Position() + new Vector2(14f, 10f), Color.LightSalmon, 0f, Vector2.Zero, new Vector2(0.7f)); var r = dimensions.ToRectangle(); r.Inflate(-2, -2); spriteBatch.Draw(Main.cdTexture, r, null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 0); } }
protected override void DrawSelf(SpriteBatch spriteBatch) { CalculatedStyle dimensions = base.GetInnerDimensions(); Rectangle rectangle = dimensions.ToRectangle(); spriteBatch.Draw(Main.colorBarTexture, rectangle, Color.White); if (IsMouseHovering) { spriteBatch.Draw(Main.colorHighlightTexture, rectangle, Main.OurFavoriteColor); } rectangle.Inflate(-paddingX, -paddingY); //int num = 167; float scale = 1f; float x = rectangle.X + (5f * scale); float y = rectangle.Y + (4f * scale); x = rectangle.X; y = rectangle.Y; for (float i = 0f; i < rectangle.Width; i += 1f) { float amount = i / rectangle.Width; Color color = colorRange ? Main.hslToRgb(amount, 1f, 0.5f) : Color.Lerp(Color.Black, Color.White, amount); spriteBatch.Draw(Main.colorBlipTexture, new Vector2(x + i * scale, y), null, color, 0f, Vector2.Zero, scale, SpriteEffects.None, 0f); } float percent = _GetStatusFunction(); percent = Utils.Clamp(percent, 0f, 1f); spriteBatch.Draw(Main.colorSliderTexture, new Vector2(x + rectangle.Width * scale * percent, y + 4f * scale), null, Color.White, 0f, new Vector2(0.5f * Main.colorSliderTexture.Width, 0.5f * Main.colorSliderTexture.Height), scale, SpriteEffects.None, 0f); // LOGIC if (IsMouseHovering && Main.mouseLeft) { float newPerc = (Main.mouseX - rectangle.X) / (float)rectangle.Width; newPerc = Utils.Clamp(newPerc, 0f, 1f); _SlideKeyboardAction(newPerc); Main.LocalPlayer.mouseInterface = true; slidin = true; } if (ContainsPoint(Main.MouseScreen)) // so you can't use items while on the slider { Main.LocalPlayer.mouseInterface = true; } return; }
protected override void DrawSelf(SpriteBatch spriteBatch) { try { CalculatedStyle dimensions = base.GetInnerDimensions(); Rectangle rectangle = dimensions.ToRectangle(); spriteBatch.Draw(backTexture, dimensions.Position(), null, Color.White); } catch (Exception ex) { System.Diagnostics.Debug.Write(ex.Message); } }
protected override void DrawSelf(SpriteBatch spriteBatch) { //base.DrawSelf(spriteBatch); if (drawPlayer == null) { return; } Item head = set.Item1; Item body = set.Item2; Item leg = set.Item3; drawPlayer.head = head?.headSlot ?? -1; drawPlayer.body = body?.bodySlot ?? -1; drawPlayer.legs = leg?.legSlot ?? -1; CalculatedStyle dimensions = base.GetInnerDimensions(); Rectangle rectangle = dimensions.ToRectangle(); spriteBatch.Draw(backgroundTexture, dimensions.Position(), null, Color.White, 0f, Vector2.Zero, new Vector2(scale, scale * 1.5f), SpriteEffects.None, 0f); if (drawError) { return; } var center = new Vector2(rectangle.Center().X, rectangle.Y + 38); drawPlayer.direction = 1; drawPlayer.Bottom = Main.screenPosition + center + new Vector2(0, 15); //Main.gameMenu = true; try { Main.instance.DrawPlayer(drawPlayer, drawPlayer.position, drawPlayer.fullRotation, drawPlayer.fullRotationOrigin, 0f); _useImmediateMode = true; } catch (Exception) { drawError = true; } //Main.gameMenu = false; if (IsMouseHovering) { //Main.HoverItem = item.Clone(); Main.hoverItemName = set.Item4 + "\nTotal Set Defense: " + set.Item5; //Main.HoverItem.SetNameOverride(Main.HoverItem.Name + (Main.HoverItem.modItem != null && ModContent.GetInstance<RecipeBrowserClientConfig>().ShowItemModSource ? " [" + Main.HoverItem.modItem.mod.Name + "]" : "")); } }
protected override void DrawSelf(SpriteBatch spriteBatch) { base.DrawSelf(spriteBatch); if (item != null) { CalculatedStyle dimensions = base.GetInnerDimensions(); Rectangle rectangle = dimensions.ToRectangle(); if (!item.IsAir) { int count = CountItemGroups(Main.player[owner], recipe, item.type, targetStack > 999 ? targetStack : 999); // stopping at item.maxStack means you can't see if you can make multiple. string progress = count + "/" + targetStack; Color progressColor = count >= targetStack ? Color.LightGreen : Color.LightSalmon; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, Main.fontItemStack, progress, dimensions.Position() + new Vector2(10f, 26f) * scale + new Vector2(-4f, 0f), progressColor, 0f, Vector2.Zero, new Vector2(scale), -1f, /*scale*/ 1); } } }
protected override void DrawSelf(SpriteBatch spriteBatch) { base.DrawSelf(spriteBatch); if (item != null) { CalculatedStyle dimensions = base.GetInnerDimensions(); Rectangle rectangle = dimensions.ToRectangle(); if (!item.IsAir) { int count = Main.LocalPlayer.CountItem(item.type, item.maxStack); string progress = count + "/" + targetStack; Color progressColor = count >= targetStack ? Color.LightGreen : Color.LightSalmon; ChatManager.DrawColorCodedStringWithShadow(spriteBatch, Main.fontItemStack, progress, dimensions.Position() + new Vector2(10f, 26f) * scale + new Vector2(-4f, 0f), progressColor, 0f, Vector2.Zero, new Vector2(scale), -1f, /*scale*/ 1); } } }
protected override void DrawSelf(SpriteBatch spriteBatch) { CalculatedStyle dimensions = base.GetOuterDimensions(); if (ContainsPoint(Main.MouseScreen)) { Main.LocalPlayer.mouseInterface = true; Main.LocalPlayer.showItemIcon = false; Main.ItemIconCacheUpdate(0); } if (dragging) { Left.Set(Main.MouseScreen.X - offset.X, 0f); Top.Set(Main.MouseScreen.Y - offset.Y, 0f); Recalculate(); } else { if (Parent != null && !dimensions.ToRectangle().Intersects(Parent.GetDimensions().ToRectangle())) { var parentSpace = Parent.GetDimensions().ToRectangle(); Left.Pixels = Utils.Clamp(Left.Pixels, 0, parentSpace.Right - Width.Pixels); Top.Pixels = Utils.Clamp(Top.Pixels, 0, parentSpace.Bottom - Height.Pixels); Recalculate(); } } if (resizeing) { if (resizeableX) { //Width.Pixels = Utils.Clamp(Main.MouseScreen.X - dimensions.X - offset.X, minX, maxX); Width.Pixels = Main.MouseScreen.X - dimensions.X - offset.X; } if (resizeableY) { //Height.Pixels = Utils.Clamp(Main.MouseScreen.Y - dimensions.Y - offset.Y, minY, maxY); Height.Pixels = Main.MouseScreen.Y - dimensions.Y - offset.Y; } Recalculate(); } base.DrawSelf(spriteBatch); if (resizeable) { DrawDragAnchor(spriteBatch, dragTexture, this.BorderColor); } }
protected override void DrawSelf(SpriteBatch spriteBatch) { if (texture == null) { return; } CalculatedStyle dimensions = base.GetInnerDimensions(); Rectangle rectangle = dimensions.ToRectangle(); spriteBatch.Draw(backgroundTexture, dimensions.Position(), null, Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0f); if (selected) { spriteBatch.Draw(selectedTexture, dimensions.Position(), null, Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0f); } int height = texture.Height; int width = texture.Width; float drawScale = 1f; // larger, uncomment below float availableWidth = (float)backgroundTexture.Width * scale; if (width /** drawScale*/ > availableWidth || height /** drawScale*/ > availableWidth) { if (width > height) { drawScale = availableWidth / width; } else { drawScale = availableWidth / height; } } drawScale *= scale; Vector2 vector = backgroundTexture.Size() * scale; Vector2 position2 = dimensions.Position() + vector / 2f - texture.Size() * drawScale / 2f; //Vector2 origin = texture.Size() * (1f / 2f - 0.5f); spriteBatch.Draw(texture, position2, null, Color.White, 0f, Vector2.Zero, drawScale, SpriteEffects.None, 0f); if (IsMouseHovering) { Main.hoverItemName = Utilities.GetTileName(tile); } }
protected override void DrawSelf(SpriteBatch spriteBatch) { timer++; if (timer % timePerFrame == 0) { frame++; if (frame > frameCount) { frame = 1; } } Texture2D currentFrame = ModContent.GetTexture(filePath + "" + frame); CalculatedStyle dimensions = base.GetInnerDimensions(); Rectangle rectangle = dimensions.ToRectangle(); spriteBatch.Draw(currentFrame, rectangle, Color.White); }
protected override void DrawSelf(SpriteBatch spriteBatch) { CalculatedStyle dimensions = GetDimensions(); if (ScaleToFit) { spriteBatch.Draw(_texture.get_Value(), dimensions.ToRectangle(), Color); return; } Vector2 vector = _texture.get_Value().Size(); Vector2 vector2 = dimensions.Position() + vector * (1f - ImageScale) / 2f + vector * NormalizedOrigin; if (RemoveFloatingPointsFromDrawPosition) { vector2 = vector2.Floor(); } spriteBatch.Draw(_texture.get_Value(), vector2, null, Color, Rotation, vector * NormalizedOrigin, ImageScale, SpriteEffects.None, 0f); }
protected override void DrawSelf(SpriteBatch spriteBatch) { CalculatedStyle dimensions = this.GetDimensions(); if (this.ScaleToFit) { spriteBatch.Draw(this._texture.Value, dimensions.ToRectangle(), this.Color); } else { Vector2 vector2_1 = this._texture.Value.Size(); Vector2 vector2_2 = dimensions.Position() + vector2_1 * (1f - this.ImageScale) / 2f + vector2_1 * this.NormalizedOrigin; if (this.RemoveFloatingPointsFromDrawPosition) { vector2_2 = vector2_2.Floor(); } spriteBatch.Draw(this._texture.Value, vector2_2, new Rectangle?(), this.Color, this.Rotation, vector2_1 * this.NormalizedOrigin, this.ImageScale, SpriteEffects.None, 0.0f); } }