60 lines
1.5 KiB
C#
60 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Logic.CrashSight;
|
|
using Logic.HeroTask;
|
|
using UnityEngine;
|
|
using RuntimeData;
|
|
using Logic.Multilingual;
|
|
using Logic.Skill;
|
|
using TH1_Logic.HeroTask;
|
|
|
|
[Serializable]
|
|
[CreateAssetMenu(fileName = "HeroDataAssets", menuName = "TH1 Game Data/Hero Data Asset")]
|
|
public class HeroDataAssets : ScriptableObject
|
|
{
|
|
public List<HeroInfoData> HeroInfoList = new List<HeroInfoData>();
|
|
|
|
private Dictionary<GiantType, HeroInfoData> _heroDict = new Dictionary<GiantType, HeroInfoData>();
|
|
[NonSerialized]
|
|
private bool _initialized = false;
|
|
|
|
private void Init()
|
|
{
|
|
if (_initialized)
|
|
return;
|
|
foreach (var t in HeroInfoList)
|
|
{
|
|
_heroDict[t.GiantType] = t;
|
|
}
|
|
_initialized = true;
|
|
}
|
|
|
|
public bool GetHeroInfo(GiantType giantType,out HeroInfoData data)
|
|
{
|
|
Init();
|
|
return _heroDict.TryGetValue(giantType, out data);
|
|
}
|
|
}
|
|
|
|
[Serializable]
|
|
public class HeroInfoData
|
|
{
|
|
public GiantType GiantType;
|
|
[Header("每一级的英雄任务")]
|
|
public List<HeroTaskInfoData> TaskList;
|
|
}
|
|
|
|
|
|
[Serializable]
|
|
public class HeroTaskInfoData
|
|
{
|
|
public HeroTaskContentType taskContentType;
|
|
public uint Param;
|
|
public SkillType SkillParam;
|
|
public GridSpType SpType;
|
|
public List<SkillType> SkillList;
|
|
[MultilingualField] public string SkillName;
|
|
[MultilingualField] public string Desc;
|
|
public List<UnitFullType> UnitFullTypes;
|
|
public List<SanaeDivineType> TargetBuff;
|
|
} |