45 lines
1.2 KiB
C#
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;
|
|
}
|
|
}
|
|
} |