< Summary

Class:DCL.NavMapChunksLayersController
Assembly:Navmap
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/NavMap/NavMapChunksLayersController.cs
Covered lines:13
Uncovered lines:13
Coverable lines:26
Total lines:65
Line coverage:50% (13 of 26)
Covered branches:0
Total branches:0
Covered methods:2
Total methods:5
Method coverage:40% (2 of 5)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
NavMapChunksLayersController(...)0%110100%
Dispose()0%110100%
EnableSatelliteViewMode()0%2100%
EnableParcelsViewMode()0%2100%
OpenGenesisCityLink()0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/NavMap/NavMapChunksLayersController.cs

#LineLine coverage
 1using DCL.Helpers;
 2using DCLServices.MapRendererV2;
 3using DCLServices.MapRendererV2.MapLayers;
 4using ExploreV2Analytics;
 5using System;
 6using UnityEngine;
 7using Application = UnityEngine.Device.Application;
 8
 9namespace DCL
 10{
 11    public class NavMapChunksLayersController : IDisposable
 12    {
 13        private const string GENESIS_CITY_URL = "https://genesis.city/";
 14        private readonly NavMapChunksLayersView view;
 15        private readonly IExploreV2Analytics exploreV2Analytics;
 16        private readonly IMapRenderer mapRender;
 17
 118        public NavMapChunksLayersController(NavMapChunksLayersView view, IExploreV2Analytics exploreV2Analytics)
 19        {
 120            this.view = view;
 121            this.exploreV2Analytics = exploreV2Analytics;
 22
 123            this.view.ParcelsButtonClicked += EnableParcelsViewMode;
 124            this.view.SatelliteButtonClicked += EnableSatelliteViewMode;
 125            this.view.HyperLinkClicked += OpenGenesisCityLink;
 26
 127            mapRender = Environment.i.serviceLocator.Get<IMapRenderer>();
 128        }
 29
 30        public void Dispose()
 31        {
 132            view.ParcelsButtonClicked -= EnableParcelsViewMode;
 133            view.SatelliteButtonClicked -= EnableSatelliteViewMode;
 134            view.HyperLinkClicked -= OpenGenesisCityLink;
 35
 136            Utils.SafeDestroy(view.gameObject);
 137        }
 38
 39        private void EnableSatelliteViewMode()
 40        {
 041            view.SetState(satelliteViewActive: true);
 42
 043            mapRender.SetSharedLayer(MapLayer.SatelliteAtlas, true);
 044            mapRender.SetSharedLayer(MapLayer.ParcelsAtlas, false);
 45
 046            exploreV2Analytics.SendToggleMapLayer(MapLayer.SatelliteAtlas.ToString(), true);
 047        }
 48
 49        private void EnableParcelsViewMode()
 50        {
 051            view.SetState(satelliteViewActive: false);
 52
 053            mapRender.SetSharedLayer(MapLayer.ParcelsAtlas, true);
 054            mapRender.SetSharedLayer(MapLayer.SatelliteAtlas, false);
 55
 056            exploreV2Analytics.SendToggleMapLayer(MapLayer.ParcelsAtlas.ToString(), true);
 057        }
 58
 59        private void OpenGenesisCityLink()
 60        {
 061            exploreV2Analytics.SendOpenGenesisCityUrl();
 062            Application.OpenURL(GENESIS_CITY_URL);
 063        }
 64    }
 65}