< Summary

Class:DCLPlugins.FallbackFontsLoader.FallbackFontsLoaderPlugin
Assembly:FallbackFontsLoaderPlugin
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/FallbackAssetLoaderPlugin/FallbackFontsLoaderPlugin.cs
Covered lines:0
Uncovered lines:15
Coverable lines:15
Total lines:40
Line coverage:0% (0 of 15)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
FallbackFontsLoaderPlugin()0%2100%
FallbackFontsLoaderPlugin()0%6200%
Dispose()0%6200%
AddFallbackFont(...)0%6200%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/FallbackAssetLoaderPlugin/FallbackFontsLoaderPlugin.cs

#LineLine coverage
 1using DCL;
 2using System.Collections.Generic;
 3using TMPro;
 4
 5namespace DCLPlugins.FallbackFontsLoader
 6{
 7    public class FallbackFontsLoaderPlugin : IPlugin
 8    {
 9        private const string FALLBACK_FONTS_ADDRESS = "Assets/Fonts/Fonts Sources/";
 010        private static readonly List<string> FALLBACK_FONTS_TO_LOAD = new () { "NotoSansJP-SemiBold SDF.asset", "NotoSan
 11
 12        private readonly List<AssetPromise_Font> assetPromiseFonts;
 13
 014        public FallbackFontsLoaderPlugin()
 15        {
 016            assetPromiseFonts = new List<AssetPromise_Font>();
 17
 018            foreach (string font in FALLBACK_FONTS_TO_LOAD)
 19            {
 020                var additionalFonts = new AssetPromise_Font(FALLBACK_FONTS_ADDRESS + font);
 021                additionalFonts.OnSuccessEvent += AddFallbackFont;
 022                AssetPromiseKeeper_Font.i.Keep(additionalFonts);
 023                assetPromiseFonts.Add(additionalFonts);
 24            }
 025        }
 26
 27        public void Dispose() =>
 028            assetPromiseFonts.ForEach(e => AssetPromiseKeeper_Font.i?.Forget(e));
 29
 30        private static void AddFallbackFont(Asset_Font obj)
 31        {
 032            List<TMP_FontAsset> fallbackFontAssets = TMP_Settings.fallbackFontAssets;
 33
 034            if (fallbackFontAssets == null) { fallbackFontAssets = new List<TMP_FontAsset>(); }
 35
 036            fallbackFontAssets.Add(obj.font);
 037            TMP_Settings.fallbackFontAssets = fallbackFontAssets;
 038        }
 39    }
 40}