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 HeroInfoList = new List(); private Dictionary _heroDict = new Dictionary(); [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 TaskList; } [Serializable] public class HeroTaskInfoData { public HeroTaskContentType taskContentType; public uint Param; public SkillType SkillParam; public GridSpType SpType; public List SkillList; [MultilingualField] public string SkillName; [MultilingualField] public string Desc; public UnitFullType UnitFullType; public SanaeDivineBuff TargetBuff; }