< 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:153
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(MinimapMetadataController.i, new WebInterfaceHomeLocationControlle
 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,
 32                    Environment.i.platform.serviceProviders.analytics);
 133                break;
 34            case HUDElementID.SETTINGS_PANEL:
 135                hudElement = new SettingsPanelHUDController();
 136                break;
 37            case HUDElementID.PLAYER_INFO_CARD:
 138                hudElement = new PlayerInfoCardHUDController(
 39                    FriendsController.i,
 40                    Resources.Load<StringVariable>("CurrentPlayerInfoCardId"),
 41                    new UserProfileWebInterfaceBridge(),
 42                    new WearablesCatalogControllerBridge(),
 43                    new SocialAnalytics(
 44                        Environment.i.platform.serviceProviders.analytics,
 45                        new UserProfileWebInterfaceBridge()),
 46                    ProfanityFilterSharedInstances.regexFilter,
 47                    DataStore.i,
 48                    CommonScriptableObjects.playerInfoCardVisibleState);
 149                break;
 50            case HUDElementID.AIRDROPPING:
 151                hudElement = new AirdroppingHUDController();
 152                break;
 53            case HUDElementID.TERMS_OF_SERVICE:
 154                hudElement = new TermsOfServiceHUDController();
 155                break;
 56            case HUDElementID.FRIENDS:
 157                hudElement = new FriendsHUDController(DataStore.i,
 58                    FriendsController.i,
 59                    new UserProfileWebInterfaceBridge(),
 60                    new SocialAnalytics(
 61                        Environment.i.platform.serviceProviders.analytics,
 62                        new UserProfileWebInterfaceBridge()),
 63                    ChatController.i);
 164                break;
 65            case HUDElementID.WORLD_CHAT_WINDOW:
 166                hudElement = new WorldChatWindowController(
 67                    new UserProfileWebInterfaceBridge(),
 68                    FriendsController.i,
 69                    ChatController.i);
 170                break;
 71            case HUDElementID.PRIVATE_CHAT_WINDOW:
 172                hudElement = new PrivateChatWindowController(
 73                    DataStore.i,
 74                    new UserProfileWebInterfaceBridge(),
 75                    ChatController.i,
 76                    FriendsController.i,
 77                    Resources.Load<InputAction_Trigger>("CloseWindow"),
 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(
 86                    ChatController.i,
 87                    new UserProfileWebInterfaceBridge(),
 88                    DataStore.i,
 89                    ProfanityFilterSharedInstances.regexFilter,
 90                    SceneReferences.i.mouseCatcher,
 91                    Resources.Load<InputAction_Trigger>("ToggleWorldChat"));
 192                break;
 93            case HUDElementID.TASKBAR:
 194                hudElement = new TaskbarHUDController();
 195                break;
 96            case HUDElementID.OPEN_EXTERNAL_URL_PROMPT:
 197                hudElement = new ExternalUrlPromptHUDController();
 198                break;
 99            case HUDElementID.NFT_INFO_DIALOG:
 1100                hudElement = new NFTPromptHUDController();
 1101                break;
 102            case HUDElementID.TELEPORT_DIALOG:
 1103                hudElement = new TeleportPromptHUDController();
 1104                break;
 105            case HUDElementID.CONTROLS_HUD:
 1106                hudElement = new ControlsHUDController();
 1107                break;
 108            case HUDElementID.HELP_AND_SUPPORT_HUD:
 1109                hudElement = new HelpAndSupportHUDController();
 1110                break;
 111            case HUDElementID.USERS_AROUND_LIST_HUD:
 1112                hudElement = new VoiceChatWindowController(
 113                    new UserProfileWebInterfaceBridge(),
 114                    FriendsController.i,
 115                    new SocialAnalytics(
 116                        Environment.i.platform.serviceProviders.analytics,
 117                        new UserProfileWebInterfaceBridge()),
 118                    DataStore.i,
 119                    Settings.i);
 1120                break;
 121            case HUDElementID.GRAPHIC_CARD_WARNING:
 1122                hudElement = new GraphicCardWarningHUDController();
 1123                break;
 124            case HUDElementID.BUILDER_IN_WORLD_MAIN:
 125                break;
 126            case HUDElementID.QUESTS_PANEL:
 1127                hudElement = new QuestsPanelHUDController();
 1128                break;
 129            case HUDElementID.QUESTS_TRACKER:
 1130                hudElement = new QuestsTrackerHUDController();
 1131                break;
 132            case HUDElementID.SIGNUP:
 1133                var analytics = Environment.i.platform.serviceProviders.analytics;
 1134                hudElement = new SignupHUDController(analytics);
 1135                break;
 136            case HUDElementID.BUILDER_PROJECTS_PANEL:
 137                break;
 138            case HUDElementID.LOADING:
 1139                hudElement = new LoadingHUDController();
 140                break;
 141        }
 142
 24143        return hudElement;
 144    }
 145
 146    public void Dispose()
 147    {
 665148    }
 149
 150    public void Initialize()
 151    {
 665152    }
 153}