修改天梯UI数据,及任务的UI数据的初步同步
This commit is contained in:
80
Assets/TcgEngine/Scripts/Data/RankData/RankMedalData.cs
Normal file
80
Assets/TcgEngine/Scripts/Data/RankData/RankMedalData.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user