< Summary

Class:BuilderEditorHUDController
Assembly:BuildModeHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/BuilderInWorld/HUD/BuildModeHUD/Scripts/BuilderEditorHUDController.cs
Covered lines:103
Uncovered lines:131
Coverable lines:234
Total lines:512
Line coverage:44% (103 of 234)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
Initialize(...)0%2100%
Initialize(...)0%110100%
CreateBuildModeControllers()0%110100%
CreateMainView()0%2.032080%
ConfigureSceneCatalogController()0%2100%
ConfigureEntityInformationController()0%2100%
ConfigureFirstPersonModeController()0%2100%
ConfigureShortcutsController()0%2100%
ConfigureDragAndDropSceneObjectController()0%2100%
ConfigurePublishBtnController()0%2100%
ConfigureInspectorBtnController()0%2100%
ConfigureCatalogBtnController()0%2100%
ConfigureInspectorController()0%2100%
ConfigureTopActionsButtonsController()0%2100%
ConfigureSaveHUDController()0%2100%
ConfigureQuickBarController()0%2100%
ConfigureNewProjectController()0%2100%
QuickBarCatalogItemAssigned(...)0%2100%
NameAndDescriptionOfNewProjectSet(...)0%6200%
SceneSaved()0%2100%
NewSceneForLand(...)0%110100%
CancelNewProjectDetails()0%110100%
ConfigureConfirmationModal(...)0%2100%
UnsuscribeFromEvents()0%110100%
ExitStart()0%3.143075%
CancelExitModal(...)0%2.032080%
ConfirmExitModal(...)0%3.073080%
UnsubscribeConfirmationModal()0%110100%
SetGizmosActive(...)0%2100%
SetParcelScene(...)0%110100%
SetPublishBtnAvailability(...)0%110100%
GetCatalogSectionSelected()0%2100%
ShowTooltipForCatalogItemAdapter(...)0%2100%
RefreshCatalogAssetPack()0%110100%
RefreshCatalogContent()0%110100%
StopInput()0%6200%
CatalogItemSelected(...)0%220100%
CatalogItemDropped(...)0%6200%
ToggleCatalogIfExpanded()0%2.152066.67%
SetVisibilityOfCatalog(...)0%330100%
ChangeVisibilityOfCatalog()0%110100%
ShowSceneLimitsPassed()0%6200%
UpdateSceneLimitInfo()0%110100%
ChangeVisibilityOfSceneInfo(...)0%110100%
ChangeVisibilityOfSceneInfo()0%110100%
ActivateFirstPersonModeUI()0%220100%
ActivateGodModeUI()0%220100%
EntityInformationSetEntity(...)0%110100%
ShowEntityInformation(...)0%220100%
HideEntityInformation()0%2.032080%
OnEntityInformationDisable()0%6200%
SetEntityList(...)0%2.062075%
ChangeVisibilityOfEntityList()0%440100%
ClearEntityList()0%110100%
ChangeVisibilityOfControls()0%110100%
ChangeVisibilityOfUI()0%2100%
ChangeVisibilityOfExtraBtns()0%110100%
HideExtraBtns()0%6200%
SetActionsButtonsInteractable(...)0%2100%
SetSnapModeActive(...)0%2100%
SetUndoButtonInteractable(...)0%2100%
SetRedoButtonInteractable(...)0%2100%
SetVisibility(...)0%30500%
Dispose()0%3.213071.43%
ToggleVisibility()0%2100%
IsVisible()0%6200%
CreateView()0%2100%
UpdateEntitiesSelection(...)0%2100%
SetVisibilityOfInspector(...)0%110100%

File(s)

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

#LineLine coverage
 1using DCL.Configuration;
 2using DCL.Controllers;
 3using System;
 4using System.Collections;
 5using System.Collections.Generic;
 6using System.Runtime.Remoting.Contexts;
 7using DCL;
 8using DCL.Builder;
 9using UnityEngine;
 10using UnityEngine.EventSystems;
 11
 12public class BuilderEditorHUDController : IHUD, IBuilderEditorHUDController
 13{
 14    public event Action<string, string> OnProjectNameAndDescriptionChanged;
 15    public event Action OnChangeModeAction;
 16    public event Action OnTranslateSelectedAction;
 17    public event Action OnRotateSelectedAction;
 18    public event Action OnScaleSelectedAction;
 19    public event Action OnResetAction;
 20    public event Action OnResetCameraAction;
 21    public event Action OnUndoAction;
 22    public event Action OnRedoAction;
 23    public event Action OnDuplicateSelectedAction;
 24    public event Action OnDeleteSelectedAction;
 25    public event Action OnEntityListVisible;
 26    public event Action OnStopInput;
 27    public event Action OnResumeInput;
 28    public event Action OnTutorialAction;
 29    public event Action OnPublishAction;
 30    public event Action<string, string, string> OnConfirmPublishAction;
 31    public event Action OnStartExitAction;
 32    public event Action OnLogoutAction;
 33    public event Action OnChangeSnapModeAction;
 34    public event Action<CatalogItem> OnCatalogItemSelected;
 35    public event Action<CatalogItem> OnCatalogItemDropped;
 36    public event Action<BIWEntity> OnEntityClick;
 37    public event Action<BIWEntity> OnEntityDelete;
 38    public event Action<BIWEntity> OnEntityLock;
 39    public event Action<BIWEntity> OnEntityChangeVisibility;
 40    public event Action<BIWEntity, string> OnEntityRename;
 41    public event Action<BIWEntity> OnEntitySmartItemComponentUpdate;
 42    public event Action<Vector3> OnSelectedObjectPositionChange;
 43    public event Action<Vector3> OnSelectedObjectRotationChange;
 44    public event Action<Vector3> OnSelectedObjectScaleChange;
 45    public event Action OnCatalogOpen; // Note(Adrian): This is used right now for tutorial purposes
 46
 47    internal IBuildModeHUDView view;
 48
 49    internal bool areExtraButtonsVisible = false;
 50    internal bool isControlsVisible = false;
 51    internal bool isEntityListVisible = false;
 52    internal bool isSceneLimitInfoVisibile = false;
 53    internal bool isCatalogOpen = false;
 54
 55    internal BuildModeHUDInitializationModel controllers;
 56
 57    private float timeFromLastClickOnExtraButtons = 0f;
 58    internal IContext context;
 59
 60    public void Initialize(IContext context)
 61    {
 062        this.context = context;
 063        CreateBuildModeControllers();
 064        CreateMainView();
 065        ConfigureSceneCatalogController();
 066        ConfigureEntityInformationController();
 067        ConfigureFirstPersonModeController();
 068        ConfigureShortcutsController();
 069        ConfigureDragAndDropSceneObjectController();
 070        ConfigurePublishBtnController();
 071        ConfigureInspectorBtnController();
 072        ConfigureCatalogBtnController();
 073        ConfigureInspectorController();
 074        ConfigureTopActionsButtonsController();
 075        ConfigureSaveHUDController();
 076        ConfigureQuickBarController();
 077        ConfigureNewProjectController();
 078    }
 79
 80    public void Initialize(BuildModeHUDInitializationModel controllers, IContext context)
 81    {
 3582        this.context = context;
 3583        this.controllers = controllers;
 84
 3585        CreateMainView();
 3586    }
 87
 88    internal void CreateBuildModeControllers()
 89    {
 190        controllers = new BuildModeHUDInitializationModel
 91        {
 92            tooltipController = new TooltipController(),
 93            feedbackTooltipController = new TooltipController(),
 94            sceneCatalogController = new SceneCatalogController(),
 95            quickBarController = new QuickBarController(),
 96            entityInformationController = new EntityInformationController(),
 97            firstPersonModeController = new FirstPersonModeController(),
 98            shortcutsController = new ShortcutsController(),
 99            dragAndDropSceneObjectController = new DragAndDropSceneObjectController(),
 100            publishBtnController = new PublishBtnController(),
 101            inspectorBtnController = new InspectorBtnController(),
 102            catalogBtnController = new CatalogBtnController(),
 103            inspectorController = new InspectorController(),
 104            buildModeConfirmationModalController = new BuildModeConfirmationModalController(),
 105            topActionsButtonsController = new TopActionsButtonsController(),
 106            saveHUDController = new SaveHUDController(),
 107            newProjectDetailsController = new NewLandProjectDetailController(),
 108        };
 1109    }
 110
 111    internal void CreateMainView()
 112    {
 36113        view = CreateView();
 114
 36115        if (view.viewGO != null)
 0116            view.viewGO.SetActive(false);
 117
 36118        view.Initialize(controllers);
 36119    }
 120
 121    private void ConfigureSceneCatalogController()
 122    {
 0123        controllers.sceneCatalogController.OnHideCatalogClicked += ChangeVisibilityOfCatalog;
 0124        controllers.sceneCatalogController.OnCatalogItemSelected += CatalogItemSelected;
 0125        controllers.sceneCatalogController.OnStopInput += StopInput;
 126
 0127        controllers.sceneCatalogController.OnResumeInput += () => OnResumeInput?.Invoke();
 0128        controllers.sceneCatalogController.OnPointerEnterInCatalogItemAdapter += ShowTooltipForCatalogItemAdapter;
 0129        controllers.sceneCatalogController.OnPointerExitInCatalogItemAdapter += (x, y) => controllers.tooltipController.
 0130    }
 131
 132    private void ConfigureEntityInformationController()
 133    {
 0134        controllers.entityInformationController.OnPositionChange += (x) => OnSelectedObjectPositionChange?.Invoke(x);
 0135        controllers.entityInformationController.OnRotationChange += (x) => OnSelectedObjectRotationChange?.Invoke(x);
 0136        controllers.entityInformationController.OnScaleChange += (x) => OnSelectedObjectScaleChange?.Invoke(x);
 0137        controllers.entityInformationController.OnNameChange += (entity, newName) => OnEntityRename?.Invoke(entity, newN
 0138        controllers.entityInformationController.OnSmartItemComponentUpdate += (entity) => OnEntitySmartItemComponentUpda
 0139        controllers.entityInformationController.OnDisable += OnEntityInformationDisable;
 0140    }
 141
 0142    private void ConfigureFirstPersonModeController() { controllers.firstPersonModeController.OnClick += () => OnChangeM
 143
 0144    private void ConfigureShortcutsController() { controllers.shortcutsController.OnCloseClick += ChangeVisibilityOfCont
 145
 146    private void ConfigureDragAndDropSceneObjectController()
 147    {
 0148        controllers.dragAndDropSceneObjectController.OnStopInput += StopInput;
 0149        controllers.dragAndDropSceneObjectController.OnResumeInput += () => OnResumeInput?.Invoke();
 0150        controllers.dragAndDropSceneObjectController.OnCatalogItemDropped += CatalogItemDropped;
 0151    }
 152
 0153    private void ConfigurePublishBtnController() { controllers.publishBtnController.OnClick += () => OnPublishAction?.In
 154
 0155    private void ConfigureInspectorBtnController() { controllers.inspectorBtnController.OnClick += () => ChangeVisibilit
 156
 0157    private void ConfigureCatalogBtnController() { controllers.catalogBtnController.OnClick += ChangeVisibilityOfCatalog
 158
 159    private void ConfigureInspectorController()
 160    {
 0161        controllers.inspectorController.OnEntityClick += (x) => OnEntityClick(x);
 0162        controllers.inspectorController.OnEntityDelete += (x) => OnEntityDelete(x);
 0163        controllers.inspectorController.OnEntityLock += (x) => OnEntityLock(x);
 0164        controllers.inspectorController.OnEntityChangeVisibility += (x) => OnEntityChangeVisibility(x);
 0165        controllers.inspectorController.OnEntityRename += (entity, newName) => OnEntityRename(entity, newName);
 0166        controllers.inspectorController.SetCloseButtonsAction(ChangeVisibilityOfEntityList);
 0167    }
 168
 169    private void ConfigureTopActionsButtonsController()
 170    {
 0171        controllers.topActionsButtonsController.OnChangeModeClick += () => OnChangeModeAction?.Invoke();
 0172        controllers.topActionsButtonsController.OnExtraClick += ChangeVisibilityOfExtraBtns;
 0173        controllers.topActionsButtonsController.OnTranslateClick += () => OnTranslateSelectedAction?.Invoke();
 0174        controllers.topActionsButtonsController.OnRotateClick += () => OnRotateSelectedAction?.Invoke();
 0175        controllers.topActionsButtonsController.OnScaleClick += () => OnScaleSelectedAction?.Invoke();
 0176        controllers.topActionsButtonsController.OnUndoClick += () => OnUndoAction?.Invoke();
 0177        controllers.topActionsButtonsController.OnRedoClick += () => OnRedoAction?.Invoke();
 0178        controllers.topActionsButtonsController.OnDuplicateClick += () => OnDuplicateSelectedAction?.Invoke();
 0179        controllers.topActionsButtonsController.OnDeleteClick += () => OnDeleteSelectedAction?.Invoke();
 0180        controllers.topActionsButtonsController.OnSnapModeClick += () => OnChangeSnapModeAction?.Invoke();
 0181        controllers.topActionsButtonsController.OnLogOutClick += ExitStart;
 0182        controllers.topActionsButtonsController.extraActionsController.OnControlsClick += ChangeVisibilityOfControls;
 0183        controllers.topActionsButtonsController.extraActionsController.OnHideUIClick += ChangeVisibilityOfUI;
 0184        controllers.topActionsButtonsController.extraActionsController.OnResetClick += () => OnResetAction?.Invoke();
 0185        controllers.topActionsButtonsController.extraActionsController.OnTutorialClick += () => OnTutorialAction?.Invoke
 0186        controllers.topActionsButtonsController.extraActionsController.OnResetCameraClick += () => OnResetCameraAction?.
 187
 0188        controllers.topActionsButtonsController.extraActionsController.SetResetButtonInteractable(false);
 0189    }
 190
 0191    private void ConfigureSaveHUDController() { OnLogoutAction += controllers.saveHUDController.StopAnimation; }
 192
 0193    private void ConfigureQuickBarController() { controllers.quickBarController.OnCatalogItemAssigned += QuickBarCatalog
 0194    private void ConfigureNewProjectController() { controllers.newProjectDetailsController.OnNameAndDescriptionSet += Na
 0195    private void QuickBarCatalogItemAssigned(CatalogItem item) { BIWAnalytics.QuickAccessAssigned(item, GetCatalogSectio
 196
 0197    private void NameAndDescriptionOfNewProjectSet(string name, string description) => OnProjectNameAndDescriptionChange
 198
 0199    public void SceneSaved() { controllers.saveHUDController.SceneStateSave(); }
 200
 2201    public void NewSceneForLand(IBuilderScene sceneWithSceenshot) { controllers.newProjectDetailsController.SetActive(tr
 202
 2203    internal void CancelNewProjectDetails() { controllers.newProjectDetailsController.SetActive(false); }
 204
 205    public void ConfigureConfirmationModal(string title, string subTitle, string cancelButtonText, string confirmButtonT
 206    {
 0207        controllers.buildModeConfirmationModalController.Configure(
 208            title,
 209            subTitle,
 210            cancelButtonText,
 211            confirmButtonText);
 0212    }
 213
 214    public void UnsuscribeFromEvents()
 215    {
 35216        UnsubscribeConfirmationModal();
 217
 35218        controllers.newProjectDetailsController.OnNameAndDescriptionSet -= NameAndDescriptionOfNewProjectSet;
 35219        controllers.quickBarController.OnCatalogItemAssigned -= QuickBarCatalogItemAssigned;
 35220        OnLogoutAction -= controllers.saveHUDController.StopAnimation;
 35221    }
 222
 223    public void ExitStart()
 224    {
 1225        if (controllers.buildModeConfirmationModalController.IsViewActive())
 0226            return;
 1227        UnsubscribeConfirmationModal();
 228
 1229        controllers.buildModeConfirmationModalController.OnCancelExit += CancelExitModal;
 1230        controllers.buildModeConfirmationModalController.OnConfirmExit += ConfirmExitModal;
 231
 1232        controllers.buildModeConfirmationModalController.SetActive(true, BuildModeModalType.EXIT);
 233
 1234        OnStartExitAction?.Invoke();
 0235    }
 236
 237    internal void CancelExitModal(BuildModeModalType modalType)
 238    {
 1239        if (modalType != BuildModeModalType.EXIT)
 0240            return;
 241
 1242        controllers.buildModeConfirmationModalController.SetActive(false, BuildModeModalType.EXIT);
 243
 1244        UnsubscribeConfirmationModal();
 1245    }
 246
 247    internal void ConfirmExitModal(BuildModeModalType modalType)
 248    {
 1249        if (modalType != BuildModeModalType.EXIT)
 0250            return;
 251
 1252        OnLogoutAction?.Invoke();
 253
 1254        UnsubscribeConfirmationModal();
 1255    }
 256
 257    private void UnsubscribeConfirmationModal()
 258    {
 38259        controllers.buildModeConfirmationModalController.OnCancelExit -= CancelExitModal;
 38260        controllers.buildModeConfirmationModalController.OnConfirmExit -= ConfirmExitModal;
 38261    }
 262
 0263    public void SetGizmosActive(string gizmos) { controllers.topActionsButtonsController.SetGizmosActive(gizmos); }
 2264    public void SetParcelScene(IParcelScene IParcelScene) { controllers.inspectorController.sceneLimitsController.SetPar
 265
 4266    public void SetPublishBtnAvailability(bool isAvailable, string feedbackMessage = "") { view.SetPublishBtnAvailabilit
 267
 268    #region Catalog
 269
 0270    public BuildModeCatalogSection GetCatalogSectionSelected() { return controllers.sceneCatalogController.GetCurrentSec
 271
 272    private void ShowTooltipForCatalogItemAdapter(PointerEventData data, CatalogItemAdapter adapter)
 273    {
 0274        controllers.tooltipController.SetTooltipText(adapter.GetContent().name);
 0275        controllers.tooltipController.ShowTooltip(data);
 0276    }
 277
 2278    public void RefreshCatalogAssetPack() { view.RefreshCatalogAssetPack(); }
 279
 2280    public void RefreshCatalogContent() { view.RefreshCatalogContent(); }
 281
 282    public void StopInput()
 283    {
 0284        OnStopInput?.Invoke();
 0285        ToggleCatalogIfExpanded();
 0286    }
 287
 288    public void CatalogItemSelected(CatalogItem catalogItem)
 289    {
 1290        OnCatalogItemSelected?.Invoke(catalogItem);
 1291        ToggleCatalogIfExpanded();
 1292    }
 293
 294    public void CatalogItemDropped(CatalogItem catalogItem)
 295    {
 0296        OnCatalogItemDropped?.Invoke(catalogItem);
 0297        ToggleCatalogIfExpanded();
 0298    }
 299
 300    private void ToggleCatalogIfExpanded()
 301    {
 1302        if (controllers.sceneCatalogController.IsCatalogExpanded())
 0303            controllers.sceneCatalogController.ToggleCatalogExpanse();
 1304    }
 305
 306    public void SetVisibilityOfCatalog(bool isVisible)
 307    {
 3308        isCatalogOpen = isVisible;
 3309        view.SetVisibilityOfCatalog(isCatalogOpen);
 310
 3311        if (isVisible)
 2312            OnCatalogOpen?.Invoke();
 2313    }
 314
 315    public void ChangeVisibilityOfCatalog()
 316    {
 1317        isCatalogOpen = !controllers.sceneCatalogController.IsCatalogOpen();
 1318        SetVisibilityOfCatalog(isCatalogOpen);
 1319    }
 320
 321    #endregion
 322
 323    #region SceneLimitInfo
 324
 325    public void ShowSceneLimitsPassed()
 326    {
 0327        if (!isSceneLimitInfoVisibile)
 0328            ChangeVisibilityOfSceneInfo();
 0329    }
 330
 2331    public void UpdateSceneLimitInfo() { controllers.inspectorController.sceneLimitsController.UpdateInfo(); }
 332
 333    public void ChangeVisibilityOfSceneInfo(bool shouldBeVisibile)
 334    {
 2335        isSceneLimitInfoVisibile = shouldBeVisibile;
 2336        view.SetVisibilityOfSceneInfo(isSceneLimitInfoVisibile);
 2337    }
 338
 339    public void ChangeVisibilityOfSceneInfo()
 340    {
 1341        isSceneLimitInfoVisibile = !isSceneLimitInfoVisibile;
 1342        view.SetVisibilityOfSceneInfo(isSceneLimitInfoVisibile);
 1343    }
 344
 345    #endregion
 346
 347    public void ActivateFirstPersonModeUI()
 348    {
 1349        if (view != null)
 1350            view.SetFirstPersonView();
 1351    }
 352
 353    public void ActivateGodModeUI()
 354    {
 1355        if (view != null)
 1356            view.SetGodModeView();
 1357    }
 358
 359    #region EntityInformation
 360
 2361    public void EntityInformationSetEntity(BIWEntity entity, IParcelScene scene) { controllers.entityInformationControll
 362
 363    public void ShowEntityInformation(bool activateTransparencyMode = false)
 364    {
 2365        controllers.entityInformationController.Enable();
 2366        controllers.entityInformationController.SetTransparencyMode(activateTransparencyMode);
 2367        controllers.sceneCatalogController.CloseCatalog();
 2368        controllers.tooltipController.HideTooltip();
 369
 2370        if (activateTransparencyMode)
 1371            controllers.catalogBtnController.SetActive(false);
 2372    }
 373
 374    public void HideEntityInformation()
 375    {
 1376        controllers.entityInformationController.Disable();
 1377        controllers.catalogBtnController.SetActive(true);
 378
 1379        if (isCatalogOpen)
 0380            controllers.sceneCatalogController.SetActive(true);
 1381    }
 382
 383    private void OnEntityInformationDisable()
 384    {
 0385        if (isCatalogOpen)
 0386            controllers.sceneCatalogController.SetActive(true);
 0387    }
 388
 389    #endregion
 390
 391    public void SetEntityList(List<BIWEntity> entityList)
 392    {
 1393        controllers.inspectorController.SetEntityList(entityList);
 394
 1395        if (view.entityInformation != null)
 0396            view.entityInformation.smartItemListView.SetEntityList(entityList);
 1397    }
 398
 399    public void ChangeVisibilityOfEntityList()
 400    {
 2401        isEntityListVisible = !isEntityListVisible;
 2402        controllers.saveHUDController?.SetSaveViewByEntityListOpen(isEntityListVisible);
 2403        if (isEntityListVisible)
 404        {
 1405            OnEntityListVisible?.Invoke();
 1406            controllers.inspectorController.OpenEntityList();
 1407        }
 408        else
 409        {
 1410            controllers.inspectorController.CloseList();
 411        }
 1412    }
 413
 2414    public void ClearEntityList() { controllers.inspectorController.ClearList(); }
 415
 416    public void ChangeVisibilityOfControls()
 417    {
 1418        isControlsVisible = !isControlsVisible;
 1419        view.SetVisibilityOfControls(isControlsVisible);
 1420    }
 421
 422    public void ChangeVisibilityOfUI()
 423    {
 0424        DataStore.i.builderInWorld.showTaskBar.Set(!IsVisible());
 0425        SetVisibility(!IsVisible());
 0426    }
 427
 428    #region TopButtons
 429
 430    public void ChangeVisibilityOfExtraBtns()
 431    {
 1432        areExtraButtonsVisible = !areExtraButtonsVisible;
 1433        view.SetVisibilityOfExtraBtns(areExtraButtonsVisible);
 1434        timeFromLastClickOnExtraButtons = Time.realtimeSinceStartup;
 1435    }
 436
 437    public void HideExtraBtns()
 438    {
 0439        if ((Time.realtimeSinceStartup - timeFromLastClickOnExtraButtons) <= 0.1f)
 0440            return;
 441
 0442        areExtraButtonsVisible = false;
 0443        controllers.topActionsButtonsController.extraActionsController.SetActive(areExtraButtonsVisible);
 0444    }
 445
 0446    public void SetActionsButtonsInteractable(bool isInteractable) { controllers.topActionsButtonsController.SetActionsI
 447
 0448    public void SetSnapModeActive(bool isActive) { controllers.topActionsButtonsController.SetSnapActive(isActive); }
 449
 0450    public void SetUndoButtonInteractable(bool isInteractable) { controllers.topActionsButtonsController.SetUndoInteract
 0451    public void SetRedoButtonInteractable(bool isInteractable) { controllers.topActionsButtonsController.SetRedoInteract
 452
 453    #endregion
 454
 455    public void SetVisibility(bool visible)
 456    {
 0457        if (view == null)
 0458            return;
 459
 0460        if (IsVisible() && !visible)
 461        {
 0462            view.AnimatorShow(false);
 0463            AudioScriptableObjects.fadeOut.Play(true);
 0464        }
 0465        else if (!IsVisible() && visible)
 466        {
 0467            view.SetActive(true);
 0468            view.AnimatorShow(true);
 0469            AudioScriptableObjects.fadeIn.Play(true);
 470        }
 0471    }
 472
 473    public void Dispose()
 474    {
 35475        UnsuscribeFromEvents();
 35476        controllers.Dispose();
 477
 35478        if (view == null)
 0479            return;
 35480        else if (view.viewGO != null)
 0481            UnityEngine.Object.Destroy(view.viewGO);
 35482    }
 483
 0484    public void ToggleVisibility() { SetVisibility(!IsVisible()); }
 485
 486    public bool IsVisible()
 487    {
 0488        if (view == null)
 0489            return false;
 490
 0491        return view.isShowHideAnimatorVisible;
 492    }
 493
 0494    internal virtual IBuildModeHUDView CreateView() => BuildModeHUDView.Create();
 495
 496    public void UpdateEntitiesSelection(int numberOfSelectedEntities)
 497    {
 0498        controllers.entityInformationController.UpdateEntitiesSelection(numberOfSelectedEntities);
 0499        controllers.topActionsButtonsController.extraActionsController.SetResetButtonInteractable(numberOfSelectedEntiti
 0500    }
 501
 502    #region Inspector
 503
 504    public void SetVisibilityOfInspector(bool isVisible)
 505    {
 2506        isEntityListVisible = isVisible;
 2507        view.SetVisibilityOfInspector(isVisible);
 2508    }
 509
 510    #endregion
 511
 512}

Methods/Properties

Initialize(DCL.Builder.IContext)
Initialize(BuildModeHUDInitializationModel, DCL.Builder.IContext)
CreateBuildModeControllers()
CreateMainView()
ConfigureSceneCatalogController()
ConfigureEntityInformationController()
ConfigureFirstPersonModeController()
ConfigureShortcutsController()
ConfigureDragAndDropSceneObjectController()
ConfigurePublishBtnController()
ConfigureInspectorBtnController()
ConfigureCatalogBtnController()
ConfigureInspectorController()
ConfigureTopActionsButtonsController()
ConfigureSaveHUDController()
ConfigureQuickBarController()
ConfigureNewProjectController()
QuickBarCatalogItemAssigned(CatalogItem)
NameAndDescriptionOfNewProjectSet(System.String, System.String)
SceneSaved()
NewSceneForLand(DCL.Builder.IBuilderScene)
CancelNewProjectDetails()
ConfigureConfirmationModal(System.String, System.String, System.String, System.String)
UnsuscribeFromEvents()
ExitStart()
CancelExitModal(BuildModeModalType)
ConfirmExitModal(BuildModeModalType)
UnsubscribeConfirmationModal()
SetGizmosActive(System.String)
SetParcelScene(DCL.Controllers.IParcelScene)
SetPublishBtnAvailability(System.Boolean, System.String)
GetCatalogSectionSelected()
ShowTooltipForCatalogItemAdapter(UnityEngine.EventSystems.PointerEventData, CatalogItemAdapter)
RefreshCatalogAssetPack()
RefreshCatalogContent()
StopInput()
CatalogItemSelected(CatalogItem)
CatalogItemDropped(CatalogItem)
ToggleCatalogIfExpanded()
SetVisibilityOfCatalog(System.Boolean)
ChangeVisibilityOfCatalog()
ShowSceneLimitsPassed()
UpdateSceneLimitInfo()
ChangeVisibilityOfSceneInfo(System.Boolean)
ChangeVisibilityOfSceneInfo()
ActivateFirstPersonModeUI()
ActivateGodModeUI()
EntityInformationSetEntity(BIWEntity, DCL.Controllers.IParcelScene)
ShowEntityInformation(System.Boolean)
HideEntityInformation()
OnEntityInformationDisable()
SetEntityList(System.Collections.Generic.List[BIWEntity])
ChangeVisibilityOfEntityList()
ClearEntityList()
ChangeVisibilityOfControls()
ChangeVisibilityOfUI()
ChangeVisibilityOfExtraBtns()
HideExtraBtns()
SetActionsButtonsInteractable(System.Boolean)
SetSnapModeActive(System.Boolean)
SetUndoButtonInteractable(System.Boolean)
SetRedoButtonInteractable(System.Boolean)
SetVisibility(System.Boolean)
Dispose()
ToggleVisibility()
IsVisible()
CreateView()
UpdateEntitiesSelection(System.Int32)
SetVisibilityOfInspector(System.Boolean)