< Summary

Class:DCL.Builder.NewLandProjectDetailController
Assembly:BuildModeHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/BuilderInWorld/HUD/BuildModeHUD/Scripts/Common/NewLandProjectDetailController.cs
Covered lines:2
Uncovered lines:14
Coverable lines:16
Total lines:73
Line coverage:12.5% (2 of 16)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Initialize(...)0%2100%
Dispose()0%2.52050%
CreateProject(...)0%6200%
SetActive(...)0%2100%
ValidatePublicationInfo(...)0%2100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/BuilderInWorld/HUD/BuildModeHUD/Scripts/Common/NewLandProjectDetailController.cs

#LineLine coverage
 1using System;
 2using System.Collections;
 3using System.Collections.Generic;
 4using UnityEngine;
 5
 6namespace DCL.Builder
 7{
 8    public interface INewProjectDetailController
 9    {
 10        /// <summary>
 11        /// Fired when the title and the description has been set
 12        /// </summary>
 13        event Action<string, string> OnNameAndDescriptionSet;
 14
 15        /// <summary>
 16        /// Set the view active
 17        /// </summary>
 18        /// <param name="isActive"></param>
 19        void SetActive(bool isActive);
 20
 21        /// <summary>
 22        /// Inits the view
 23        /// </summary>
 24        /// <param name="view"></param>
 25        void Initialize(INewProjectDetailView view);
 26
 27        /// <summary>
 28        /// Dispose the controller
 29        /// </summary>
 30        void Dispose();
 31    }
 32
 33    public class NewLandProjectDetailController : INewProjectDetailController
 34    {
 35        public event Action<string, string> OnNameAndDescriptionSet;
 36
 37        private INewProjectDetailView view;
 38        internal bool isValidated = false;
 39
 40        public void Initialize(INewProjectDetailView view)
 41        {
 042            this.view = view;
 043            view.OnCreatePressed += CreateProject;
 044            view.OnSceneNameChange += ValidatePublicationInfo;
 045        }
 46
 47        public void Dispose()
 48        {
 149            if (view != null)
 50            {
 051                view.OnCreatePressed -= CreateProject;
 052                view.OnSceneNameChange -= ValidatePublicationInfo;
 53            }
 154        }
 55
 56        private void CreateProject(string sceneName, string sceneDescription)
 57        {
 058            OnNameAndDescriptionSet?.Invoke(sceneName, sceneDescription);
 059        }
 60
 61        public void SetActive(bool isActive)
 62        {
 063            view.SetActive(isActive);
 064        }
 65
 66        public void ValidatePublicationInfo(string sceneName)
 67        {
 068            isValidated = sceneName.Length > 0;
 069            view.SetSceneNameValidationActive(!isValidated);
 070            view.SetCreateProjectButtonActive(isValidated);
 071        }
 72    }
 73}