using System; using UnityEditor; using UnityEngine; using System.Collections.Generic; public class SkillAssetFiller { [MenuItem("填表脚本/补全SkillDataAsset的所有Skill项目")] public static void FillCivDataCityInfo() { string assetPath = "Assets/Resources/DataAssets/SkillDataAssets.asset"; var asset = AssetDatabase.LoadAssetAtPath(assetPath); if (asset == null) { Debug.LogError("❌ 找不到 SkillDataAsset.asset,请确认路径正确!"); return; } int addCount = 0; var skillSet = new HashSet(); foreach (var skillinfo in asset.SkillInfoList) skillSet.Add(skillinfo.SkillType); foreach (SkillType skill in Enum.GetValues(typeof(SkillType))) { if (skillSet.Contains(skill)) continue; var t = new SkillInfo(); t.SkillType = skill; asset.SkillInfoList.Add(t); addCount++; } EditorUtility.SetDirty(asset); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); Debug.Log($"✅ 补全完成:共添加了 {addCount} 个 SkillData下的SkillInfo 条目。"); } }