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

Metrics

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

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.Social.Friends;
 12using DCL.Tutorial;
 13using DCLPlugins.RealmPlugin;
 14using DCLPlugins.UIRefresherPlugin;
 15
 16namespace DCL
 17{
 18    public static class PluginSystemFactory
 19    {
 20        public static PluginSystem Create()
 21        {
 022            var pluginSystem = new PluginSystem();
 23
 24            // Ideally the Plugin class itself should be a really small entry point with a parameterless constructor
 25            // the heavy lifting should be done by another class (following the Humble Object Pattern)
 26
 027            pluginSystem.Register<DebugPluginFeature>(() => new DebugPluginFeature());
 028            pluginSystem.Register<ShortcutsFeature>(() => new ShortcutsFeature());
 029            pluginSystem.Register<ExploreV2Feature>(() => new ExploreV2Feature());
 030            pluginSystem.Register<DebugShapesBoundingBoxDisplayer>(() => new DebugShapesBoundingBoxDisplayer());
 031            pluginSystem.Register<TransactionFeature>(() => new TransactionFeature());
 032            pluginSystem.Register<PreviewMenuPlugin>(() => new PreviewMenuPlugin());
 033            pluginSystem.Register<SkyboxController>(() => new SkyboxController());
 034            pluginSystem.Register<GotoPanelPlugin>(() => new GotoPanelPlugin());
 035            pluginSystem.Register<ExperiencesViewerFeature>(() => new ExperiencesViewerFeature());
 036            pluginSystem.Register<EmoteAnimationsPlugin>(() => new EmoteAnimationsPlugin());
 037            pluginSystem.Register<EquippedEmotesInitializerPlugin>(() => new EquippedEmotesInitializerPlugin());
 038            pluginSystem.Register<EmotesWheelUIPlugin>(() => new EmotesWheelUIPlugin());
 039            pluginSystem.Register<NFTShapePlugin>(() => new NFTShapePlugin());
 040            pluginSystem.Register<UUIDEventsPlugin>(() => new UUIDEventsPlugin());
 041            pluginSystem.Register<UIComponentsPlugin>(() => new UIComponentsPlugin());
 042            pluginSystem.Register<CoreComponentsPlugin>(() => new CoreComponentsPlugin());
 043            pluginSystem.Register<PlacesAndEventsFeature>(() => new PlacesAndEventsFeature());
 044            pluginSystem.Register<JoinChannelModalPlugin>(() => new JoinChannelModalPlugin());
 045            pluginSystem.Register<ChannelLimitReachedWindowPlugin>(() => new ChannelLimitReachedWindowPlugin());
 046            pluginSystem.Register<ChannelJoinErrorWindowPlugin>(() => new ChannelJoinErrorWindowPlugin());
 047            pluginSystem.Register<ChannelLeaveErrorWindowPlugin>(() => new ChannelLeaveErrorWindowPlugin());
 048            pluginSystem.Register<AvatarModifierAreaFeedbackPlugin>(() => new AvatarModifierAreaFeedbackPlugin());
 049            pluginSystem.Register<SpawnPointsDisplayerPlugin>(() => new SpawnPointsDisplayerPlugin());
 050            pluginSystem.Register<UIRefresherPlugin>(() => new UIRefresherPlugin());
 051            pluginSystem.Register<ChatNotificationsFeature>(() => new ChatNotificationsFeature());
 052            pluginSystem.Register<ConnectWalletModalPlugin>(() => new ConnectWalletModalPlugin());
 053            pluginSystem.Register<SendFriendRequestHUDPlugin>(() => new SendFriendRequestHUDPlugin());
 054            pluginSystem.Register<CancelFriendRequestHUDPlugin>(() => new CancelFriendRequestHUDPlugin());
 55
 056            pluginSystem.RegisterWithFlag<RealmPlugin>(() => new RealmPlugin(DataStore.i), "realms_modifier_plugin");
 057            pluginSystem.RegisterWithFlag<TutorialController>(() => new TutorialController(DataStore.i.common, DataStore
 058            pluginSystem.RegisterWithFlag<TextureCompressionTogglePlugin>(() => new TextureCompressionTogglePlugin(), "p
 059            pluginSystem.RegisterWithFlag<ECS7Plugin>(() => new ECS7Plugin(), "ecs7");
 060            pluginSystem.RegisterWithFlag<BlurFeature>(() => new BlurFeature(), "ui_blur_variant:enabled");
 061            pluginSystem.RegisterWithFlag<PromoteChannelsToastPlugin>(() => new PromoteChannelsToastPlugin(), "promote_c
 062            pluginSystem.RegisterWithFlag<PlayerPassportPlugin>(() => new PlayerPassportPlugin(), "new_avatar_flow");
 63
 064            pluginSystem.Register<FriendsNotificationPlugin>(() => new FriendsNotificationPlugin(new DefaultPlayerPrefs(
 65                FriendsController.i,
 66                NotificationScriptableObjects.pendingFriendRequests,
 67                NotificationScriptableObjects.newApprovedFriends,
 68                DataStore.i));
 69
 070            pluginSystem.Register<ABDetectorPlugin>(() => new ABDetectorPlugin());
 71
 072            pluginSystem.Register<MapTexturePlugin>(() => new MapTexturePlugin());
 73
 074            pluginSystem.SetFeatureFlagsData(DataStore.i.featureFlags.flags);
 75
 076            return pluginSystem;
 77        }
 78    }
 79}

Methods/Properties

Create()