< Summary

Class:DCLPlugins.RealmPlugin.RealmPlugin
Assembly:DCL.Plugins.RealmsPlugin
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/RealmsPlugin/RealmPlugin.cs
Covered lines:12
Uncovered lines:0
Coverable lines:12
Total lines:47
Line coverage:100% (12 of 12)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
RealmPlugin(...)0%110100%
Dispose()0%220100%
RealmChanged(...)0%220100%

File(s)

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

#LineLine coverage
 1using DCL;
 2using DCLPlugins.RealmsPlugin;
 3using System.Collections.Generic;
 4using System.Linq;
 5using Variables.RealmsInfo;
 6using static Decentraland.Bff.AboutResponse.Types;
 7
 8namespace DCLPlugins.RealmPlugin
 9{
 10    /// <summary>
 11    /// Contains and triggers the realm modifiers when a new realm has been entered. This is triggered by setting a new 
 12    /// </summary>
 13    public class RealmPlugin : IPlugin
 14    {
 1215        private BaseVariable<AboutConfiguration> realmAboutConfiguration => DataStore.i.realm.playerRealmAboutConfigurat
 16        private List<RealmModel> currentCatalystRealmList;
 17
 18        internal List<IRealmModifier> realmsModifiers;
 19
 620        public RealmPlugin(DataStore dataStore)
 21        {
 622            realmsModifiers = new List<IRealmModifier>
 23            {
 24                new RealmBlockerModifier(dataStore.worldBlockers),
 25                new RealmMinimapModifier(dataStore.HUDs),
 26                new RealmsSkyboxModifier(dataStore.skyboxConfig),
 27            };
 28
 629            realmAboutConfiguration.OnChange += RealmChanged;
 630        }
 31
 32        public void Dispose()
 33        {
 1234            realmsModifiers.ForEach(rm => rm.Dispose());
 635            realmAboutConfiguration.OnChange -= RealmChanged;
 636        }
 37
 38        private void RealmChanged(AboutConfiguration current, AboutConfiguration _)
 39        {
 1040            bool isWorld = current.ScenesUrn.Any() && string.IsNullOrEmpty(current.CityLoaderContentServer);
 41
 1042            DataStore.i.common.isWorld.Set(isWorld);
 43
 2044            realmsModifiers.ForEach(rm => rm.OnEnteredRealm(isWorld, current));
 1045        }
 46    }
 47}