< Summary

Class:DCLServices.MapRendererV2.ComponentsFactory.PlayerMarkerInstaller
Assembly:MapRendererV2
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLServices/MapRendererV2/ComponentsFactory/PlayerMarkerInstaller.cs
Covered lines:14
Uncovered lines:1
Coverable lines:15
Total lines:63
Line coverage:93.3% (14 of 15)
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%330100%
GetPrefab()0%330100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLServices/MapRendererV2/ComponentsFactory/PlayerMarkerInstaller.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.PlayerMarker;
 8using System.Collections.Generic;
 9using System.Threading;
 10using UnityEngine;
 11
 12namespace DCLServices.MapRendererV2.ComponentsFactory
 13{
 14    internal struct PlayerMarkerInstaller
 15    {
 16        private const string PLAYER_MARKER_ADDRESS = "PlayerMarker";
 17
 18        private Service<IAddressableResourceProvider> addressablesProvider;
 19
 20        public async UniTask Install(
 21            Dictionary<MapLayer, IMapLayerController> writer,
 22            List<IZoomScalingLayer> zoomScalingWriter,
 23            MapRendererConfiguration configuration,
 24            ICoordsUtils coordsUtils,
 25            IMapCullingController cullingController,
 26            CancellationToken cancellationToken)
 27        {
 9828            PlayerMarkerObject prefab = await GetPrefab(cancellationToken);
 29
 9630            var controller = new PlayerMarkerController(
 31                CreateMarker,
 32                DataStore.i.player.playerWorldPosition,
 33                CommonScriptableObjects.cameraForward,
 34                configuration.PlayerMarkerRoot,
 35                coordsUtils,
 36                cullingController
 37            );
 38
 9639            controller.Initialize();
 40
 9641            writer.Add(MapLayer.PlayerMarker, controller);
 9642            zoomScalingWriter.Add(controller);
 9643            return;
 44
 45            IPlayerMarker CreateMarker(Transform parent)
 46            {
 9647                PlayerMarkerObject pmObject = Object.Instantiate(prefab, parent);
 9648                coordsUtils.SetObjectScale(pmObject);
 9649                pmObject.SetSortingOrder(MapRendererDrawOrder.PLAYER_MARKER);
 50
 9651                if (DataStore.i.featureFlags.flags.Get().IsInitialized)
 052                    pmObject.SetAnimatedCircleVisibility(DataStore.i.featureFlags.flags.Get().IsFeatureEnabled("map_focu
 53                else
 61654                    DataStore.i.featureFlags.flags.OnChange += (current, previous) => { pmObject.SetAnimatedCircleVisibi
 55
 9656                return new PlayerMarker(pmObject);
 57            }
 9658        }
 59
 60        internal async UniTask<PlayerMarkerObject> GetPrefab(CancellationToken cancellationToken) =>
 9861            await addressablesProvider.Ref.GetAddressable<PlayerMarkerObject>(PLAYER_MARKER_ADDRESS, cancellationToken);
 62    }
 63}

Methods/Properties

Install()
GetPrefab()