增加Texture加载失败时的日志信息

This commit is contained in:
ww-rm
2025-09-27 18:49:29 +08:00
parent d57ea781f0
commit 940397c673

View File

@@ -1,4 +1,5 @@
using SFML.Graphics; using NLog;
using SFML.Graphics;
using SkiaSharp; using SkiaSharp;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@@ -22,6 +23,8 @@ namespace Spine.SpineWrappers
SpineRuntime41.TextureLoader, SpineRuntime41.TextureLoader,
SpineRuntime42.TextureLoader SpineRuntime42.TextureLoader
{ {
private static readonly Logger _logger = LogManager.GetCurrentClassLogger();
/// <summary> /// <summary>
/// 默认的全局纹理加载器 /// 默认的全局纹理加载器
/// </summary> /// </summary>
@@ -44,9 +47,18 @@ namespace Spine.SpineWrappers
private Texture ReadTexture(string path) private Texture ReadTexture(string path)
{ {
if (!File.Exists(path))
{
_logger.Error($"Texture file not found, {path}");
throw new FileNotFoundException("Texture file not found", path);
}
using var codec = SKCodec.Create(path, out var result); using var codec = SKCodec.Create(path, out var result);
if (codec is null || result != SKCodecResult.Success) if (codec is null || result != SKCodecResult.Success)
{
_logger.Error($"Failed to create codec '{path}', {result}");
throw new InvalidOperationException($"Failed to create codec '{path}', {result}"); throw new InvalidOperationException($"Failed to create codec '{path}', {result}");
}
var width = codec.Info.Width; var width = codec.Info.Width;
var height = codec.Info.Height; var height = codec.Info.Height;
@@ -57,7 +69,10 @@ namespace Spine.SpineWrappers
result = codec.GetPixels(info, out var pixels); result = codec.GetPixels(info, out var pixels);
if (result != SKCodecResult.Success) if (result != SKCodecResult.Success)
{
_logger.Error($"Failed to decode image '{path}', {result}");
throw new InvalidOperationException($"Failed to decode image '{path}', {result}"); throw new InvalidOperationException($"Failed to decode image '{path}', {result}");
}
Texture tex = new((uint)width, (uint)height); Texture tex = new((uint)width, (uint)height);
tex.Update(pixels); tex.Update(pixels);