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 GeoItemList = new List(); public List SmallClassInfoList; [NonSerialized] private bool _initialized = false; public string GetSmallClassName(GeoSmallClass smallClass) { foreach(var t in SmallClassInfoList) if (t.GeoSmallClass == smallClass) return MultilingualManager.Instance.GetMultilingualText(uint.Parse(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 NearbyCity; [MultilingualField] public string GeoName; [MultilingualField] public string GeoDesc; } [Serializable] public class SmallClassInfo { public GeoSmallClass GeoSmallClass; [MultilingualField] public string GeoSmallClassText; }