ZoFo/MonogameLibrary/UI/Elements/ItemDisplayLabel.cs
2024-08-18 13:53:48 +03:00

79 lines
No EOL
2.7 KiB
C#

using Microsoft.Xna.Framework.Graphics;
using MonogameLibrary.UI.Base;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using MonogameLibrary.UI.Enums;
using System;
using System.Collections.Generic;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading;
using Microsoft.Xna.Framework.Content;
namespace MonogameLibrary.UI.Elements;
public class ItemDisplayLabel : DrawableUIElement
{
public int count;
public string itemTextureName;
private Texture2D itemTexture;
public Color fontColor1;
protected UIManager Manager;
public string fontName1;
public string text1;
public float scale1;
private DrawableUIElement icon;
public ItemDisplayLabel(UIManager manager) : base(manager)
{
Manager = manager;
}
public void Initialize()
{
icon = new DrawableUIElement(Manager)
{
rectangle = new Rectangle(rectangle.X + rectangle.Height / 3 / 2, rectangle.Y + rectangle.Height / 3 / 2, rectangle.Height / 3 * 2, rectangle.Height / 3 * 2),
mainColor = Color.White, textureName = itemTextureName
};
Label itemName = new Label(Manager)
{
rectangle = new Rectangle(rectangle.X + rectangle.Height / 3 / 2 + rectangle.Height / 3 * 2, rectangle.Y + rectangle.Height / 3 / 2, rectangle.Width / 3, rectangle.Height / 3 * 2),
fontColor = fontColor1, text = text1, scale = scale1, fontName = fontName1, mainColor = Color.Transparent
};
Label itemCount = new Label(Manager)
{
rectangle = new Rectangle(rectangle.X + rectangle.Width - (int)(rectangle.Height / 3 * 2.5), rectangle.Y + rectangle.Height / 3 / 2, rectangle.Height / 3 * 2, rectangle.Height / 3 * 2),
fontColor = fontColor1, text = count.ToString(), scale = scale1, fontName = fontName1, mainColor = Color.Transparent
};
}
public override void LoadTexture(ContentManager content)
{
icon.LoadTexture(content);
base.LoadTexture(content);
if (itemTextureName == "")
{
itemTexture = new Texture2D(Manager.GraphicsDevice, 1, 1);
itemTexture.SetData<Color>(new Color[] { mainColor });
}
else
{
try
{
itemTexture = content.Load<Texture2D>(itemTextureName);
}
catch
{
itemTexture = new Texture2D(Manager.GraphicsDevice, 1, 1);
itemTexture.SetData<Color>(new Color[] { mainColor });
}
}
}
public override void Draw(SpriteBatch _spriteBatch)
{
base.Draw(_spriteBatch);
}
}