< Summary

Class:HUDFactory
Assembly:HUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/HUDFactory.cs
Covered lines:52
Uncovered lines:0
Coverable lines:52
Total lines:156
Line coverage:100% (52 of 52)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
CreateHUD(...)0%26260100%
Dispose()0%110100%
Initialize()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/HUDFactory.cs

#LineLine coverage
 1using DCL;
 2using DCL.HelpAndSupportHUD;
 3using DCL.Huds.QuestsPanel;
 4using DCL.Huds.QuestsTracker;
 5using DCL.Interface;
 6using DCL.SettingsCommon;
 7using DCL.SettingsPanelHUD;
 8using SignupHUD;
 9using SocialFeaturesAnalytics;
 10using UnityEngine;
 11
 12public class HUDFactory : IHUDFactory
 13{
 14    public virtual IHUD CreateHUD(HUDElementID hudElementId)
 15    {
 2416        IHUD hudElement = null;
 17        switch (hudElementId)
 18        {
 19            case HUDElementID.NONE:
 20                break;
 21            case HUDElementID.MINIMAP:
 122                hudElement = new MinimapHUDController();
 123                break;
 24            case HUDElementID.PROFILE_HUD:
 125                hudElement = new ProfileHUDController(new UserProfileWebInterfaceBridge());
 126                break;
 27            case HUDElementID.NOTIFICATION:
 128                hudElement = new NotificationHUDController();
 129                break;
 30            case HUDElementID.AVATAR_EDITOR:
 131                hudElement = new AvatarEditorHUDController(DataStore.i.featureFlags, Environment.i.platform.serviceProvi
 132                break;
 33            case HUDElementID.SETTINGS_PANEL:
 134                hudElement = new SettingsPanelHUDController();
 135                break;
 36            case HUDElementID.PLAYER_INFO_CARD:
 137                hudElement = new PlayerInfoCardHUDController(FriendsController.i,
 38                    Resources.Load<StringVariable>("CurrentPlayerInfoCardId"),
 39                    new UserProfileWebInterfaceBridge(),
 40                    new WearablesCatalogControllerBridge(),
 41                    new SocialAnalytics(
 42                        Environment.i.platform.serviceProviders.analytics,
 43                        new UserProfileWebInterfaceBridge()),
 44                    ProfanityFilterSharedInstances.regexFilter,
 45                    DataStore.i,
 46                    CommonScriptableObjects.playerInfoCardVisibleState);
 147                break;
 48            case HUDElementID.AIRDROPPING:
 149                hudElement = new AirdroppingHUDController();
 150                break;
 51            case HUDElementID.TERMS_OF_SERVICE:
 152                hudElement = new TermsOfServiceHUDController();
 153                break;
 54            case HUDElementID.FRIENDS:
 155                hudElement = new FriendsHUDController(DataStore.i, new WebInterfaceFriendsController(FriendsController.i
 56                    new UserProfileWebInterfaceBridge(),
 57                    new SocialAnalytics(
 58                        Environment.i.platform.serviceProviders.analytics,
 59                        new UserProfileWebInterfaceBridge()),
 60                    ChatController.i,
 61                    Environment.i.serviceLocator.Get<ILastReadMessagesService>());
 162                break;
 63            case HUDElementID.WORLD_CHAT_WINDOW:
 164                hudElement = new WorldChatWindowController(
 65                    new UserProfileWebInterfaceBridge(),
 66                    new WebInterfaceFriendsController(FriendsController.i),
 67                    ChatController.i,
 68                    Environment.i.serviceLocator.Get<ILastReadMessagesService>());
 169                break;
 70            case HUDElementID.PRIVATE_CHAT_WINDOW:
 171                hudElement = new PrivateChatWindowController(
 72                    DataStore.i,
 73                    new UserProfileWebInterfaceBridge(),
 74                    ChatController.i,
 75                    new WebInterfaceFriendsController(FriendsController.i),
 76                    Resources.Load<InputAction_Trigger>("CloseWindow"),
 77                    Environment.i.serviceLocator.Get<ILastReadMessagesService>(),
 78                    new SocialAnalytics(
 79                        Environment.i.platform.serviceProviders.analytics,
 80                        new UserProfileWebInterfaceBridge()),
 81                    SceneReferences.i.mouseCatcher,
 82                    Resources.Load<InputAction_Trigger>("ToggleWorldChat"));
 183                break;
 84            case HUDElementID.PUBLIC_CHAT_CHANNEL:
 185                hudElement = new PublicChatChannelController(ChatController.i,
 86                    Environment.i.serviceLocator.Get<ILastReadMessagesService>(),
 87                    new UserProfileWebInterfaceBridge(),
 88                    DataStore.i,
 89                    ProfanityFilterSharedInstances.regexFilter,
 90                    new SocialAnalytics(
 91                        Environment.i.platform.serviceProviders.analytics,
 92                        new UserProfileWebInterfaceBridge()),
 93                    SceneReferences.i.mouseCatcher,
 94                    Resources.Load<InputAction_Trigger>("ToggleWorldChat"));
 195                break;
 96            case HUDElementID.TASKBAR:
 197                hudElement = new TaskbarHUDController();
 198                break;
 99            case HUDElementID.OPEN_EXTERNAL_URL_PROMPT:
 1100                hudElement = new ExternalUrlPromptHUDController();
 1101                break;
 102            case HUDElementID.NFT_INFO_DIALOG:
 1103                hudElement = new NFTPromptHUDController();
 1104                break;
 105            case HUDElementID.TELEPORT_DIALOG:
 1106                hudElement = new TeleportPromptHUDController();
 1107                break;
 108            case HUDElementID.CONTROLS_HUD:
 1109                hudElement = new ControlsHUDController();
 1110                break;
 111            case HUDElementID.HELP_AND_SUPPORT_HUD:
 1112                hudElement = new HelpAndSupportHUDController();
 1113                break;
 114            case HUDElementID.USERS_AROUND_LIST_HUD:
 1115                hudElement = new VoiceChatWindowController(
 116                    new UserProfileWebInterfaceBridge(),
 117                    FriendsController.i,
 118                    new SocialAnalytics(
 119                        Environment.i.platform.serviceProviders.analytics,
 120                        new UserProfileWebInterfaceBridge()),
 121                    DataStore.i,
 122                    Settings.i);
 1123                break;
 124            case HUDElementID.GRAPHIC_CARD_WARNING:
 1125                hudElement = new GraphicCardWarningHUDController();
 1126                break;
 127            case HUDElementID.BUILDER_IN_WORLD_MAIN:
 128                break;
 129            case HUDElementID.QUESTS_PANEL:
 1130                hudElement = new QuestsPanelHUDController();
 1131                break;
 132            case HUDElementID.QUESTS_TRACKER:
 1133                hudElement = new QuestsTrackerHUDController();
 1134                break;
 135            case HUDElementID.SIGNUP:
 1136                var analytics = Environment.i.platform.serviceProviders.analytics;
 1137                hudElement = new SignupHUDController(analytics);
 1138                break;
 139            case HUDElementID.BUILDER_PROJECTS_PANEL:
 140                break;
 141            case HUDElementID.LOADING:
 1142                hudElement = new LoadingHUDController();
 143                break;
 144        }
 145
 24146        return hudElement;
 147    }
 148
 149    public void Dispose()
 150    {
 661151    }
 152
 153    public void Initialize()
 154    {
 661155    }
 156}