主页与Task任务处理

This commit is contained in:
YiHan0621
2025-09-12 11:39:17 +08:00
parent 2151631c59
commit 8506590b12
20 changed files with 579 additions and 60 deletions

View File

@@ -94,7 +94,8 @@ namespace TcgEngine
public enum TaskRewardType
{
Coins = 0, // 金币
Coins = 0, // 金币
Crystal = 1,
// 后续可扩展其他奖励类型
}

View File

@@ -0,0 +1,44 @@
using System.Collections.Generic;
using UnityEngine;
using TcgEngine.UI;
namespace TcgEngine
{
[System.Serializable]
public class PrizeIconEntry
{
public TaskRewardType type;
public Sprite icon;
}
[CreateAssetMenu(fileName = "NewTaskRewardData", menuName = "TcgEngine/TaskRewardData")]
public class TaskRewardData : ScriptableObject
{
public PrizeIconEntry[] entries;
private Dictionary<TaskRewardType, Sprite> iconDict = new Dictionary<TaskRewardType, Sprite>();
public void Init()
{
iconDict.Clear();
foreach (var entry in entries)
{
Debug.Log($"录入: {entry.type} => {entry.icon?.name}");
iconDict[entry.type] = entry.icon;
}
}
public Sprite GetIcon(TaskRewardType type)
{
if (iconDict.Count == 0) Init();
if (iconDict.TryGetValue(type, out Sprite sprite))
return sprite;
Debug.LogWarning($"未找到 {type} 的图标,请检查 TaskRewardData 的 entries 配置");
return null;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 3b5b19a5996046508584e1eb649f43dd
timeCreated: 1757580421