< Summary

Class:DCLServices.MapRendererV2.ComponentsFactory.HotUsersMarkersInstaller
Assembly:MapRendererV2
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLServices/MapRendererV2/ComponentsFactory/HotUsersMarkersInstaller.cs
Covered lines:13
Uncovered lines:0
Coverable lines:13
Total lines:58
Line coverage:100% (13 of 13)
Covered branches:0
Total branches:0
Covered methods:2
Total methods:2
Method coverage:100% (2 of 2)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Install()0%660100%
GetPrefab()0%330100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLServices/MapRendererV2/ComponentsFactory/HotUsersMarkersInstaller.cs

#LineLine coverage
 1using Cysharp.Threading.Tasks;
 2using Cysharp.Threading.Tasks.Linq;
 3using DCL;
 4using DCL.Providers;
 5using DCLServices.MapRendererV2.CoordsUtils;
 6using DCLServices.MapRendererV2.Culling;
 7using DCLServices.MapRendererV2.MapLayers;
 8using DCLServices.MapRendererV2.MapLayers.UsersMarkers.HotArea;
 9using MainScripts.DCL.Helpers.Utils;
 10using System.Collections.Generic;
 11using System.Threading;
 12using System.Threading.Tasks;
 13using UnityEngine;
 14using UnityEngine.Pool;
 15
 16namespace DCLServices.MapRendererV2.ComponentsFactory
 17{
 18    internal struct HotUsersMarkersInstaller
 19    {
 20        private const string HOT_USER_MARKER_ADDRESS = "HotUserMarker";
 21        private const int HOT_USER_MARKERS_PREWARM_COUNT = 30;
 22
 23        private Service<IAddressableResourceProvider> addressablesProvider;
 24
 25        public async UniTask Install(
 26            Dictionary<MapLayer, IMapLayerController> writer,
 27            MapRendererConfiguration configuration,
 28            ICoordsUtils coordsUtils,
 29            IMapCullingController cullingController,
 30            CancellationToken cancellationToken)
 31        {
 9832            var prefab = await GetPrefab(cancellationToken);
 33
 34            void OnCreate(HotUserMarkerObject obj)
 35            {
 1698036                for (var i = 0; i < obj.spriteRenderers.Length; i++)
 566037                    obj.spriteRenderers[i].sortingOrder = MapRendererDrawOrder.HOT_USER_MARKERS;
 38
 283039                coordsUtils.SetObjectScale(obj);
 283040            }
 41
 9642            var objectsPool = new UnityObjectPool<HotUserMarkerObject>(prefab, configuration.HotUserMarkersRoot, actionO
 43
 44            IHotUserMarker CreateWrap() =>
 288045                new HotUserMarker(objectsPool, cullingController, coordsUtils, CommonScriptableObjects.worldOffset);
 46
 297647            var wrapsPool = new ObjectPool<IHotUserMarker>(CreateWrap, actionOnRelease: m => m.Dispose(), defaultCapacit
 48
 9649            var controller = new UsersMarkersHotAreaController(DataStore.i.player.otherPlayers, objectsPool, wrapsPool, 
 50
 28851            await controller.Initialize(cancellationToken);
 8952            writer.Add(MapLayer.HotUsersMarkers, controller);
 8953        }
 54
 55        internal async Task<HotUserMarkerObject> GetPrefab(CancellationToken cancellationToken) =>
 9856            await addressablesProvider.Ref.GetAddressable<HotUserMarkerObject>(HOT_USER_MARKER_ADDRESS, cancellationToke
 57    }
 58}

Methods/Properties

Install()
GetPrefab()