using System.IO; using UnityEditor; using UnityEngine; using Codice.LogWrapper; using Unity.PlasticSCM.Editor.AssetUtils; namespace Unity.PlasticSCM.Editor.UI { internal static class Fonts { internal enum Name { Cascadia, } internal static Font GetCascadiaFont() { if (mCascadiaFont == null) mCascadiaFont = Fonts.GetFont(Fonts.Name.Cascadia); return mCascadiaFont; } static Font GetFont(this Name font) { string fontFileName = font.ToString().ToLower() + ".ttf"; string fontFileRelativePath = GetFontFileRelativePath(fontFileName); Font result = AssetDatabase.LoadAssetAtPath(fontFileRelativePath); if (result == null) mLog.WarnFormat("Font not found: {0}", fontFileName); return result; } static string GetFontFileRelativePath(string fontFileName) { return Path.Combine( AssetsPath.GetFontsFolderRelativePath(), fontFileName); } static Font mCascadiaFont; static readonly ILog mLog = PlasticApp.GetLogger("Fonts"); } }