Ejemplo n.º 1
0
    void CheckPublishConditions()
    {
        if (HUDController.i.builderInWorldMainHud is null)
        {
            return;
        }

        string feedbackMessage = "";

        if (creatorController.IsAnyErrorOnEntities())
        {
            feedbackMessage = FEEDBACK_MESSAGE_ENTITY_ERROR;
        }
        else if (!entityHandler.AreAllEntitiesInsideBoundaries())
        {
            feedbackMessage = FEEDBACK_MESSAGE_OUTSIDE_BOUNDARIES;
        }
        else if (!sceneToEdit.metricsController.IsInsideTheLimits())
        {
            feedbackMessage = FEEDBACK_MESSAGE_TOO_MANY_ENTITIES;
            if (reportSceneLimitsOverpassedAnalytic)
            {
                BIWAnalytics.SceneLimitsOverPassed(sceneToEdit.metricsController.GetModel());
                reportSceneLimitsOverpassedAnalytic = false;
            }
        }

        HUDController.i.builderInWorldMainHud.SetPublishBtnAvailability(CanPublish(), feedbackMessage);
    }
Ejemplo n.º 2
0
 void OnConfirmUnpublish()
 {
     BIWAnalytics.PlayerUnpublishScene(source.ToString(), coordinates);
     DataStore.i.dataStoreBuilderInWorld.unpublishSceneResult.OnChange += OnSceneUnpublished;
     WebInterface.UnpublishScene(coordinates);
     fakeProgressRoutine = CoroutineStarter.Start(ProgressRoutine());
 }
Ejemplo n.º 3
0
 private void EditorButtonPressed()
 {
     if (currentLand != null)
     {
         string ownership = currentLand.role == LandRole.OWNER ? "Owner" : "Operator";
         BIWAnalytics.PlayerJumpOrEdit("Lands", "Editor", coords, ownership);
     }
     OnJumpInPressed?.Invoke(coords);
 }
Ejemplo n.º 4
0
    private void SendAnalytics()
    {
        if (itemsToSendAnalytics.Count == 0)
        {
            return;
        }

        BIWAnalytics.NewObjectPlacedChunk(itemsToSendAnalytics);
        itemsToSendAnalytics.Clear();
    }
Ejemplo n.º 5
0
    private void PublishEnd(bool isOk, string message)
    {
        if (HUDController.i.builderInWorldMainHud != null)
        {
            HUDController.i.builderInWorldMainHud.PublishEnd(isOk, message);
        }
        string successString = isOk ? "Success" : message;

        BIWAnalytics.EndScenePublish(sceneToEdit.metricsController.GetModel(), successString, Time.realtimeSinceStartup - startPublishingTimestamp);
    }
Ejemplo n.º 6
0
    private void OnClose()
    {
        SetVisibility(false);

        LandWithAccess[] lands = landsController.GetLands();
        if (lands != null)
        {
            Vector2Int totalLands = GetAmountOfLandsOwnedAndOperator(lands);
            BIWAnalytics.PlayerClosesPanel(totalLands.x, totalLands.y);
        }
    }
    public void TryStartEnterEditMode(bool activateCamera, IParcelScene targetScene = null, string source = "BuilderPanel")
    {
        if (sceneToEditId != null)
        {
            return;
        }

        FindSceneToEdit(targetScene);

        if (!UserHasPermissionOnParcelScene(sceneToEdit))
        {
            ShowGenericNotification(BIWSettings.LAND_EDITION_NOT_ALLOWED_BY_PERMISSIONS_MESSAGE);
            return;
        }
        else if (IsParcelSceneDeployedFromSDK(sceneToEdit))
        {
            ShowGenericNotification(BIWSettings.LAND_EDITION_NOT_ALLOWED_BY_SDK_LIMITATION_MESSAGE);
            return;
        }

        //If the scene is still not loaded, we return as we still can't enter in builder in world
        if (sceneToEditId != null)
        {
            return;
        }

        isEnteringEditMode  = true;
        previousAllUIHidden = CommonScriptableObjects.allUIHidden.Get();
        NotificationsController.i.allowNotifications = false;
        CommonScriptableObjects.allUIHidden.Set(true);
        NotificationsController.i.allowNotifications = true;
        inputController.inputTypeMode = InputTypeMode.BUILD_MODE_LOADING;
        initialLoadingController.Show();
        initialLoadingController.SetPercentage(0f);
        DataStore.i.appMode.Set(AppMode.BUILDER_IN_WORLD_EDITION);
        BIWAnalytics.StartEditorFlow(source);
        beginStartFlowTimeStamp = Time.realtimeSinceStartup;

        biwAudioHandler.gameObject.SetActive(true);
        //Note (Adrian) this should handle different when we have the full flow of the feature
        if (activateCamera)
        {
            modeController.ActivateCamera(sceneToEdit);
        }

        if (catalogAdded)
        {
            StartEditMode();
        }
    }
Ejemplo n.º 8
0
    public void ToggleFavoriteState(CatalogItem catalogItem, CatalogItemAdapter adapter)
    {
        if (!favoritesCatalogItems.Contains(catalogItem))
        {
            favoritesCatalogItems.Add(catalogItem);
            catalogItem.SetFavorite(true);
            BIWAnalytics.FavoriteAdded(catalogItem);
        }
        else
        {
            favoritesCatalogItems.Remove(catalogItem);
            catalogItem.SetFavorite(false);
        }

        adapter?.SetFavorite(catalogItem.IsFavorite());
    }
    public void ExitEditMode()
    {
        Environment.i.platform.cullingController.Start();

        floorHandler.OnAllParcelsFloorLoaded -= OnAllParcelsFloorLoaded;
        initialLoadingController.Hide(true);
        inputController.inputTypeMode = InputTypeMode.GENERAL;

        CommonScriptableObjects.builderInWorldNotNecessaryUIVisibilityStatus.Set(true);
        DataStore.i.dataStoreBuilderInWorld.showTaskBar.Set(true);

        ParcelSettings.VISUAL_LOADING_ENABLED = true;

        outlinerController.CancelAllOutlines();

        cursorGO.SetActive(true);

        sceneToEdit.SetEditMode(false);

        DCLCharacterController.OnPositionSet -= ExitAfterCharacterTeleport;

        InmediateExit();

        if (HUDController.i.builderInWorldMainHud != null)
        {
            HUDController.i.builderInWorldMainHud.ClearEntityList();
            HUDController.i.builderInWorldMainHud.SetVisibility(false);
        }

        Environment.i.world.sceneController.DeactivateBuilderInWorldEditScene();
        Environment.i.world.blockersController.SetEnabled(true);

        ExitBiwControllers();

        foreach (var groundVisual in groundVisualsGO)
        {
            groundVisual.SetActive(true);
        }

        isBuilderInWorldActivated = false;
        RenderSettings.skybox     = previousSkyBoxMaterial;

        biwAudioHandler.gameObject.SetActive(false);
        DataStore.i.appMode.Set(AppMode.DEFAULT);
        BIWAnalytics.ExitEditor(Time.realtimeSinceStartup - startEditorTimeStamp);
    }
Ejemplo n.º 10
0
    IEnumerator ReportSearchAnalytic()
    {
        yield return(new WaitForSecondsRealtime(SEARCH_DELAY_OFFSET));

        BIWAnalytics.CatalogItemSearched(currentSearchFilter, filterObjects.Count);
    }
Ejemplo n.º 11
0
 private void EditorButtonPressed()
 {
     OnEditorPressed?.Invoke(sceneData.coords);
     BIWAnalytics.PlayerJumpOrEdit("Scene", "Editor", sceneData.coords, "Scene Owner");
 }
Ejemplo n.º 12
0
 private void JumpInButtonPressed()
 {
     OnJumpInPressed?.Invoke(sceneData.coords);
     BIWAnalytics.PlayerJumpOrEdit("Scene", "JumpIn", sceneData.coords, "Scene Owner");
 }
Ejemplo n.º 13
0
 private void StartPublishScene(string sceneName, string sceneDescription, string sceneScreenshot)
 {
     startPublishingTimestamp = Time.realtimeSinceStartup;
     BIWAnalytics.StartScenePublish(sceneToEdit.metricsController.GetModel());
     builderInWorldBridge.PublishScene(sceneToEdit, sceneName, sceneDescription, sceneScreenshot);
 }
Ejemplo n.º 14
0
    private void PanelOpenEvent(LandWithAccess[] lands)
    {
        Vector2Int totalLands = GetAmountOfLandsOwnedAndOperator(lands);

        BIWAnalytics.PlayerOpenPanel(totalLands.x, totalLands.y);
    }
    private void EnterEditMode()
    {
        if (!initialLoadingController.isActive)
        {
            return;
        }

        isEnteringEditMode = false;
        BIWNFTController.i.ClearNFTs();

        ParcelSettings.VISUAL_LOADING_ENABLED = false;

        sceneToEdit.SetEditMode(true);
        cursorGO.SetActive(false);
        parcelUnityMiddlePoint = BIWUtils.CalculateUnityMiddlePoint(sceneToEdit);

        if (HUDController.i.builderInWorldMainHud != null)
        {
            HUDController.i.builderInWorldMainHud.SetParcelScene(sceneToEdit);
            HUDController.i.builderInWorldMainHud.RefreshCatalogContent();
            HUDController.i.builderInWorldMainHud.RefreshCatalogAssetPack();
            HUDController.i.builderInWorldMainHud.SetVisibilityOfCatalog(true);
            HUDController.i.builderInWorldMainHud.SetVisibilityOfInspector(true);
        }

        CommonScriptableObjects.builderInWorldNotNecessaryUIVisibilityStatus.Set(false);
        DataStore.i.dataStoreBuilderInWorld.showTaskBar.Set(true);

        DCLCharacterController.OnPositionSet += ExitAfterCharacterTeleport;

        EnterBiwControllers();
        Environment.i.world.sceneController.ActivateBuilderInWorldEditScene();

        initialLoadingController.SetPercentage(100f);

        if (IsNewScene())
        {
            floorHandler.OnAllParcelsFloorLoaded -= OnAllParcelsFloorLoaded;
            floorHandler.OnAllParcelsFloorLoaded += OnAllParcelsFloorLoaded;
            SetupNewScene();
        }
        else
        {
            initialLoadingController.Hide(onHideAction: () =>
            {
                inputController.inputTypeMode = InputTypeMode.BUILD_MODE;
                HUDController.i.builderInWorldMainHud?.SetVisibility(true);
                CommonScriptableObjects.allUIHidden.Set(previousAllUIHidden);
                OpenNewProjectDetailsIfNeeded();
            });
        }

        isBuilderInWorldActivated = true;

        previousSkyBoxMaterial = RenderSettings.skybox;
        RenderSettings.skybox  = skyBoxMaterial;

        foreach (var groundVisual in groundVisualsGO)
        {
            groundVisual.SetActive(false);
        }
        startEditorTimeStamp = Time.realtimeSinceStartup;

        BIWAnalytics.AddSceneInfo(sceneToEdit.sceneData.basePosition, BIWUtils.GetLandOwnershipType(landsWithAccess, sceneToEdit).ToString(), BIWUtils.GetSceneSize(sceneToEdit));
        BIWAnalytics.EnterEditor(Time.realtimeSinceStartup - beginStartFlowTimeStamp);
    }
Ejemplo n.º 16
0
 private void QuickBarCatalogItemAssigned(CatalogItem item)
 {
     BIWAnalytics.QuickAccessAssigned(item, GetCatalogSectionSelected().ToString());
 }