80 lines
5.1 KiB
C#
80 lines
5.1 KiB
C#
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 条目。");
|
||
}
|
||
} |