86 lines
1.7 KiB
C#
86 lines
1.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using RuntimeData;
|
|
using Logic.Multilingual;
|
|
|
|
[Serializable]
|
|
[CreateAssetMenu(fileName = "GeoDataAssets", menuName = "TH1 Game Data/Geo Data Asset")]
|
|
public class GeoDataAssets : ScriptableObject
|
|
{
|
|
|
|
public List<GeoItem> GeoItemList = new List<GeoItem>();
|
|
public List<SmallClassInfo> SmallClassInfoList;
|
|
[NonSerialized]
|
|
private bool _initialized = false;
|
|
|
|
public string GetSmallClassName(GeoSmallClass smallClass)
|
|
{
|
|
foreach(var t in SmallClassInfoList)
|
|
if (t.GeoSmallClass == smallClass)
|
|
return MultilingualManager.Instance.GetMultilingualTextSafe(t.GeoSmallClassText);
|
|
return "";
|
|
}
|
|
}
|
|
|
|
public enum GeoBigClass {Building, Mountain, Plain, Forest, Water }
|
|
|
|
public enum GeoSmallClass {
|
|
NavelBase,
|
|
Military,
|
|
Windmill,
|
|
Market,
|
|
Hill,
|
|
Mountain,
|
|
Volcano,
|
|
Plain,
|
|
Floodplain,
|
|
Desert,
|
|
Savanna,
|
|
Sawmill,
|
|
Mangrove,
|
|
Deciduous,
|
|
Jungle,
|
|
Ocean,
|
|
Sea,
|
|
River,
|
|
Lake,
|
|
Port,
|
|
Mine,
|
|
Forge,
|
|
Oasis,
|
|
Marsh,
|
|
Grassland,
|
|
Evergreen,
|
|
Taiga,
|
|
Wetland,
|
|
Permafrost,
|
|
Tundra,
|
|
Fjord,
|
|
Bridge,
|
|
Island,
|
|
Peninsula
|
|
|
|
}
|
|
|
|
[Serializable]
|
|
public class GeoItem
|
|
{
|
|
public uint Id;
|
|
public GeoBigClass GeoBigClass;
|
|
public GeoSmallClass GeoSmallClass;
|
|
public CivEnum CivEnum;
|
|
public List<CityLibrary> NearbyCity;
|
|
[MultilingualField]
|
|
public string GeoName;
|
|
[MultilingualField]
|
|
public string GeoDesc;
|
|
}
|
|
|
|
[Serializable]
|
|
public class SmallClassInfo
|
|
{
|
|
public GeoSmallClass GeoSmallClass;
|
|
[MultilingualField]
|
|
public string GeoSmallClassText;
|
|
} |