修改天梯UI数据,及任务的UI数据的初步同步

This commit is contained in:
YiHan0621
2025-09-04 18:04:09 +08:00
parent 9275b66383
commit 1f8e74b6c5
92 changed files with 6288 additions and 1393 deletions

View File

@@ -0,0 +1,80 @@
using System.Collections.Generic;
using UnityEngine;
namespace TcgEngine
{
[CreateAssetMenu(fileName = "NewRankMedalData", menuName = "TcgEngine/Rank/RankMedalData", order = 5)]
public class RankMedalData : ScriptableObject
{
public string medalName;
public Sprite sprite;
public string icon_url;
private static List<RankMedalData> medalList = new List<RankMedalData>();
/// <summary>
/// 从 Resources 目录加载所有 RankIconData
/// </summary>
public static void Load(string folder = "")
{
if (medalList.Count == 0)
{
medalList.AddRange(Resources.LoadAll<RankMedalData>(folder));
}
}
/// <summary>
/// 获取所有奖牌配置
/// </summary>
public static List<RankMedalData> GetAll()
{
return medalList;
}
/// <summary>
/// 根据奖牌名称查找
/// </summary>
public static RankMedalData Get(string name)
{
foreach (RankMedalData item in medalList)
{
if (item.medalName == name)
return item;
}
return null;
}
/// <summary>
/// 获取奖牌 Sprite优先走网络路径需要配合 SpriteLoader
/// </summary>
public Sprite GetIcon()
{
Sprite result = null;
if (!string.IsNullOrEmpty(icon_url))
{
result = SpriteLoader.Get()?.LoadSprite(icon_url);
if (result != null)
{
return result;
}
if (sprite != null)
{
Debug.LogWarning($"奖牌 {medalName} -- 动态加载失败使用静态Sprite -- {icon_url}");
return sprite;
}
Debug.LogError($"奖牌 {medalName} -- 动态路径无效且没有静态Sprite -- {icon_url}");
return null;
}
else
{
Debug.LogWarning($"奖牌 {medalName} 未配置网络路径使用静态Sprite");
return sprite;
}
}
}
}