< Summary

Class:InternalECSComponents
Assembly:ECS7Plugin.InternalECSComponents
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/InternalECSComponents/InternalECSComponents.cs
Covered lines:85
Uncovered lines:0
Coverable lines:85
Total lines:275
Line coverage:100% (85 of 85)
Covered branches:0
Total branches:0
Covered methods:27
Total methods:27
Method coverage:100% (27 of 27)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
InternalECSComponents(...)0%110100%
Dispose()0%110100%
MarkDirtyComponentsUpdate()0%220100%
ResetDirtyComponentsUpdate()0%220100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/ECS7/InternalECSComponents/InternalECSComponents.cs

#LineLine coverage
 1using DCL.CRDT;
 2using DCL.ECS7.InternalComponents;
 3using DCL.ECSRuntime;
 4using System;
 5using System.Collections.Generic;
 6
 7public class InternalECSComponents : IDisposable, IInternalECSComponents, IComponentDirtySystem
 8{
 9    public event Action MarkComponentsAsDirty;
 10    public event Action RemoveComponentsAsDirty;
 11
 2912    public IInternalECSComponent<InternalTexturizable> texturizableComponent { get; }
 813    public IInternalECSComponent<InternalMaterial> materialComponent { get; }
 814    public IInternalECSComponent<InternalVideoMaterial> videoMaterialComponent { get; }
 1815    public IInternalECSComponent<InternalVideoPlayer> videoPlayerComponent { get; }
 30616    public IInternalECSComponent<InternalColliders> onPointerColliderComponent { get; }
 32217    public IInternalECSComponent<InternalColliders> physicColliderComponent { get; }
 25218    public IInternalECSComponent<InternalColliders> customLayerColliderComponent { get; }
 6719    public IInternalECSComponent<InternalInputEventResults> inputEventResultsComponent { get; }
 10420    public IInternalECSComponent<InternalRenderers> renderersComponent { get; }
 1121    public IInternalECSComponent<InternalVisibility> visibilityComponent { get; }
 9022    public IInternalECSComponent<InternalUiContainer> uiContainerComponent { get; }
 623    public IInternalECSComponent<InternalUIInputResults> uiInputResultsComponent { get; }
 4424    public IInternalECSComponent<InternalSceneBoundsCheck> sceneBoundsCheckComponent { get; }
 125    public IInternalECSComponent<InternalAudioSource> audioSourceComponent { get; }
 6826    public IInternalECSComponent<InternalPointerEvents> PointerEventsComponent { get; }
 1627    public IInternalECSComponent<InternalRegisteredUiPointerEvents> RegisteredUiPointerEventsComponent { get; }
 7028    public IInternalECSComponent<InternalRaycast> raycastComponent { get; }
 4729    public IInternalECSComponent<InternalGltfContainerLoadingState> GltfContainerLoadingStateComponent { get; }
 9230    public IInternalECSComponent<InternalEngineInfo> EngineInfo { get; }
 431    public IInternalECSComponent<InternalAnimationPlayer> AnimationPlayer { get; }
 3632    public IInternalECSComponent<InternalAnimation> Animation { get; }
 4633    public IInternalECSComponent<InternalTween> TweenComponent { get; }
 3134    public IInternalECSComponent<InternalAvatarModifierArea> AvatarModifierAreaComponent { get; }
 35
 20336    public InternalECSComponents(ECSComponentsManager componentsManager, ECSComponentsFactory componentsFactory,
 37        IReadOnlyDictionary<int, ICRDTExecutor> crdtExecutors)
 38    {
 20339        texturizableComponent = new InternalECSComponent<InternalTexturizable>(
 40            InternalECSComponentsId.TEXTURIZABLE,
 41            componentsManager,
 42            componentsFactory,
 1443            () => new RemoveOnConditionHandler<InternalTexturizable>(
 4744                () => texturizableComponent, model => model.renderers.Count == 0),
 45            crdtExecutors,
 46            this);
 47
 20348        materialComponent = new InternalECSComponent<InternalMaterial>(
 49            InternalECSComponentsId.MATERIAL,
 50            componentsManager,
 51            componentsFactory,
 52            null,
 53            crdtExecutors,
 54            this);
 55
 20356        onPointerColliderComponent = new InternalECSComponent<InternalColliders>(
 57            InternalECSComponentsId.COLLIDER_POINTER,
 58            componentsManager,
 59            componentsFactory,
 11860            () => new RemoveOnConditionHandler<InternalColliders>(
 27061                () => onPointerColliderComponent, model => model.colliders.Count == 0),
 62            crdtExecutors,
 63            this);
 64
 20365        physicColliderComponent = new InternalECSComponent<InternalColliders>(
 66            InternalECSComponentsId.COLLIDER_PHYSICAL,
 67            componentsManager,
 68            componentsFactory,
 8169            () => new RemoveOnConditionHandler<InternalColliders>(
 19770                () => physicColliderComponent, model => model.colliders.Count == 0),
 71            crdtExecutors,
 72            this);
 73
 20374        customLayerColliderComponent = new InternalECSComponent<InternalColliders>(
 75            InternalECSComponentsId.COLLIDER_CUSTOM,
 76            componentsManager,
 77            componentsFactory,
 8678            () => new RemoveOnConditionHandler<InternalColliders>(
 21379                () => customLayerColliderComponent, model => model.colliders.Count == 0),
 80            crdtExecutors,
 81            this);
 82
 20383        renderersComponent = new InternalECSComponent<InternalRenderers>(
 84            InternalECSComponentsId.RENDERERS,
 85            componentsManager,
 86            componentsFactory,
 5087            () => new RemoveOnConditionHandler<InternalRenderers>(
 13388                () => renderersComponent, model => model.renderers.Count == 0),
 89            crdtExecutors,
 90            this);
 91
 20392        visibilityComponent = new InternalECSComponent<InternalVisibility>(
 93            InternalECSComponentsId.VISIBILITY,
 94            componentsManager,
 95            componentsFactory,
 96            null,
 97            crdtExecutors,
 98            this);
 99
 203100        inputEventResultsComponent = new InternalECSComponent<InternalInputEventResults>(
 101            InternalECSComponentsId.INPUT_EVENTS_RESULT,
 102            componentsManager,
 103            componentsFactory,
 104            null,
 105            crdtExecutors,
 106            this);
 107
 203108        uiContainerComponent = new InternalECSComponent<InternalUiContainer>(
 109            InternalECSComponentsId.UI_CONTAINER,
 110            componentsManager,
 111            componentsFactory,
 90112            () => new UiContainerHandler(() => uiContainerComponent),
 113            crdtExecutors,
 114            this);
 115
 203116        uiInputResultsComponent = new InternalECSComponent<InternalUIInputResults>(
 117            InternalECSComponentsId.UI_INPUT_EVENTS_RESULT,
 118            componentsManager,
 119            componentsFactory,
 120            null,
 121            crdtExecutors,
 122            this
 123        );
 124
 203125        videoPlayerComponent = new InternalECSComponent<InternalVideoPlayer>(
 126            InternalECSComponentsId.VIDEO_PLAYER,
 127            componentsManager,
 128            componentsFactory,
 129            null,
 130            crdtExecutors,
 131            this);
 132
 203133        videoMaterialComponent = new InternalECSComponent<InternalVideoMaterial>(
 134            InternalECSComponentsId.VIDEO_MATERIAL,
 135            componentsManager,
 136            componentsFactory,
 137            null,
 138            crdtExecutors,
 139            this);
 140
 203141        sceneBoundsCheckComponent = new InternalECSComponent<InternalSceneBoundsCheck>(
 142            InternalECSComponentsId.SCENE_BOUNDS_CHECK,
 143            componentsManager,
 144            componentsFactory,
 145            null,
 146            crdtExecutors,
 147            this
 148        );
 149
 203150        audioSourceComponent = new InternalECSComponent<InternalAudioSource>(
 151            InternalECSComponentsId.AUDIO_SOURCE,
 152            componentsManager,
 153            componentsFactory,
 154            null,
 155            crdtExecutors,
 156            this
 157        );
 158
 203159        PointerEventsComponent = new InternalECSComponent<InternalPointerEvents>(
 160            InternalECSComponentsId.POINTER_EVENTS,
 161            componentsManager,
 162            componentsFactory,
 163            null,
 164            crdtExecutors,
 165            this
 166        );
 167
 203168        RegisteredUiPointerEventsComponent = new InternalECSComponent<InternalRegisteredUiPointerEvents>(
 169            InternalECSComponentsId.REGISTERED_UI_POINTER_EVENTS,
 170            componentsManager,
 171            componentsFactory,
 172            null,
 173            crdtExecutors,
 174            this
 175        );
 176
 203177        raycastComponent = new InternalECSComponent<InternalRaycast>(
 178            InternalECSComponentsId.RAYCAST,
 179            componentsManager,
 180            componentsFactory,
 181            null,
 182            crdtExecutors,
 183            this
 184        );
 185
 203186        GltfContainerLoadingStateComponent = new InternalECSComponent<InternalGltfContainerLoadingState>(
 187            InternalECSComponentsId.GLTF_CONTAINER_LOADING_STATE,
 188            componentsManager,
 189            componentsFactory,
 190            null,
 191            crdtExecutors,
 192            this
 193        );
 194
 203195        EngineInfo = new InternalECSComponent<InternalEngineInfo>(
 196            InternalECSComponentsId.ENGINE_INFO,
 197            componentsManager,
 198            componentsFactory,
 199            null,
 200            crdtExecutors,
 201            this
 202        );
 203
 203204        AnimationPlayer = new InternalECSComponent<InternalAnimationPlayer>(
 205            InternalECSComponentsId.ANIMATION_PLAYER,
 206            componentsManager,
 207            componentsFactory,
 208            null,
 209            crdtExecutors,
 210            this
 211        );
 212
 203213        Animation = new InternalECSComponent<InternalAnimation>(
 214            InternalECSComponentsId.ANIMATION,
 215            componentsManager,
 216            componentsFactory,
 217            null,
 218            crdtExecutors,
 219            this
 220        );
 221
 203222        TweenComponent = new InternalECSComponent<InternalTween>(
 223            InternalECSComponentsId.TWEEN,
 224            componentsManager,
 225            componentsFactory,
 226            null,
 227            crdtExecutors,
 228            this
 229        );
 230
 203231        AvatarModifierAreaComponent = new InternalECSComponent<InternalAvatarModifierArea>(
 232            InternalECSComponentsId.AVATAR_MODIFIER_AREA,
 233            componentsManager,
 234            componentsFactory,
 235            null,
 236            crdtExecutors,
 237            this
 238        );
 203239    }
 240
 241    public void Dispose()
 242    {
 1243        texturizableComponent.Dispose();
 1244        materialComponent.Dispose();
 1245        onPointerColliderComponent.Dispose();
 1246        physicColliderComponent.Dispose();
 1247        renderersComponent.Dispose();
 1248        inputEventResultsComponent.Dispose();
 1249        videoPlayerComponent.Dispose();
 1250        videoMaterialComponent.Dispose();
 1251        visibilityComponent.Dispose();
 1252        uiContainerComponent.Dispose();
 1253        uiInputResultsComponent.Dispose();
 1254        sceneBoundsCheckComponent.Dispose();
 1255        audioSourceComponent.Dispose();
 1256        PointerEventsComponent.Dispose();
 1257        RegisteredUiPointerEventsComponent.Dispose();
 1258        GltfContainerLoadingStateComponent.Dispose();
 1259        EngineInfo.Dispose();
 1260        AnimationPlayer.Dispose();
 1261        Animation.Dispose();
 1262        TweenComponent.Dispose();
 1263        AvatarModifierAreaComponent.Dispose();
 1264    }
 265
 266    public void MarkDirtyComponentsUpdate()
 267    {
 55268        MarkComponentsAsDirty?.Invoke();
 55269    }
 270
 271    public void ResetDirtyComponentsUpdate()
 272    {
 53273        RemoveComponentsAsDirty?.Invoke();
 53274    }
 275}