< Summary

Class:BuilderEditorHUDController
Assembly:BuildModeHUD
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/DCLPlugins/BuilderInWorld/HUD/BuildModeHUD/Scripts/BuilderEditorHUDController.cs
Covered lines:102
Uncovered lines:130
Coverable lines:232
Total lines:509
Line coverage:43.9% (102 of 232)
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.Controllers;
 2using System;
 3using System.Collections.Generic;
 4using DCL;
 5using DCL.Builder;
 6using UnityEngine;
 7using UnityEngine.EventSystems;
 8
 9public class BuilderEditorHUDController : IHUD, IBuilderEditorHUDController
 10{
 11    public event Action<string, string> OnProjectNameAndDescriptionChanged;
 12    public event Action OnChangeModeAction;
 13    public event Action OnTranslateSelectedAction;
 14    public event Action OnRotateSelectedAction;
 15    public event Action OnScaleSelectedAction;
 16    public event Action OnResetAction;
 17    public event Action OnResetCameraAction;
 18    public event Action OnUndoAction;
 19    public event Action OnRedoAction;
 20    public event Action OnDuplicateSelectedAction;
 21    public event Action OnDeleteSelectedAction;
 22    public event Action OnEntityListVisible;
 23    public event Action OnStopInput;
 24    public event Action OnResumeInput;
 25    public event Action OnTutorialAction;
 26    public event Action OnPublishAction;
 27    public event Action<string, string, string> OnConfirmPublishAction;
 28    public event Action OnStartExitAction;
 29    public event Action OnLogoutAction;
 30    public event Action OnChangeSnapModeAction;
 31    public event Action<CatalogItem> OnCatalogItemSelected;
 32    public event Action<CatalogItem> OnCatalogItemDropped;
 33    public event Action<BIWEntity> OnEntityClick;
 34    public event Action<BIWEntity> OnEntityDelete;
 35    public event Action<BIWEntity> OnEntityLock;
 36    public event Action<BIWEntity> OnEntityChangeVisibility;
 37    public event Action<BIWEntity, string> OnEntityRename;
 38    public event Action<BIWEntity> OnEntitySmartItemComponentUpdate;
 39    public event Action<Vector3> OnSelectedObjectPositionChange;
 40    public event Action<Vector3> OnSelectedObjectRotationChange;
 41    public event Action<Vector3> OnSelectedObjectScaleChange;
 42    public event Action OnCatalogOpen; // Note(Adrian): This is used right now for tutorial purposes
 43
 44    internal IBuildModeHUDView view;
 45
 46    internal bool areExtraButtonsVisible = false;
 47    internal bool isControlsVisible = false;
 48    internal bool isEntityListVisible = false;
 49    internal bool isSceneLimitInfoVisibile = false;
 50    internal bool isCatalogOpen = false;
 51
 52    internal BuildModeHUDInitializationModel controllers;
 53
 54    private float timeFromLastClickOnExtraButtons = 0f;
 55    internal IContext context;
 56
 57    public void Initialize(IContext context)
 58    {
 059        this.context = context;
 060        CreateBuildModeControllers();
 061        CreateMainView();
 062        ConfigureSceneCatalogController();
 063        ConfigureEntityInformationController();
 064        ConfigureFirstPersonModeController();
 065        ConfigureShortcutsController();
 066        ConfigureDragAndDropSceneObjectController();
 067        ConfigurePublishBtnController();
 068        ConfigureInspectorBtnController();
 069        ConfigureCatalogBtnController();
 070        ConfigureInspectorController();
 071        ConfigureTopActionsButtonsController();
 072        ConfigureSaveHUDController();
 073        ConfigureQuickBarController();
 074        ConfigureNewProjectController();
 075    }
 76
 77    public void Initialize(BuildModeHUDInitializationModel controllers, IContext context)
 78    {
 3579        this.context = context;
 3580        this.controllers = controllers;
 81
 3582        CreateMainView();
 3583    }
 84
 85    internal void CreateBuildModeControllers()
 86    {
 187        controllers = new BuildModeHUDInitializationModel
 88        {
 89            tooltipController = new TooltipController(),
 90            feedbackTooltipController = new TooltipController(),
 91            sceneCatalogController = new SceneCatalogController(),
 92            quickBarController = new QuickBarController(),
 93            entityInformationController = new EntityInformationController(),
 94            firstPersonModeController = new FirstPersonModeController(),
 95            shortcutsController = new ShortcutsController(),
 96            dragAndDropSceneObjectController = new DragAndDropSceneObjectController(),
 97            publishBtnController = new PublishBtnController(),
 98            inspectorBtnController = new InspectorBtnController(),
 99            catalogBtnController = new CatalogBtnController(),
 100            inspectorController = new InspectorController(),
 101            buildModeConfirmationModalController = new BuildModeConfirmationModalController(),
 102            topActionsButtonsController = new TopActionsButtonsController(),
 103            saveHUDController = new SaveHUDController(),
 104            newProjectDetailsController = new NewLandProjectDetailController(),
 105        };
 1106    }
 107
 108    internal void CreateMainView()
 109    {
 36110        view = CreateView();
 111
 36112        if (view.viewGO != null)
 0113            view.viewGO.SetActive(false);
 114
 36115        view.Initialize(controllers);
 36116    }
 117
 118    private void ConfigureSceneCatalogController()
 119    {
 0120        controllers.sceneCatalogController.OnHideCatalogClicked += ChangeVisibilityOfCatalog;
 0121        controllers.sceneCatalogController.OnCatalogItemSelected += CatalogItemSelected;
 0122        controllers.sceneCatalogController.OnStopInput += StopInput;
 123
 0124        controllers.sceneCatalogController.OnResumeInput += () => OnResumeInput?.Invoke();
 0125        controllers.sceneCatalogController.OnPointerEnterInCatalogItemAdapter += ShowTooltipForCatalogItemAdapter;
 0126        controllers.sceneCatalogController.OnPointerExitInCatalogItemAdapter += (x, y) => controllers.tooltipController.
 0127    }
 128
 129    private void ConfigureEntityInformationController()
 130    {
 0131        controllers.entityInformationController.OnPositionChange += (x) => OnSelectedObjectPositionChange?.Invoke(x);
 0132        controllers.entityInformationController.OnRotationChange += (x) => OnSelectedObjectRotationChange?.Invoke(x);
 0133        controllers.entityInformationController.OnScaleChange += (x) => OnSelectedObjectScaleChange?.Invoke(x);
 0134        controllers.entityInformationController.OnNameChange += (entity, newName) => OnEntityRename?.Invoke(entity, newN
 0135        controllers.entityInformationController.OnSmartItemComponentUpdate += (entity) => OnEntitySmartItemComponentUpda
 0136        controllers.entityInformationController.OnDisable += OnEntityInformationDisable;
 0137    }
 138
 0139    private void ConfigureFirstPersonModeController() { controllers.firstPersonModeController.OnClick += () => OnChangeM
 140
 0141    private void ConfigureShortcutsController() { controllers.shortcutsController.OnCloseClick += ChangeVisibilityOfCont
 142
 143    private void ConfigureDragAndDropSceneObjectController()
 144    {
 0145        controllers.dragAndDropSceneObjectController.OnStopInput += StopInput;
 0146        controllers.dragAndDropSceneObjectController.OnResumeInput += () => OnResumeInput?.Invoke();
 0147        controllers.dragAndDropSceneObjectController.OnCatalogItemDropped += CatalogItemDropped;
 0148    }
 149
 0150    private void ConfigurePublishBtnController() { controllers.publishBtnController.OnClick += () => OnPublishAction?.In
 151
 0152    private void ConfigureInspectorBtnController() { controllers.inspectorBtnController.OnClick += () => ChangeVisibilit
 153
 0154    private void ConfigureCatalogBtnController() { controllers.catalogBtnController.OnClick += ChangeVisibilityOfCatalog
 155
 156    private void ConfigureInspectorController()
 157    {
 0158        controllers.inspectorController.OnEntityClick += (x) => OnEntityClick(x);
 0159        controllers.inspectorController.OnEntityDelete += (x) => OnEntityDelete(x);
 0160        controllers.inspectorController.OnEntityLock += (x) => OnEntityLock(x);
 0161        controllers.inspectorController.OnEntityChangeVisibility += (x) => OnEntityChangeVisibility(x);
 0162        controllers.inspectorController.OnEntityRename += (entity, newName) => OnEntityRename(entity, newName);
 0163        controllers.inspectorController.SetCloseButtonsAction(ChangeVisibilityOfEntityList);
 0164    }
 165
 166    private void ConfigureTopActionsButtonsController()
 167    {
 0168        controllers.topActionsButtonsController.OnChangeModeClick += () => OnChangeModeAction?.Invoke();
 0169        controllers.topActionsButtonsController.OnExtraClick += ChangeVisibilityOfExtraBtns;
 0170        controllers.topActionsButtonsController.OnTranslateClick += () => OnTranslateSelectedAction?.Invoke();
 0171        controllers.topActionsButtonsController.OnRotateClick += () => OnRotateSelectedAction?.Invoke();
 0172        controllers.topActionsButtonsController.OnScaleClick += () => OnScaleSelectedAction?.Invoke();
 0173        controllers.topActionsButtonsController.OnUndoClick += () => OnUndoAction?.Invoke();
 0174        controllers.topActionsButtonsController.OnRedoClick += () => OnRedoAction?.Invoke();
 0175        controllers.topActionsButtonsController.OnDuplicateClick += () => OnDuplicateSelectedAction?.Invoke();
 0176        controllers.topActionsButtonsController.OnDeleteClick += () => OnDeleteSelectedAction?.Invoke();
 0177        controllers.topActionsButtonsController.OnSnapModeClick += () => OnChangeSnapModeAction?.Invoke();
 0178        controllers.topActionsButtonsController.OnLogOutClick += ExitStart;
 0179        controllers.topActionsButtonsController.extraActionsController.OnControlsClick += ChangeVisibilityOfControls;
 0180        controllers.topActionsButtonsController.extraActionsController.OnHideUIClick += ChangeVisibilityOfUI;
 0181        controllers.topActionsButtonsController.extraActionsController.OnResetClick += () => OnResetAction?.Invoke();
 0182        controllers.topActionsButtonsController.extraActionsController.OnTutorialClick += () => OnTutorialAction?.Invoke
 0183        controllers.topActionsButtonsController.extraActionsController.OnResetCameraClick += () => OnResetCameraAction?.
 184
 0185        controllers.topActionsButtonsController.extraActionsController.SetResetButtonInteractable(false);
 0186    }
 187
 0188    private void ConfigureSaveHUDController() { OnLogoutAction += controllers.saveHUDController.StopAnimation; }
 189
 0190    private void ConfigureQuickBarController() { controllers.quickBarController.OnCatalogItemAssigned += QuickBarCatalog
 0191    private void ConfigureNewProjectController() { controllers.newProjectDetailsController.OnNameAndDescriptionSet += Na
 0192    private void QuickBarCatalogItemAssigned(CatalogItem item) { BIWAnalytics.QuickAccessAssigned(item, GetCatalogSectio
 193
 0194    private void NameAndDescriptionOfNewProjectSet(string name, string description) => OnProjectNameAndDescriptionChange
 195
 0196    public void SceneSaved() { controllers.saveHUDController.SceneStateSave(); }
 197
 2198    public void NewSceneForLand(IBuilderScene sceneWithSceenshot) { controllers.newProjectDetailsController.SetActive(tr
 199
 2200    internal void CancelNewProjectDetails() { controllers.newProjectDetailsController.SetActive(false); }
 201
 202    public void ConfigureConfirmationModal(string title, string subTitle, string cancelButtonText, string confirmButtonT
 203    {
 0204        controllers.buildModeConfirmationModalController.Configure(
 205            title,
 206            subTitle,
 207            cancelButtonText,
 208            confirmButtonText);
 0209    }
 210
 211    public void UnsuscribeFromEvents()
 212    {
 35213        UnsubscribeConfirmationModal();
 214
 35215        controllers.newProjectDetailsController.OnNameAndDescriptionSet -= NameAndDescriptionOfNewProjectSet;
 35216        controllers.quickBarController.OnCatalogItemAssigned -= QuickBarCatalogItemAssigned;
 35217        OnLogoutAction -= controllers.saveHUDController.StopAnimation;
 35218    }
 219
 220    public void ExitStart()
 221    {
 1222        if (controllers.buildModeConfirmationModalController.IsViewActive())
 0223            return;
 1224        UnsubscribeConfirmationModal();
 225
 1226        controllers.buildModeConfirmationModalController.OnCancelExit += CancelExitModal;
 1227        controllers.buildModeConfirmationModalController.OnConfirmExit += ConfirmExitModal;
 228
 1229        controllers.buildModeConfirmationModalController.SetActive(true, BuildModeModalType.EXIT);
 230
 1231        OnStartExitAction?.Invoke();
 0232    }
 233
 234    internal void CancelExitModal(BuildModeModalType modalType)
 235    {
 1236        if (modalType != BuildModeModalType.EXIT)
 0237            return;
 238
 1239        controllers.buildModeConfirmationModalController.SetActive(false, BuildModeModalType.EXIT);
 240
 1241        UnsubscribeConfirmationModal();
 1242    }
 243
 244    internal void ConfirmExitModal(BuildModeModalType modalType)
 245    {
 1246        if (modalType != BuildModeModalType.EXIT)
 0247            return;
 248
 1249        OnLogoutAction?.Invoke();
 250
 1251        UnsubscribeConfirmationModal();
 1252    }
 253
 254    private void UnsubscribeConfirmationModal()
 255    {
 38256        controllers.buildModeConfirmationModalController.OnCancelExit -= CancelExitModal;
 38257        controllers.buildModeConfirmationModalController.OnConfirmExit -= ConfirmExitModal;
 38258    }
 259
 0260    public void SetGizmosActive(string gizmos) { controllers.topActionsButtonsController.SetGizmosActive(gizmos); }
 2261    public void SetParcelScene(IParcelScene IParcelScene) { controllers.inspectorController.sceneLimitsController.SetPar
 262
 4263    public void SetPublishBtnAvailability(bool isAvailable, string feedbackMessage = "") { view.SetPublishBtnAvailabilit
 264
 265    #region Catalog
 266
 0267    public BuildModeCatalogSection GetCatalogSectionSelected() { return controllers.sceneCatalogController.GetCurrentSec
 268
 269    private void ShowTooltipForCatalogItemAdapter(PointerEventData data, CatalogItemAdapter adapter)
 270    {
 0271        controllers.tooltipController.SetTooltipText(adapter.GetContent().name);
 0272        controllers.tooltipController.ShowTooltip(data);
 0273    }
 274
 2275    public void RefreshCatalogAssetPack() { view.RefreshCatalogAssetPack(); }
 276
 2277    public void RefreshCatalogContent() { view.RefreshCatalogContent(); }
 278
 279    public void StopInput()
 280    {
 0281        OnStopInput?.Invoke();
 0282        ToggleCatalogIfExpanded();
 0283    }
 284
 285    public void CatalogItemSelected(CatalogItem catalogItem)
 286    {
 1287        OnCatalogItemSelected?.Invoke(catalogItem);
 1288        ToggleCatalogIfExpanded();
 1289    }
 290
 291    public void CatalogItemDropped(CatalogItem catalogItem)
 292    {
 0293        OnCatalogItemDropped?.Invoke(catalogItem);
 0294        ToggleCatalogIfExpanded();
 0295    }
 296
 297    private void ToggleCatalogIfExpanded()
 298    {
 1299        if (controllers.sceneCatalogController.IsCatalogExpanded())
 0300            controllers.sceneCatalogController.ToggleCatalogExpanse();
 1301    }
 302
 303    public void SetVisibilityOfCatalog(bool isVisible)
 304    {
 3305        isCatalogOpen = isVisible;
 3306        view.SetVisibilityOfCatalog(isCatalogOpen);
 307
 3308        if (isVisible)
 2309            OnCatalogOpen?.Invoke();
 2310    }
 311
 312    public void ChangeVisibilityOfCatalog()
 313    {
 1314        isCatalogOpen = !controllers.sceneCatalogController.IsCatalogOpen();
 1315        SetVisibilityOfCatalog(isCatalogOpen);
 1316    }
 317
 318    #endregion
 319
 320    #region SceneLimitInfo
 321
 322    public void ShowSceneLimitsPassed()
 323    {
 0324        if (!isSceneLimitInfoVisibile)
 0325            ChangeVisibilityOfSceneInfo();
 0326    }
 327
 2328    public void UpdateSceneLimitInfo() { controllers.inspectorController.sceneLimitsController.UpdateInfo(); }
 329
 330    public void ChangeVisibilityOfSceneInfo(bool shouldBeVisibile)
 331    {
 2332        isSceneLimitInfoVisibile = shouldBeVisibile;
 2333        view.SetVisibilityOfSceneInfo(isSceneLimitInfoVisibile);
 2334    }
 335
 336    public void ChangeVisibilityOfSceneInfo()
 337    {
 1338        isSceneLimitInfoVisibile = !isSceneLimitInfoVisibile;
 1339        view.SetVisibilityOfSceneInfo(isSceneLimitInfoVisibile);
 1340    }
 341
 342    #endregion
 343
 344    public void ActivateFirstPersonModeUI()
 345    {
 1346        if (view != null)
 1347            view.SetFirstPersonView();
 1348    }
 349
 350    public void ActivateGodModeUI()
 351    {
 1352        if (view != null)
 1353            view.SetGodModeView();
 1354    }
 355
 356    #region EntityInformation
 357
 2358    public void EntityInformationSetEntity(BIWEntity entity, IParcelScene scene) { controllers.entityInformationControll
 359
 360    public void ShowEntityInformation(bool activateTransparencyMode = false)
 361    {
 2362        controllers.entityInformationController.Enable();
 2363        controllers.entityInformationController.SetTransparencyMode(activateTransparencyMode);
 2364        controllers.sceneCatalogController.CloseCatalog();
 2365        controllers.tooltipController.HideTooltip();
 366
 2367        if (activateTransparencyMode)
 1368            controllers.catalogBtnController.SetActive(false);
 2369    }
 370
 371    public void HideEntityInformation()
 372    {
 1373        controllers.entityInformationController.Disable();
 1374        controllers.catalogBtnController.SetActive(true);
 375
 1376        if (isCatalogOpen)
 0377            controllers.sceneCatalogController.SetActive(true);
 1378    }
 379
 380    private void OnEntityInformationDisable()
 381    {
 0382        if (isCatalogOpen)
 0383            controllers.sceneCatalogController.SetActive(true);
 0384    }
 385
 386    #endregion
 387
 388    public void SetEntityList(List<BIWEntity> entityList)
 389    {
 1390        controllers.inspectorController.SetEntityList(entityList);
 391
 1392        if (view.entityInformation != null)
 0393            view.entityInformation.smartItemListView.SetEntityList(entityList);
 1394    }
 395
 396    public void ChangeVisibilityOfEntityList()
 397    {
 2398        isEntityListVisible = !isEntityListVisible;
 2399        controllers.saveHUDController?.SetSaveViewByEntityListOpen(isEntityListVisible);
 2400        if (isEntityListVisible)
 401        {
 1402            OnEntityListVisible?.Invoke();
 1403            controllers.inspectorController.OpenEntityList();
 404        }
 405        else
 406        {
 1407            controllers.inspectorController.CloseList();
 408        }
 1409    }
 410
 2411    public void ClearEntityList() { controllers.inspectorController.ClearList(); }
 412
 413    public void ChangeVisibilityOfControls()
 414    {
 1415        isControlsVisible = !isControlsVisible;
 1416        view.SetVisibilityOfControls(isControlsVisible);
 1417    }
 418
 419    public void ChangeVisibilityOfUI()
 420    {
 0421        DataStore.i.builderInWorld.showTaskBar.Set(!IsVisible());
 0422        SetVisibility(!IsVisible());
 0423    }
 424
 425    #region TopButtons
 426
 427    public void ChangeVisibilityOfExtraBtns()
 428    {
 1429        areExtraButtonsVisible = !areExtraButtonsVisible;
 1430        view.SetVisibilityOfExtraBtns(areExtraButtonsVisible);
 1431        timeFromLastClickOnExtraButtons = Time.realtimeSinceStartup;
 1432    }
 433
 434    public void HideExtraBtns()
 435    {
 0436        if ((Time.realtimeSinceStartup - timeFromLastClickOnExtraButtons) <= 0.1f)
 0437            return;
 438
 0439        areExtraButtonsVisible = false;
 0440        controllers.topActionsButtonsController.extraActionsController.SetActive(areExtraButtonsVisible);
 0441    }
 442
 0443    public void SetActionsButtonsInteractable(bool isInteractable) { controllers.topActionsButtonsController.SetActionsI
 444
 0445    public void SetSnapModeActive(bool isActive) { controllers.topActionsButtonsController.SetSnapActive(isActive); }
 446
 0447    public void SetUndoButtonInteractable(bool isInteractable) { controllers.topActionsButtonsController.SetUndoInteract
 0448    public void SetRedoButtonInteractable(bool isInteractable) { controllers.topActionsButtonsController.SetRedoInteract
 449
 450    #endregion
 451
 452    public void SetVisibility(bool visible)
 453    {
 0454        if (view == null)
 0455            return;
 456
 0457        if (IsVisible() && !visible)
 458        {
 0459            view.AnimatorShow(false);
 0460            AudioScriptableObjects.fadeOut.Play(true);
 461        }
 0462        else if (!IsVisible() && visible)
 463        {
 0464            view.SetActive(true);
 0465            view.AnimatorShow(true);
 0466            AudioScriptableObjects.fadeIn.Play(true);
 467        }
 0468    }
 469
 470    public void Dispose()
 471    {
 35472        UnsuscribeFromEvents();
 35473        controllers.Dispose();
 474
 35475        if (view == null)
 0476            return;
 35477        else if (view.viewGO != null)
 0478            UnityEngine.Object.Destroy(view.viewGO);
 35479    }
 480
 0481    public void ToggleVisibility() { SetVisibility(!IsVisible()); }
 482
 483    public bool IsVisible()
 484    {
 0485        if (view == null)
 0486            return false;
 487
 0488        return view.isShowHideAnimatorVisible;
 489    }
 490
 0491    internal virtual IBuildModeHUDView CreateView() => BuildModeHUDView.Create();
 492
 493    public void UpdateEntitiesSelection(int numberOfSelectedEntities)
 494    {
 0495        controllers.entityInformationController.UpdateEntitiesSelection(numberOfSelectedEntities);
 0496        controllers.topActionsButtonsController.extraActionsController.SetResetButtonInteractable(numberOfSelectedEntiti
 0497    }
 498
 499    #region Inspector
 500
 501    public void SetVisibilityOfInspector(bool isVisible)
 502    {
 2503        isEntityListVisible = isVisible;
 2504        view.SetVisibilityOfInspector(isVisible);
 2505    }
 506
 507    #endregion
 508
 509}

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)