using System; using System.Collections.Generic; using UnityEngine; using Logic.Action; using Logic.Multilingual; [Serializable] [CreateAssetMenu(fileName = "TechDataAssets", menuName = "TH1 Game Data/Action Data Asset")] public class ActionDataAssets : ScriptableObject { public List ActionList = new List(); public bool GetActionInfo(CommonActionId actionId, out ActionInfo actionInfo) { actionInfo = null; foreach(var t in ActionList) if (actionId == t.ActionId) { //Debug.Log(t.ActionName); //Debug.Log(t.CityExp); actionInfo = t; return true; } //Debug.Log(actionId.GridMiscActionType); return false; } public bool GetActionDesc(CommonActionId actionId, out string ret) { ret = ""; foreach(var t in ActionList) if (actionId == t.ActionId) { ret = t.Desc; return true; } return false; } } [Serializable] public class CivForceToSprite { public bool IgnoreCivId; public bool IgnoreForceId; public uint CivId; public uint ForceId; public bool OnlyCarryGiant; public GiantType CarryGiantType; public Sprite Sprite; public string Name; public bool HasLevel; public List LevelSprite; } [Serializable] public class ActionInfo { public CommonActionId ActionId; [MultilingualField] public string ActionName; [MultilingualField] public string Desc; //科技树专用描述 public bool NeedTechDesc; [MultilingualField] public string TechDesc; //锁行动时专用描述 public bool NeedLockDesc; [MultilingualField] public string LockDesc; public Sprite Icon; public bool VarientIcon; public List IconList; public int Cost; public int CityExp; public bool NoNeedTech; public Vector2 SpriteSize; public Vector2 SpritePos; public Sprite GetIcon(uint civId,uint forceId) { foreach (var t in IconList) { if ((t.IgnoreCivId || t.CivId == civId) && (t.IgnoreForceId || t.ForceId == forceId)) return t.Sprite; } return null; } }