private static void DrawIcons() { for (int v = 0; v < whitelistPos.Count; v++) { int type = WhiteListType(whitelistType[v]); if (type == -1) { continue; } if (type == 1 && !BossChecklist.ClientConfig.FragmentsBool) { continue; } if (type == 2 && !BossChecklist.ClientConfig.ScalesBool) { continue; } Texture2D drawTexture = Main.itemTexture[whitelistType[v]]; DrawAnimation drawAnim = Main.itemAnimations[whitelistType[v]]; Rectangle sourceRect = drawAnim != null?drawAnim.GetFrame(drawTexture) : drawTexture.Bounds; Vector2 drawPosition = CalculateDrawPos(new Vector2(whitelistPos[v].X / 16, whitelistPos[v].Y / 16)); DrawTextureOnMap(drawTexture, drawPosition, sourceRect); } }
public override bool PreDrawInWorld(SpriteBatch spriteBatch, Color lightColor, Color alphaColor, ref float rotation, ref float scale, int whoAmI) { Texture2D texture = mod.GetTexture("Items/CraftingMaterials/" + Name); DrawAnimation drawAnim = Main.itemAnimations[item.type]; Rectangle sourceRect = drawAnim.GetFrame(texture); spriteBatch.Draw(texture, item.Center - Main.screenPosition + new Vector2(0f, 1f), sourceRect, Color.White, 0f, new Vector2(texture.Width / 2f, item.height / 2f), 1f, SpriteEffects.None, 0); return(false); }
protected override void DrawSelf(SpriteBatch spriteBatch) { //Main.instance.LoadItem(itemType); Texture2D itemTexture = Main.itemTexture[itemType]; int width = itemTexture.Width; int height = itemTexture.Height; Rectangle itemDrawRectangle; DrawAnimation drawAnim = Main.itemAnimations[itemType]; if (drawAnim != null) { itemDrawRectangle = drawAnim.GetFrame(itemTexture); height = itemDrawRectangle.Height; width = itemDrawRectangle.Width; } else { itemDrawRectangle = itemTexture.Bounds; } CalculatedStyle dimensions = base.GetInnerDimensions(); spriteBatch.Draw(backgroundTexture, dimensions.Position(), null, Color.White, 0f, Vector2.Zero, scale, SpriteEffects.None, 0f); 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; Color color = (item.color != new Color(byte.MinValue, byte.MinValue, byte.MinValue, byte.MinValue)) ? new Color(item.color.R, item.color.G, item.color.B, 255f) : new Color(1f, 1f, 1f); spriteBatch.Draw(itemTexture, drawPosition, itemDrawRectangle, color, 0, Vector2.Zero, drawScale, SpriteEffects.None, 0); if (IsMouseHovering) { string name; if (itemType <= 0) { name = "Nothing"; } else { name = Lang.GetItemNameValue(item.type) + (item.modItem != null ? " [" + item.modItem.mod.Name + "]" : ""); } Main.hoverItemName = name; } }