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

Metrics

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

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.ConfirmationPopup;
 4using DCL.ECS7;
 5using DCL.Emotes;
 6using DCL.EmotesWheel;
 7using DCL.EquippedEmotes;
 8using DCL.ExperiencesViewer;
 9using DCL.Guests.HUD.ConnectWallet;
 10using DCL.Helpers;
 11using DCL.Skybox;
 12using DCL.Social.Friends;
 13using DCL.Tutorial;
 14using DCLPlugins.FallbackFontsLoader;
 15using DCLPlugins.LoadingScreenPlugin;
 16using DCLPlugins.RealmPlugin;
 17using DCLPlugins.SentryPlugin;
 18using DCLPlugins.UIRefresherPlugin;
 19
 20namespace DCL
 21{
 22    public static class PluginSystemFactory
 23    {
 24        public static PluginSystem Create()
 25        {
 026            var pluginSystem = new PluginSystem();
 27
 28            // Ideally the Plugin class itself should be a really small entry point with a parameterless constructor
 29            // the heavy lifting should be done by another class (following the Humble Object Pattern)
 30
 031            pluginSystem.Register<DebugPluginFeature>(() => new DebugPluginFeature());
 032            pluginSystem.Register<ShortcutsFeature>(() => new ShortcutsFeature());
 033            pluginSystem.Register<ExploreV2Feature>(() => new ExploreV2Feature());
 034            pluginSystem.Register<DebugShapesBoundingBoxDisplayer>(() => new DebugShapesBoundingBoxDisplayer());
 035            pluginSystem.Register<TransactionFeature>(() => new TransactionFeature());
 036            pluginSystem.Register<PreviewMenuPlugin>(() => new PreviewMenuPlugin());
 037            pluginSystem.Register<SkyboxController>(() => new SkyboxController());
 038            pluginSystem.Register<GotoPanelPlugin>(() => new GotoPanelPlugin());
 039            pluginSystem.Register<ExperiencesViewerFeature>(() => new ExperiencesViewerFeature());
 040            pluginSystem.Register<EmoteAnimationsPlugin>(() => new EmoteAnimationsPlugin());
 041            pluginSystem.Register<EquippedEmotesInitializerPlugin>(() => new EquippedEmotesInitializerPlugin());
 042            pluginSystem.Register<EmotesWheelUIPlugin>(() => new EmotesWheelUIPlugin());
 043            pluginSystem.Register<NFTShapePlugin>(() => new NFTShapePlugin());
 044            pluginSystem.Register<UUIDEventsPlugin>(() => new UUIDEventsPlugin());
 045            pluginSystem.Register<UIComponentsPlugin>(() => new UIComponentsPlugin());
 046            pluginSystem.Register<CoreComponentsPlugin>(() => new CoreComponentsPlugin());
 047            pluginSystem.Register<PlacesAndEventsFeature>(() => new PlacesAndEventsFeature());
 048            pluginSystem.Register<JoinChannelModalPlugin>(() => new JoinChannelModalPlugin());
 049            pluginSystem.Register<ChannelLimitReachedWindowPlugin>(() => new ChannelLimitReachedWindowPlugin());
 050            pluginSystem.Register<ChannelJoinErrorWindowPlugin>(() => new ChannelJoinErrorWindowPlugin());
 051            pluginSystem.Register<ChannelLeaveErrorWindowPlugin>(() => new ChannelLeaveErrorWindowPlugin());
 052            pluginSystem.Register<AvatarModifierAreaFeedbackPlugin>(() => new AvatarModifierAreaFeedbackPlugin());
 053            pluginSystem.Register<SpawnPointsDisplayerPlugin>(() => new SpawnPointsDisplayerPlugin());
 054            pluginSystem.Register<UIRefresherPlugin>(() => new UIRefresherPlugin());
 055            pluginSystem.Register<ChatNotificationsFeature>(() => new ChatNotificationsFeature());
 056            pluginSystem.Register<ConnectWalletModalPlugin>(() => new ConnectWalletModalPlugin());
 057            pluginSystem.Register<FallbackFontsLoaderPlugin>(() => new FallbackFontsLoaderPlugin());
 058            pluginSystem.Register<SentryPlugin>(() => new SentryPlugin());
 59
 060            pluginSystem.RegisterWithFlag<LoadingScreenPlugin>(() => new LoadingScreenPlugin(), DataStore.i.featureFlags
 061            pluginSystem.RegisterWithFlag<FriendRequestHUDPlugin>(() => new FriendRequestHUDPlugin(), "new_friend_reques
 062            pluginSystem.RegisterWithFlag<RealmPlugin>(() => new RealmPlugin(DataStore.i), "realms_modifier_plugin");
 63
 064            pluginSystem.RegisterWithFlag<TutorialController>(() => new TutorialController(DataStore.i.common, DataStore
 065            pluginSystem.RegisterWithFlag<TextureCompressionTogglePlugin>(() => new TextureCompressionTogglePlugin(), "p
 066            pluginSystem.RegisterWithFlag<ECS7Plugin>(() => new ECS7Plugin(), "ecs7");
 067            pluginSystem.RegisterWithFlag<BlurFeature>(() => new BlurFeature(), "ui_blur_variant:enabled");
 068            pluginSystem.RegisterWithFlag<PromoteChannelsToastPlugin>(() => new PromoteChannelsToastPlugin(), "promote_c
 069            pluginSystem.RegisterWithFlag<PlayerPassportPlugin>(() => new PlayerPassportPlugin(), "new_avatar_flow");
 070            pluginSystem.RegisterWithFlag<FavoritePlacesPlugin>(() => new FavoritePlacesPlugin(), "favourite_places");
 071            pluginSystem.RegisterWithFlag<OutlinerPlugin>(() => new OutlinerPlugin(), "avatar_outliner");
 72
 073            pluginSystem.Register<FriendsNotificationPlugin>(() => new FriendsNotificationPlugin(new DefaultPlayerPrefs(
 74                FriendsController.i,
 75                NotificationScriptableObjects.pendingFriendRequests,
 76                NotificationScriptableObjects.newApprovedFriends,
 77                DataStore.i));
 78
 079            pluginSystem.Register<ConfirmationPopupPlugin>(() => new ConfirmationPopupPlugin());
 80
 081            pluginSystem.Register<ABDetectorPlugin>(() => new ABDetectorPlugin());
 82
 083            pluginSystem.Register<MapTexturePlugin>(() => new MapTexturePlugin());
 84
 085            pluginSystem.SetFeatureFlagsData(DataStore.i.featureFlags.flags);
 86
 087            return pluginSystem;
 88        }
 89    }
 90}

Methods/Properties

Create()