TH1/Unity/Assets/Editor/SkillAssetFiller.cs
2025-10-27 20:52:24 +08:00

80 lines
5.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using UnityEditor;
using UnityEngine;
using System.Collections.Generic;
public class CivDataAssetFiller
{
[MenuItem("填表脚本/补全CivDataAsset的所有城市信息")]
public static void FillCivDataCityInfo()
{
string[] _tempNameZH =
{
//埃及
"开罗", "亚历山大", "孟斐斯", "底比斯", "卢克索", "阿斯旺", "阿布辛贝", "吉萨", "西奈", "登德拉",
"埃德富", "孔翁布", "赫利奥波利斯", "苏伊士", "斋月十日城", "图拉", "阿马尔纳", "塔尼斯", "布巴斯提斯", "阿拜多斯",
"阿尔西诺伊", "法尤姆", "贝尼苏韦夫", "米尼亚", "索哈杰", "艾斯尤特", "盖卢比尤", "胡尔加达", "阿拉曼", "马特鲁",
//法国
"巴黎", "凡尔赛", "里昂", "马赛", "波尔多", "图卢兹", "里尔", "南特", "斯特拉斯堡", "尼斯",
"第戎", "鲁昂", "兰斯", "奥尔良", "图尔", "阿维尼翁", "梅斯", "南锡", "亚眠", "卡昂",
"利摩日", "普瓦捷", "克莱蒙费朗", "贝桑松", "布雷斯特", "佩皮尼昂", "艾克斯", "圣艾蒂安", "勒阿弗尔", "加来",
//德国
"柏林", "哥尼斯堡", "波茨坦", "马格德堡", "汉堡", "不来梅", "德累斯顿", "莱比锡", "慕尼黑", "纽伦堡",
"科隆", "法兰克福", "斯图加特", "海德堡", "汉诺威", "埃森", "杜塞尔多夫", "奥格斯堡", "美因茨", "吕贝克",
"罗斯托克", "雷根斯堡", "弗赖堡", "特里尔", "爱尔福特", "魏玛", "达姆施塔特", "威斯巴登", "基尔", "什未林",
//印度
"德里", "新德里", "瓦拉纳西", "巴特那", "华氏城", "阿约提亚", "摩图拉", "坎普尔", "阿格拉", "勒克瑙",
"斋浦尔", "乌甲因", "印多尔", "博帕尔", "艾哈迈达巴德", "孟买", "浦那", "那格浦尔", "苏拉特", "瓦多达拉",
"海得拉巴", "瓦朗加尔", "班加罗尔", "迈索尔", "金奈", "马杜赖", "坦贾武尔", "加尔各答", "布巴内斯瓦尔", "斯利那加",
//挪威
"奥斯陆", "卑尔根", "特隆赫姆", "斯塔万格", "特罗姆瑟", "克里斯蒂安桑", "德拉门", "腓特烈斯塔", "希恩", "博德",
"海于格松", "阿伦达尔", "莫尔德", "利勒哈默尔", "哈马尔", "约维克", "阿尔塔", "纳尔维克", "桑讷菲尤尔", "奥勒松",
"滕斯贝格", "哈尔登", "莫斯", "霍内福斯", "孔斯贝格", "埃尔韦鲁姆", "斯泰因谢尔", "莱旺厄尔", "沃斯", "弗勒",
//英国
"伦敦", "伯明翰", "曼彻斯特", "利物浦", "利兹", "谢菲尔德", "布里斯托尔", "纽卡斯尔", "诺丁汉", "南安普敦",
"莱斯特", "朴茨茅斯", "约克", "剑桥", "牛津", "埃克塞特", "加的夫", "格拉斯哥", "爱丁堡", "贝尔法斯特",
"斯旺西", "邓迪", "阿伯丁", "伦敦德里", "因弗内斯", "卡莱尔", "巴斯", "诺里奇", "雷丁", "普利茅斯",
//波斯
"波斯波利斯", "苏萨", "埃克巴塔那", "帕萨尔加德", "拉加", "伊斯塔赫尔", "设拉子", "伊斯法罕", "德黑兰", "大不里士",
"马什哈德", "库姆", "哈马丹", "克尔曼", "亚兹德", "阿瓦士", "阿巴斯港", "克尔曼沙阿", "赞詹", "萨布泽瓦尔",
"内沙布尔", "加兹温", "卡拉季", "阿拉克", "博鲁杰尔德", "萨南达季", "拉什特", "阿尔达比勒", "卡尚", "布什尔",
//拜占庭
"君士坦丁堡", "尼西亚", "安条克", "塞萨洛尼基", "特拉比松", "以弗所", "士每拿", "赫拉克利亚", "哈德良堡", "尼科米底亚",
"迦克墩", "凯撒利亚", "罗得岛", "科林斯", "雅典", "都拉基翁", "底比斯", "老底嘉", "安基拉", "阿马西亚",
"米斯特拉斯", "腓立比", "尼撒", "蒂亚纳", "帕加马", "伊科尼恩", "米利都", "特拉勒斯", "塞琉西亚", "昔兰尼"
};
string assetPath = "Assets/Resources/DataAssets/CivDataAssets.asset";
var asset = AssetDatabase.LoadAssetAtPath<CivDataAssets>(assetPath);
if (asset == null)
{
Debug.LogError("❌ 找不到 CivDataAsset.asset请确认路径正确");
return;
}
int addCount = 0;
foreach (var civ in asset.CivDataList)
{
civ.CityInfoList = new List<CityInfo>();
for (int i = 0; i < 30; i++)
{
var p = new CityInfo();
p.CivId = civ.CivId;
p.CityNameEnum = (CityLibrary)(civ.CivId * 30 + i);
p.CityName = _tempNameZH[civ.CivId * 30 + i];
p.CityDescription = "这是一座历史悠久的美丽城市。";
civ.CityInfoList.Add(p);
addCount++;
}
}
EditorUtility.SetDirty(asset);
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
Debug.Log($"✅ 补全完成:共添加了 {addCount} 个 CivData下的CityInfo 条目。");
}
}