| using System.Collections; | 
| using System.Collections.Generic; | 
| using UnityEngine; | 
| using System; | 
|   | 
| [CreateAssetMenu(menuName = "Config/FunctionButtonConfig")] | 
| public class FunctionButtonConfig : ScriptableObject | 
| { | 
|     public UIConfig normal = new UIConfig("Title_Normal", Color.white, 23); | 
|     public UIConfig selected = new UIConfig("Title_Clicked", Color.white, 24); | 
|     public UIConfig locked = new UIConfig("Title_Locked", Color.white, 23); | 
|   | 
|     static FunctionButtonConfig m_Default; | 
|     public static FunctionButtonConfig GetDefault() | 
|     { | 
|         if (m_Default == null) | 
|         { | 
|             m_Default = BuiltInLoader.LoadScriptableObject<FunctionButtonConfig>("FunctionButton_Default"); | 
|         } | 
|   | 
|         return m_Default; | 
|     } | 
|   | 
|     public string GetIconKey(TitleBtnState _state) | 
|     { | 
|         switch (_state) | 
|         { | 
|             case TitleBtnState.Click: | 
|                 return selected.iconKey; | 
|             case TitleBtnState.Normal: | 
|                 return normal.iconKey; | 
|             case TitleBtnState.Locked: | 
|                 return locked.iconKey; | 
|             default: | 
|                 return string.Empty; | 
|         } | 
|     } | 
|   | 
|     public Color GetFontColor(TitleBtnState _state) | 
|     { | 
|         switch (_state) | 
|         { | 
|             case TitleBtnState.Click: | 
|                 return selected.fontColor; | 
|             case TitleBtnState.Normal: | 
|                 return normal.fontColor; | 
|             case TitleBtnState.Locked: | 
|                 return locked.fontColor; | 
|             default: | 
|                 return Color.white; | 
|         } | 
|     } | 
|   | 
|     public int GetFontSize(TitleBtnState _state) | 
|     { | 
|         switch (_state) | 
|         { | 
|             case TitleBtnState.Click: | 
|                 return selected.fontSize; | 
|             case TitleBtnState.Normal: | 
|                 return normal.fontSize; | 
|             case TitleBtnState.Locked: | 
|                 return locked.fontSize; | 
|             default: | 
|                 return 24; | 
|         } | 
|     } | 
|   | 
|     [System.Serializable] | 
|     public struct UIConfig | 
|     { | 
|         public string iconKey; | 
|         public Color fontColor; | 
|         public int fontSize; | 
|   | 
|         public UIConfig(string _icon, Color _fontColor, int _fontSize) | 
|         { | 
|             this.iconKey = _icon; | 
|             this.fontColor = _fontColor; | 
|             this.fontSize = _fontSize; | 
|         } | 
|     } | 
|   | 
| } |