TH1/Unity/Assets/Scripts/TH1_Logic/HeroTask/HeroTaskManager.cs

45 lines
1.2 KiB
C#

/*
* @Author: 白哉
* @Description:
* @Date: 2025年09月05日 星期五 16:09:49
* @Modify:
*/
using Logic.HeroTask;
using RuntimeData;
using UnityEngine;
namespace TH1_Logic.HeroTask
{
public class HeroTaskManager
{
public static HeroTaskManager Instance = new HeroTaskManager();
private HeroTaskAsset _asset;
private HeroTaskData _data;
public void Init()
{
if (!_asset) _asset = Resources.Load<HeroTaskAsset>("DataAssets/HeroTask");
if (_data == null && _asset.Data != null && _asset.Data.Length > 0)
_data = MemoryPack.MemoryPackSerializer.Deserialize<HeroTaskData>(_asset.Data);
if (_data == null) _data = new HeroTaskData();
}
public HeroTaskContentBase GetHeroTaskContent(UnitData unit)
{
if (_data == null) return null;
foreach (var item in _data.Items)
{
if(item.UnitType != unit.UnitType) continue;
if(item.GiantType != unit.GiantType) continue;
if(item.Level != unit.UnitLevel) continue;
return item.GetCopyHeroTaskContentBase();
}
return null;
}
}
}