using SoulHarvest.Common;
using SoulHarvest.Items;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using ReLogic.Content;
using System;
using System.Collections.Generic;
using System.Text;
using Terraria;
using Terraria.Audio;
using Terraria.GameContent;
using Terraria.GameContent.UI.Elements;
using Terraria.GameInput;
using Terraria.ID;
using Terraria.Localization;
using Terraria.ModLoader;
using Terraria.UI;
namespace SoulHarvest.UI;
internal sealed class ReaperTreeViewportOverlay : UIElement
{
private readonly ReaperTreeViewport viewport;
public ReaperTreeViewportOverlay(ReaperTreeViewport viewport)
{
this.viewport = viewport;
SetPadding(0f);
}
protected override void DrawSelf(SpriteBatch spriteBatch)
{
Rectangle bounds = GetDimensions().ToRectangle();
Texture2D pixel = TextureAssets.MagicPixel.Value;
float scale = viewport.LayoutScale;
int stripHeight = Math.Max(15, (int)MathF.Round(27f * scale));
Rectangle hintStrip = new(bounds.X + 2, bounds.Bottom - stripHeight - 2, Math.Max(1, bounds.Width - 4), stripHeight);
spriteBatch.Draw(pixel, hintStrip, new Color(7, 8, 10) * 0.82f);
string hint = Language.GetTextValue("Mods.SoulHarvest.UI.ReaperTree.PanHint");
float textScale = 0.48f * scale;
string fittedHint = AltarDrawHelpers.FitText(hint, Math.Max(8f, bounds.Width - 20f * scale), textScale);
Utils.DrawBorderString(spriteBatch, fittedHint, new Vector2(bounds.X + 10f * scale, bounds.Bottom - 22f * scale), new Color(156, 147, 138), textScale);
ReaperTreeDraw.DrawBorder(spriteBatch, pixel, bounds, new Color(71, 63, 61), Math.Max(1, (int)(2f * scale)));
ReaperTreeDraw.DrawInsetBorder(spriteBatch, pixel, bounds, Math.Max(2, (int)(5f * scale)), new Color(124, 39, 47) * 0.5f, 1);
}
}
using SoulHarvest.Common;
using SoulHarvest.Items;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using ReLogic.Content;
using System;
using System.Collections.Generic;
using System.Text;
using Terraria;
using Terraria.Audio;
using Terraria.GameContent;
using Terraria.GameContent.UI.Elements;
using Terraria.GameInput;
using Terraria.ID;
using Terraria.Localization;
using Terraria.ModLoader;
using Terraria.UI;
namespace SoulHarvest.UI;
internal sealed class ReaperTreeViewportOverlay : UIElement
{
private readonly ReaperTreeViewport viewport;
public ReaperTreeViewportOverlay(ReaperTreeViewport viewport)
{
this.viewport = viewport;
SetPadding(0f);
}
protected override void DrawSelf(SpriteBatch spriteBatch)
{
Rectangle bounds = GetDimensions().ToRectangle();
Texture2D pixel = TextureAssets.MagicPixel.Value;
float scale = viewport.LayoutScale;
int stripHeight = Math.Max(15, (int)MathF.Round(27f * scale));
Rectangle hintStrip = new(bounds.X + 2, bounds.Bottom - stripHeight - 2, Math.Max(1, bounds.Width - 4), stripHeight);
spriteBatch.Draw(pixel, hintStrip, new Color(7, 8, 10) * 0.82f);
string hint = Language.GetTextValue("Mods.SoulHarvest.UI.ReaperTree.PanHint");
float textScale = 0.48f * scale;
string fittedHint = AltarDrawHelpers.FitText(hint, Math.Max(8f, bounds.Width - 20f * scale), textScale);
Utils.DrawBorderString(spriteBatch, fittedHint, new Vector2(bounds.X + 10f * scale, bounds.Bottom - 22f * scale), new Color(156, 147, 138), textScale);
ReaperTreeDraw.DrawBorder(spriteBatch, pixel, bounds, new Color(71, 63, 61), Math.Max(1, (int)(2f * scale)));
ReaperTreeDraw.DrawInsetBorder(spriteBatch, pixel, bounds, Math.Max(2, (int)(5f * scale)), new Color(124, 39, 47) * 0.5f, 1);
}
}