< Summary

Class:DCLPlugins.RealmsPlugin.RealmsInfiniteFloorModifier
Assembly:DCL.Plugins.RealmsPlugin
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/RealmsPlugin/RealmsInfiniteFloorModifier.cs
Covered lines:24
Uncovered lines:0
Coverable lines:24
Total lines:66
Line coverage:100% (24 of 24)
Covered branches:0
Total branches:0
Covered methods:5
Total methods:5
Method coverage:100% (5 of 5)

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
RealmsInfiniteFloorModifier(...)0%110100%
UpdateEstatesMainTexture(...)0%220100%
UpdateMapMainTexture(...)0%220100%
OnEnteredRealm(...)0%220100%
Dispose()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/RealmsPlugin/RealmsInfiniteFloorModifier.cs

#LineLine coverage
 1using System.Collections;
 2using System.Collections.Generic;
 3using DCL;
 4using DCLPlugins.RealmPlugin;
 5using Decentraland.Bff;
 6using UnityEngine;
 7
 8namespace DCLPlugins.RealmsPlugin
 9{
 10    public class RealmsInfiniteFloorModifier : IRealmModifier
 11    {
 12        private BaseVariable<Texture> mapMainTexture;
 13        private BaseVariable<Texture> mapEstatesTexture;
 14
 15        private BaseVariable<Texture> latestMapMainTexture;
 16        private BaseVariable<Texture> latestEstatesMainTexture;
 17
 18        private bool currentlyInWorld;
 19
 520        public RealmsInfiniteFloorModifier(DataStore_HUDs hudsDataStore)
 21        {
 522            this.mapMainTexture = hudsDataStore.mapMainTexture;
 523            this.mapEstatesTexture = hudsDataStore.mapEstatesTexture;
 524            this.latestMapMainTexture = hudsDataStore.latestDownloadedMainTexture;
 525            this.latestEstatesMainTexture = hudsDataStore.latestDownloadedMapEstatesTexture;
 26
 527            latestMapMainTexture.OnChange += UpdateMapMainTexture;
 528            latestEstatesMainTexture.OnChange += UpdateEstatesMainTexture;
 529        }
 30
 31        private void UpdateEstatesMainTexture(Texture current, Texture _)
 32        {
 533            if (currentlyInWorld) return;
 334            mapEstatesTexture.Set(current);
 335        }
 36
 37        private void UpdateMapMainTexture(Texture current, Texture _)
 38        {
 539            if (currentlyInWorld) return;
 340            mapMainTexture.Set(current);
 341        }
 42
 43        public void OnEnteredRealm(bool isWorld, AboutResponse.Types.AboutConfiguration realmConfiguration)
 44        {
 445            currentlyInWorld = isWorld;
 446            if (isWorld)
 47            {
 48                //TODO: We can offer the possibility to add an infinite world layout per world. For now,
 49                // we nullify and show the orange plaza color
 250                mapMainTexture.Set(null);
 251                mapEstatesTexture.Set(null);
 52            }
 53            else
 54            {
 255                mapMainTexture.Set(latestMapMainTexture.Get());
 256                mapEstatesTexture.Set(latestEstatesMainTexture.Get());
 57            }
 258        }
 59
 60        public void Dispose()
 61        {
 362            latestMapMainTexture.OnChange -= UpdateMapMainTexture;
 363            latestEstatesMainTexture.OnChange -= UpdateEstatesMainTexture;
 364        }
 65    }
 66}