using System; using System.Collections.Generic; using System.Diagnostics; using UnityEngine; using RuntimeData; using Logic.Multilingual; [Serializable] [CreateAssetMenu(fileName = "DiplomacyDataAssets", menuName = "TH1 Game Data/Diplomacy Data Asset")] public class DiplomacyDataAssets : ScriptableObject { [MultilingualField] public string NoMeetText; public List DiplomacyStateInfoList; public List FeelingStateInfoList; public bool GetStateInfo(DiplomacyState state,out DiplomacyStateInfo info) { foreach(var t in DiplomacyStateInfoList) if (state == t.DiplomacyState) { info = t; return true; } info = null; return false; } public bool GetFeelingInfo(FeelingState state,out FeelingStateInfo info) { foreach(var t in FeelingStateInfoList) if (state == t.FeelingState) { info = t; return true; } info = null; return false; } } [Serializable] public class DiplomacyStateInfo { public DiplomacyState DiplomacyState; [MultilingualField] public string stateText; public Color stateColor; public Material stateBGMat; } [Serializable] public class FeelingStateInfo { public FeelingState FeelingState; [MultilingualField] public string feelingText; public Color feelingColor; }