< 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:36
Coverable lines:36
Total lines:69
Line coverage:0% (0 of 36)
Covered branches:0
Total branches:0

Metrics

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

File(s)

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

#LineLine coverage
 1using DCL.Chat.HUD;
 2using DCL.Chat.Notifications;
 3using DCL.ECS7;
 4using DCL.Emotes;
 5using DCL.EmotesWheel;
 6using DCL.EquippedEmotes;
 7using DCL.ExperiencesViewer;
 8using DCL.Guests.HUD.ConnectWallet;
 9using DCL.Helpers;
 10using DCL.Skybox;
 11using DCL.Tutorial;
 12using DCLPlugins.UIRefresherPlugin;
 13
 14namespace DCL
 15{
 16    public static class PluginSystemFactory
 17    {
 18        public static PluginSystem Create()
 19        {
 020            var pluginSystem = new PluginSystem();
 21
 22            // Ideally the Plugin class itself should be a really small entry point with a parameterless constructor
 23            // the heavy lifting should be done by another class (following the Humble Object Pattern)
 24
 025            pluginSystem.Register<DebugPluginFeature>(() => new DebugPluginFeature());
 026            pluginSystem.Register<ShortcutsFeature>(() => new ShortcutsFeature());
 027            pluginSystem.Register<ExploreV2Feature>(() => new ExploreV2Feature());
 028            pluginSystem.Register<DebugShapesBoundingBoxDisplayer>(() => new DebugShapesBoundingBoxDisplayer());
 029            pluginSystem.Register<TransactionFeature>(() => new TransactionFeature());
 030            pluginSystem.Register<PreviewMenuPlugin>(() => new PreviewMenuPlugin());
 031            pluginSystem.Register<SkyboxController>(() => new SkyboxController());
 032            pluginSystem.Register<GotoPanelPlugin>(() => new GotoPanelPlugin());
 033            pluginSystem.Register<ExperiencesViewerFeature>(() => new ExperiencesViewerFeature());
 034            pluginSystem.Register<EmoteAnimationsPlugin>(() => new EmoteAnimationsPlugin());
 035            pluginSystem.Register<EquippedEmotesInitializerPlugin>(() => new EquippedEmotesInitializerPlugin());
 036            pluginSystem.Register<EmotesWheelUIPlugin>(() => new EmotesWheelUIPlugin());
 037            pluginSystem.Register<NFTShapePlugin>(() => new NFTShapePlugin());
 038            pluginSystem.Register<UUIDEventsPlugin>(() => new UUIDEventsPlugin());
 039            pluginSystem.Register<UIComponentsPlugin>(() => new UIComponentsPlugin());
 040            pluginSystem.Register<CoreComponentsPlugin>(() => new CoreComponentsPlugin());
 041            pluginSystem.Register<PlacesAndEventsFeature>(() => new PlacesAndEventsFeature());
 042            pluginSystem.Register<JoinChannelModalPlugin>(() => new JoinChannelModalPlugin());
 043            pluginSystem.Register<ChannelLimitReachedWindowPlugin>(() => new ChannelLimitReachedWindowPlugin());
 044            pluginSystem.Register<ChannelJoinErrorWindowPlugin>(() => new ChannelJoinErrorWindowPlugin());
 045            pluginSystem.Register<ChannelLeaveErrorWindowPlugin>(() => new ChannelLeaveErrorWindowPlugin());
 046            pluginSystem.Register<AvatarModifierAreaFeedbackPlugin>(() => new AvatarModifierAreaFeedbackPlugin());
 047            pluginSystem.Register<SpawnPointsDisplayerPlugin>(() => new SpawnPointsDisplayerPlugin());
 048            pluginSystem.Register<UIRefresherPlugin>(() => new UIRefresherPlugin());
 049            pluginSystem.Register<ChatNotificationsFeature>(() => new ChatNotificationsFeature());
 050            pluginSystem.Register<ConnectWalletModalPlugin>(() => new ConnectWalletModalPlugin());
 051            pluginSystem.RegisterWithFlag<BuilderInWorldPlugin>(() => new BuilderInWorldPlugin(), "builder_in_world");
 052            pluginSystem.RegisterWithFlag<TutorialController>(() => new TutorialController(), "tutorial");
 053            pluginSystem.RegisterWithFlag<TextureCompressionTogglePlugin>(() => new TextureCompressionTogglePlugin(), "p
 054            pluginSystem.RegisterWithFlag<ECS7Plugin>(() => new ECS7Plugin(), "ecs7");
 055            pluginSystem.RegisterWithFlag<BlurFeature>(() => new BlurFeature(), "ui_blur_variant:enabled");
 056            pluginSystem.Register<FriendsNotificationPlugin>(() => new FriendsNotificationPlugin(new DefaultPlayerPrefs(
 57                FriendsController.i,
 58                NotificationScriptableObjects.pendingFriendRequests,
 59                NotificationScriptableObjects.newApprovedFriends,
 60                DataStore.i));
 61
 062            pluginSystem.Register<ABDetectorPlugin>(() => new ABDetectorPlugin());
 63
 064            pluginSystem.SetFeatureFlagsData(DataStore.i.featureFlags.flags);
 65
 066            return pluginSystem;
 67        }
 68    }
 69}

Methods/Properties

Create()