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); }
void OnConfirmUnpublish() { BIWAnalytics.PlayerUnpublishScene(source.ToString(), coordinates); DataStore.i.dataStoreBuilderInWorld.unpublishSceneResult.OnChange += OnSceneUnpublished; WebInterface.UnpublishScene(coordinates); fakeProgressRoutine = CoroutineStarter.Start(ProgressRoutine()); }
private void EditorButtonPressed() { if (currentLand != null) { string ownership = currentLand.role == LandRole.OWNER ? "Owner" : "Operator"; BIWAnalytics.PlayerJumpOrEdit("Lands", "Editor", coords, ownership); } OnJumpInPressed?.Invoke(coords); }
private void SendAnalytics() { if (itemsToSendAnalytics.Count == 0) { return; } BIWAnalytics.NewObjectPlacedChunk(itemsToSendAnalytics); itemsToSendAnalytics.Clear(); }
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); }
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(); } }
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); }
IEnumerator ReportSearchAnalytic() { yield return(new WaitForSecondsRealtime(SEARCH_DELAY_OFFSET)); BIWAnalytics.CatalogItemSearched(currentSearchFilter, filterObjects.Count); }
private void EditorButtonPressed() { OnEditorPressed?.Invoke(sceneData.coords); BIWAnalytics.PlayerJumpOrEdit("Scene", "Editor", sceneData.coords, "Scene Owner"); }
private void JumpInButtonPressed() { OnJumpInPressed?.Invoke(sceneData.coords); BIWAnalytics.PlayerJumpOrEdit("Scene", "JumpIn", sceneData.coords, "Scene Owner"); }
private void StartPublishScene(string sceneName, string sceneDescription, string sceneScreenshot) { startPublishingTimestamp = Time.realtimeSinceStartup; BIWAnalytics.StartScenePublish(sceneToEdit.metricsController.GetModel()); builderInWorldBridge.PublishScene(sceneToEdit, sceneName, sceneDescription, sceneScreenshot); }
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); }
private void QuickBarCatalogItemAssigned(CatalogItem item) { BIWAnalytics.QuickAccessAssigned(item, GetCatalogSectionSelected().ToString()); }