< Summary

Class:DCLServices.MapRendererV2.ComponentsFactory.FavoritesMarkersInstaller
Assembly:MapRendererV2
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLServices/MapRendererV2/ComponentsFactory/FavoritesMarkersInstaller.cs
Covered lines:13
Uncovered lines:1
Coverable lines:14
Total lines:69
Line coverage:92.8% (13 of 14)
Covered branches:0
Total branches:0
Covered methods:2
Total methods:3
Method coverage:66.6% (2 of 3)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Install()0%550100%
CreateMarker(...)0%2100%
GetPrefab()0%330100%

File(s)

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

#LineLine coverage
 1using Cysharp.Threading.Tasks;
 2using DCL;
 3using DCL.Providers;
 4using DCLServices.MapRendererV2.CoordsUtils;
 5using DCLServices.MapRendererV2.Culling;
 6using DCLServices.MapRendererV2.MapLayers;
 7using DCLServices.MapRendererV2.MapLayers.Favorites;
 8using DCLServices.PlacesAPIService;
 9using MainScripts.DCL.Helpers.Utils;
 10using System.Collections.Generic;
 11using System.Threading;
 12
 13namespace DCLServices.MapRendererV2.ComponentsFactory
 14{
 15    internal struct FavoritesMarkersInstaller
 16    {
 17        private const int PREWARM_COUNT = 60;
 18        private const string FAVORITES_MARKER_ADDRESS = "FavoritesMarker";
 19
 20        private Service<IAddressableResourceProvider> addressablesProvider;
 21
 22        public async UniTask Install(
 23            Dictionary<MapLayer, IMapLayerController> writer,
 24            List<IZoomScalingLayer> zoomScalingWriter,
 25            MapRendererConfiguration configuration,
 26            ICoordsUtils coordsUtils,
 27            IMapCullingController cullingController,
 28            IPlacesAPIService placesAPIService,
 29            CancellationToken cancellationToken
 30        )
 31        {
 9832            var prefab = await GetPrefab(cancellationToken);
 33
 9634            var objectsPool = new UnityObjectPool<FavoriteMarkerObject>(
 35                prefab,
 36                configuration.FavoritesMarkersRoot,
 37                actionOnCreate: (obj) =>
 38                {
 4416039                    for (var i = 0; i < obj.renderers.Length; i++)
 1656040                        obj.renderers[i].sortingOrder = MapRendererDrawOrder.FAVORITES;
 41
 552042                    obj.title.sortingOrder = MapRendererDrawOrder.FAVORITES;
 552043                    coordsUtils.SetObjectScale(obj);
 552044                },
 45                defaultCapacity: PREWARM_COUNT);
 46
 9647            var controller = new FavoritesMarkerController(
 48                placesAPIService,
 49                objectsPool,
 50                CreateMarker,
 51                PREWARM_COUNT,
 52                configuration.FavoritesMarkersRoot,
 53                coordsUtils,
 54                cullingController
 55            );
 56
 28857            await controller.Initialize(cancellationToken);
 8858            writer.Add(MapLayer.Favorites, controller);
 8859            zoomScalingWriter.Add(controller);
 8860        }
 61
 62        private static IFavoritesMarker CreateMarker(IUnityObjectPool<FavoriteMarkerObject> objectsPool, IMapCullingCont
 063            new FavoritesMarker(objectsPool, cullingController);
 64
 65        internal async UniTask<FavoriteMarkerObject> GetPrefab(CancellationToken cancellationToken) =>
 9866            await addressablesProvider.Ref.GetAddressable<FavoriteMarkerObject>(FAVORITES_MARKER_ADDRESS, cancellationTo
 67
 68    }
 69}