< Summary

Class:DCL.PluginSystemFactory
Assembly:PluginSystem
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/PluginSystem/PluginSystemFactory.cs
Covered lines:0
Uncovered lines:26
Coverable lines:26
Total lines:55
Line coverage:0% (0 of 26)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Create()0%6002400%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/PluginSystem/PluginSystemFactory.cs

#LineLine coverage
 1using DCL.ECS7;
 2using DCL.Emotes;
 3using DCL.EmotesWheel;
 4using DCL.EquippedEmotes;
 5using DCL.ExperiencesViewer;
 6using DCL.Helpers;
 7using DCL.Skybox;
 8using DCL.Tutorial;
 9
 10namespace DCL
 11{
 12    public static class PluginSystemFactory
 13    {
 14        public static PluginSystem Create()
 15        {
 016            var pluginSystem = new PluginSystem();
 17
 18            // Ideally the Plugin class itself should be a really small entry point with a parameterless constructor
 19            // the heavy lifting should be done by another class (following the Humble Object Pattern)
 20
 021            pluginSystem.Register<DebugPluginFeature>(() => new DebugPluginFeature());
 022            pluginSystem.Register<ShortcutsFeature>(() => new ShortcutsFeature());
 023            pluginSystem.Register<ExploreV2Feature>(() => new ExploreV2Feature());
 024            pluginSystem.Register<DebugShapesBoundingBoxDisplayer>(() => new DebugShapesBoundingBoxDisplayer());
 025            pluginSystem.Register<TransactionFeature>(() => new TransactionFeature());
 026            pluginSystem.Register<PreviewMenuPlugin>(() => new PreviewMenuPlugin());
 027            pluginSystem.Register<SkyboxController>(() => new SkyboxController());
 028            pluginSystem.Register<GotoPanelPlugin>(() => new GotoPanelPlugin());
 029            pluginSystem.Register<ExperiencesViewerFeature>(() => new ExperiencesViewerFeature());
 030            pluginSystem.Register<EmoteAnimationsPlugin>(() => new EmoteAnimationsPlugin());
 031            pluginSystem.Register<EquippedEmotesInitializerPlugin>(() => new EquippedEmotesInitializerPlugin());
 032            pluginSystem.Register<EmotesWheelUIPlugin>(() => new EmotesWheelUIPlugin());
 033            pluginSystem.Register<NFTShapePlugin>(() => new NFTShapePlugin());
 034            pluginSystem.Register<UUIDEventsPlugin>(() => new UUIDEventsPlugin());
 035            pluginSystem.Register<UIComponentsPlugin>(() => new UIComponentsPlugin());
 036            pluginSystem.Register<CoreComponentsPlugin>(() => new CoreComponentsPlugin());
 037            pluginSystem.Register<PlacesAndEventsFeature>(() => new PlacesAndEventsFeature());
 38
 039            pluginSystem.Register<SpawnPointsDisplayerPlugin>(() => new SpawnPointsDisplayerPlugin());
 040            pluginSystem.RegisterWithFlag<BuilderInWorldPlugin>(() => new BuilderInWorldPlugin(), "builder_in_world");
 041            pluginSystem.RegisterWithFlag<TutorialController>(() => new TutorialController(), "tutorial");
 042            pluginSystem.RegisterWithFlag<TextureCompressionTogglePlugin>(() => new TextureCompressionTogglePlugin(), "p
 043            pluginSystem.RegisterWithFlag<ECS7Plugin>(() => new ECS7Plugin(), "ecs7");
 044            pluginSystem.Register<FriendsNotificationPlugin>(() => new FriendsNotificationPlugin(new DefaultPlayerPrefs(
 45                FriendsController.i,
 46                NotificationScriptableObjects.pendingFriendRequests,
 47                NotificationScriptableObjects.newApprovedFriends,
 48                DataStore.i));
 49
 050            pluginSystem.SetFeatureFlagsData(DataStore.i.featureFlags.flags);
 51
 052            return pluginSystem;
 53        }
 54    }
 55}

Methods/Properties

Create()