< Summary

Class:DCL.ECSComponents.UIText.UiTextHandler
Assembly:DCL.ECSComponents.UIText
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/ECSComponents/UIText/UiTextHandler.cs
Covered lines:19
Uncovered lines:0
Coverable lines:19
Total lines:49
Line coverage:100% (19 of 19)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
UiTextHandler(...)0%110100%
OnComponentCreated(...)0%110100%
OnComponentRemoved(...)0%110100%
OnComponentModelUpdated(...)0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/ECSComponents/UIText/UiTextHandler.cs

#LineLine coverage
 1using DCL.Controllers;
 2using DCL.ECS7.InternalComponents;
 3using DCL.ECSComponents.UIAbstractElements;
 4using DCL.ECSComponents.Utils;
 5using DCL.ECSRuntime;
 6using DCL.Models;
 7using UnityEngine.UIElements;
 8
 9namespace DCL.ECSComponents.UIText
 10{
 11    public class UiTextHandler : UIElementHandlerBase, IECSComponentHandler<PBUiText>
 12    {
 13        private readonly AssetPromiseKeeper_Font fontPromiseKeeper;
 14        private UIFontUpdater fontUpdater;
 15
 3116        internal Label uiElement { get; private set; }
 17
 18        public UiTextHandler(IInternalECSComponent<InternalUiContainer> internalUiContainer,
 419            AssetPromiseKeeper_Font fontPromiseKeeper, int componentId) : base(internalUiContainer, componentId)
 20        {
 421            this.fontPromiseKeeper = fontPromiseKeeper;
 422        }
 23
 24        public void OnComponentCreated(IParcelScene scene, IDCLEntity entity)
 25        {
 426            uiElement = new Label { text = string.Empty };
 427            fontUpdater = new UIFontUpdater(uiElement, fontPromiseKeeper);
 428            UiElementUtils.SetElementDefaultStyle(uiElement.style);
 429            AddElementToRoot(scene, entity, uiElement);
 430        }
 31
 32        public void OnComponentRemoved(IParcelScene scene, IDCLEntity entity)
 33        {
 234            RemoveElementFromRoot(scene, entity, uiElement);
 235            uiElement = null;
 236            fontUpdater.Dispose();
 237        }
 38
 39        public void OnComponentModelUpdated(IParcelScene scene, IDCLEntity entity, PBUiText model)
 40        {
 141            uiElement.text = model.Value;
 142            uiElement.style.color = model.GetColor().ToUnityColor();
 143            uiElement.style.fontSize = model.GetFontSize();
 144            uiElement.style.unityTextAlign = model.GetTextAlign().ToUnityTextAlign();
 45
 146            fontUpdater.Update(model.GetFont());
 147        }
 48    }
 49}