Files
MiraAPI/MiraAPI/Utilities/Assets/LoadableResourceAsset.cs
T
2025-05-18 09:32:33 -04:00

26 lines
749 B
C#

using System.Reflection;
using UnityEngine;
namespace MiraAPI.Utilities.Assets;
/// <summary>
/// A utility class for loading assets from embedded resources.
/// </summary>
/// <param name="path">The path to the embedded resource.</param>
/// <param name="pixelsPerUnit">The pixels per unit for the loaded sprite.</param>
public class LoadableResourceAsset(string path, float pixelsPerUnit=100f) : LoadableAsset<Sprite>
{
private readonly Assembly _assembly = Assembly.GetCallingAssembly();
/// <inheritdoc />
public override Sprite LoadAsset()
{
if (LoadedAsset)
{
return LoadedAsset!;
}
return LoadedAsset = SpriteTools.LoadSpriteFromPath(path, _assembly, pixelsPerUnit);
}
}