< 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:57
Coverable lines:57
Total lines:115
Line coverage:0% (0 of 57)
Covered branches:0
Total branches:0
Covered methods:0
Total methods:1
Method coverage:0% (0 of 1)

Metrics

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

File(s)

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

#LineLine coverage
 1using DCL.AvatarEditor;
 2using DCL.Backpack;
 3using DCL.Social.Chat;
 4using DCL.Chat.Notifications;
 5using DCL.ConfirmationPopup;
 6using DCL.ContentModeration;
 7using DCL.ECS7;
 8using DCL.Emotes;
 9using DCL.EmotesWheel;
 10using DCL.EquippedEmotes;
 11using DCL.ExperiencesViewer;
 12using DCL.Guests.HUD.ConnectWallet;
 13using DCL.Helpers;
 14using DCL.MyAccount;
 15using DCL.PortableExperiences.Confirmation;
 16using DCL.PortableExperiencesToggle;
 17using DCL.Providers;
 18using DCL.Skybox;
 19using DCL.Social.Friends;
 20using DCL.Tutorial;
 21using DCL.Wallet;
 22using DCLPlugins.CameraReelPlugin;
 23using DCLPlugins.ECS6.HidePortableExperiencesUiFeatureToggle;
 24using DCLPlugins.FallbackFontsLoader;
 25using DCLPlugins.LoadingScreenPlugin;
 26using DCLPlugins.RealmPlugin;
 27using DCLPlugins.SignupHUDPlugin;
 28using DCLPlugins.ToSPopupHUDPlugin;
 29using DCLPlugins.UIRefresherPlugin;
 30
 31namespace DCL
 32{
 33    public static class PluginSystemFactory
 34    {
 35        public static PluginSystem Create()
 36        {
 037            var pluginSystem = new PluginSystem();
 38
 39            // Ideally the Plugin class itself should be a really small entry point with a parameterless constructor
 40            // the heavy lifting should be done by another class (following the Humble Object Pattern)
 41
 042            pluginSystem.Register<DebugPluginFeature>(() => new DebugPluginFeature());
 043            pluginSystem.Register<ShortcutsFeature>(() => new ShortcutsFeature());
 044            pluginSystem.Register<ExploreV2Feature>(() => new ExploreV2Feature());
 045            pluginSystem.Register<DebugShapesBoundingBoxDisplayer>(() => new DebugShapesBoundingBoxDisplayer());
 046            pluginSystem.Register<TransactionFeature>(() => new TransactionFeature());
 047            pluginSystem.Register<PreviewMenuPlugin>(() => new PreviewMenuPlugin());
 048            pluginSystem.Register<SkyboxController>(() => new SkyboxController(DataStore.i));
 049            pluginSystem.Register<ExperiencesViewerPlugin>(() => new ExperiencesViewerPlugin());
 050            pluginSystem.RegisterWithFlag<ExperiencesConfirmationPlugin>(() => new ExperiencesConfirmationPlugin(), "px_
 051            pluginSystem.Register<TeleportHUDPlugin>(() => new TeleportHUDPlugin());
 052            pluginSystem.Register<EquippedEmotesInitializerPlugin>(() => new EquippedEmotesInitializerPlugin());
 053            pluginSystem.Register<EmotesWheelUIPlugin>(() => new EmotesWheelUIPlugin());
 054            pluginSystem.Register<NFTShapePlugin>(() => new NFTShapePlugin());
 055            pluginSystem.Register<UUIDEventsPlugin>(() => new UUIDEventsPlugin());
 056            pluginSystem.Register<UIComponentsPlugin>(() => new UIComponentsPlugin());
 057            pluginSystem.Register<CoreComponentsPlugin>(() => new CoreComponentsPlugin());
 058            pluginSystem.Register<PlacesAndEventsFeature>(() => new PlacesAndEventsFeature());
 059            pluginSystem.Register<JoinChannelModalPlugin>(() => new JoinChannelModalPlugin());
 060            pluginSystem.Register<ChannelLimitReachedWindowPlugin>(() => new ChannelLimitReachedWindowPlugin());
 061            pluginSystem.Register<ChannelJoinErrorWindowPlugin>(() => new ChannelJoinErrorWindowPlugin());
 062            pluginSystem.Register<ChannelLeaveErrorWindowPlugin>(() => new ChannelLeaveErrorWindowPlugin());
 063            pluginSystem.Register<AvatarModifierAreaFeedbackPlugin>(() => new AvatarModifierAreaFeedbackPlugin());
 064            pluginSystem.Register<SpawnPointsDisplayerPlugin>(() => new SpawnPointsDisplayerPlugin());
 065            pluginSystem.Register<UIRefresherPlugin>(() => new UIRefresherPlugin());
 066            pluginSystem.Register<ChatNotificationsFeature>(() => new ChatNotificationsFeature());
 067            pluginSystem.Register<ConnectWalletModalPlugin>(() => new ConnectWalletModalPlugin());
 068            pluginSystem.Register<FallbackFontsLoaderPlugin>(() => new FallbackFontsLoaderPlugin());
 069            pluginSystem.Register<LoadingScreenPlugin>(() => new LoadingScreenPlugin());
 070            pluginSystem.Register<SignupHUDPlugin>(() => new SignupHUDPlugin());
 071            pluginSystem.Register<PortableExperiencesTogglePlugin>(() => new PortableExperiencesTogglePlugin());
 072            pluginSystem.Register<HidePortableExperiencesUiPlugin>(() => new HidePortableExperiencesUiPlugin());
 73
 074            pluginSystem.Register<FriendRequestHUDPlugin>(() => new FriendRequestHUDPlugin());
 075            pluginSystem.RegisterWithFlag<RealmPlugin>(() => new RealmPlugin(DataStore.i), "realms_modifier_plugin");
 76
 077            pluginSystem.RegisterWithFlag<TutorialController>(() => new TutorialController(DataStore.i.common, DataStore
 078            pluginSystem.RegisterWithFlag<TextureCompressionTogglePlugin>(() => new TextureCompressionTogglePlugin(), "p
 079            pluginSystem.RegisterWithFlag<ECS7Plugin>(() => new ECS7Plugin(), "ecs7");
 080            pluginSystem.RegisterWithFlag<BlurFeature>(() => new BlurFeature(), "ui_blur_variant:enabled");
 081            pluginSystem.RegisterWithFlag<PromoteChannelsToastPlugin>(() => new PromoteChannelsToastPlugin(), "promote_c
 082            pluginSystem.Register<PlayerPassportPlugin>(() => new PlayerPassportPlugin());
 083            pluginSystem.RegisterWithFlag<FavoritePlacesPlugin>(() => new FavoritePlacesPlugin(), "favourite_places");
 084            pluginSystem.RegisterWithFlag<OutlinerPlugin>(() => new OutlinerPlugin(), "avatar_outliner");
 085            pluginSystem.RegisterWithFlag<LoadingScreenV2Plugin>(() => new LoadingScreenV2Plugin(), "loading_screen_v2")
 086            pluginSystem.RegisterWithFlag<ToSPopupHUDPlugin>(() => new ToSPopupHUDPlugin(), "seamless_login_variant");
 87
 088            pluginSystem.Register<FriendsNotificationPlugin>(() => new FriendsNotificationPlugin(new DefaultPlayerPrefs(
 89                Environment.i.serviceLocator.Get<IFriendsController>(),
 90                NotificationScriptableObjects.pendingFriendRequests,
 91                NotificationScriptableObjects.newApprovedFriends,
 92                DataStore.i));
 93
 094            pluginSystem.Register<ConfirmationPopupPlugin>(() => new ConfirmationPopupPlugin());
 95
 096            pluginSystem.Register<ABDetectorPlugin>(() => new ABDetectorPlugin());
 97
 098            pluginSystem.Register<MapTexturePlugin>(() => new MapTexturePlugin(Environment.i.serviceLocator.Get<IAddress
 99
 0100            pluginSystem.RegisterWithFlag<QuestsPlugin>(() => new QuestsPlugin(Environment.i.serviceLocator.Get<IAddress
 0101            pluginSystem.RegisterWithFlag<BackpackEditorV2Plugin>(() => new BackpackEditorV2Plugin(), "backpack_editor_v
 102            // TODO: remove the v1 backpack editor when v2 is confirmed to be completely functional
 0103            pluginSystem.RegisterWithFlag<AvatarEditorHUDPlugin>(() => new AvatarEditorHUDPlugin(), "backpack_editor_v1"
 0104            pluginSystem.RegisterWithFlag<CameraReelPlugin>(() => new CameraReelPlugin(), "camera_reel");
 105
 0106            pluginSystem.RegisterWithFlag<WalletPlugin>(() => new WalletPlugin(), "wallet");
 0107            pluginSystem.RegisterWithFlag<MyAccountPlugin>(() => new MyAccountPlugin(), "my_account");
 0108            pluginSystem.RegisterWithFlag<ContentModerationPlugin>(() => new ContentModerationPlugin(), "content_moderat
 109
 0110            pluginSystem.SetFeatureFlagsData(DataStore.i.featureFlags.flags);
 111
 0112            return pluginSystem;
 113        }
 114    }
 115}

Methods/Properties

Create()