< Summary

Class:SignupHUD.SignupHUDController
Assembly:SignupHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/HUD/SignupHUD/SignupHUDController.cs
Covered lines:44
Uncovered lines:9
Coverable lines:53
Total lines:104
Line coverage:83% (44 of 53)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
CreateView()0%110100%
SignupHUDController()0%2100%
SignupHUDController(...)0%2100%
Initialize(...)0%22091.67%
OnLoadingScreenAppear(...)0%2.152066.67%
OnSignupVisibleChanged(...)0%110100%
StartSignupProcess()0%220100%
OnNameScreenNext(...)0%220100%
OnEditAvatar()0%220100%
OnTermsOfServiceAgreed()0%2.062075%
OnTermsOfServiceBack()0%110100%
SetVisibility(...)0%330100%
Dispose()0%22090%

File(s)

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

#LineLine coverage
 1using DCL;
 2using DCL.Interface;
 3
 4namespace SignupHUD
 5{
 6    public class SignupHUDController : IHUD
 7    {
 8        internal ISignupHUDView view;
 9
 10        internal string name;
 11        internal string email;
 2112        internal BaseVariable<bool> signupVisible => DataStore.i.HUDs.signupVisible;
 13        internal IHUD avatarEditorHUD;
 14        private readonly NewUserExperienceAnalytics newUserExperienceAnalytics;
 15
 116        internal virtual ISignupHUDView CreateView() => SignupHUDView.CreateView();
 17
 018        public SignupHUDController()
 19        {
 20
 021        }
 22
 023        public SignupHUDController(IAnalytics analytics)
 24        {
 025            newUserExperienceAnalytics = new NewUserExperienceAnalytics(analytics);
 026        }
 27
 28        public void Initialize(IHUD avatarEditorHUD)
 29        {
 930            view = CreateView();
 31
 932            if (view == null)
 033                return;
 34
 935            this.avatarEditorHUD = avatarEditorHUD;
 36
 937            signupVisible.OnChange += OnSignupVisibleChanged;
 938            signupVisible.Set(false);
 39
 940            view.OnNameScreenNext += OnNameScreenNext;
 941            view.OnEditAvatar += OnEditAvatar;
 942            view.OnTermsOfServiceAgreed += OnTermsOfServiceAgreed;
 943            view.OnTermsOfServiceBack += OnTermsOfServiceBack;
 44
 945            CommonScriptableObjects.isLoadingHUDOpen.OnChange += OnLoadingScreenAppear;
 946        }
 47        private void OnLoadingScreenAppear(bool current, bool previous)
 48        {
 149            if(signupVisible.Get() && current)
 050                signupVisible.Set(false);
 151        }
 52
 453        private void OnSignupVisibleChanged(bool current, bool previous) { SetVisibility(current); }
 54
 55        internal void StartSignupProcess()
 56        {
 457            name = null;
 458            email = null;
 459            view?.ShowNameScreen();
 460        }
 61
 62        internal void OnNameScreenNext(string newName, string newEmail)
 63        {
 164            name = newName;
 165            email = newEmail;
 166            view?.ShowTermsOfServiceScreen();
 167        }
 68
 69        internal void OnEditAvatar()
 70        {
 171            signupVisible.Set(false);
 172            avatarEditorHUD?.SetVisibility(true);
 173        }
 74
 75        internal void OnTermsOfServiceAgreed()
 76        {
 177            WebInterface.SendPassport(name, email);
 178            DataStore.i.common.isSignUpFlow.Set(false);
 179            newUserExperienceAnalytics?.SendTermsOfServiceAcceptedNux();
 080        }
 81
 282        internal void OnTermsOfServiceBack() { StartSignupProcess(); }
 83
 84        public void SetVisibility(bool visible)
 85        {
 386            view?.SetVisibility(visible);
 387            if (visible)
 288                StartSignupProcess();
 389        }
 90
 91        public void Dispose()
 92        {
 193            signupVisible.OnChange -= OnSignupVisibleChanged;
 194            if (view == null)
 095                return;
 196            view.OnNameScreenNext -= OnNameScreenNext;
 197            view.OnEditAvatar -= OnEditAvatar;
 198            view.OnTermsOfServiceAgreed -= OnTermsOfServiceAgreed;
 199            view.OnTermsOfServiceBack -= OnTermsOfServiceBack;
 1100            CommonScriptableObjects.isFullscreenHUDOpen.OnChange -= OnLoadingScreenAppear;
 1101            view.Dispose();
 1102        }
 103    }
 104}