public void SetBuildMode(EditModeState state) { if (currentActiveMode != null) { currentActiveMode.Deactivate(); } isAdvancedModeActive = false; currentActiveMode = null; switch (state) { case EditModeState.Inactive: break; case EditModeState.FirstPerson: currentActiveMode = firstPersonMode; if (HUDController.i.builderInWorldMainHud != null) { HUDController.i.builderInWorldMainHud.ActivateFirstPersonModeUI(); HUDController.i.builderInWorldMainHud.SetVisibilityOfCatalog(false); } if (cursorGO != null) { cursorGO.SetActive(true); } break; case EditModeState.GodMode: if (cursorGO != null) { cursorGO.SetActive(false); } currentActiveMode = editorMode; isAdvancedModeActive = true; if (HUDController.i.builderInWorldMainHud != null) { HUDController.i.builderInWorldMainHud.ActivateGodModeUI(); } avatarRenderer?.SetAvatarVisibility(false); break; } currentEditModeState = state; if (currentActiveMode != null) { currentActiveMode.Activate(sceneToEdit); currentActiveMode.SetSnapActive(isSnapActive); builderInWorldEntityHandler.SetActiveMode(currentActiveMode); } }
public void SetBuildMode(EditModeState state) { EditModeState previousState = currentEditModeState; if (currentActiveMode != null) { currentActiveMode.Deactivate(); } currentActiveMode = null; switch (state) { case EditModeState.Inactive: break; case EditModeState.FirstPerson: currentActiveMode = firstPersonMode; if (cursorGO != null) { cursorGO.SetActive(true); } break; case EditModeState.GodMode: if (cursorGO != null) { cursorGO.SetActive(false); } currentActiveMode = editorMode; break; } currentEditModeState = state; if (currentActiveMode != null) { currentActiveMode.Activate(sceneToEdit); currentActiveMode.SetSnapActive(isSnapActive); builderInWorldEntityHandler.SetActiveMode(currentActiveMode); } OnChangedEditModeState?.Invoke(previousState, state); }
public void SetSnapActive(bool isActive) { isSnapActive = isActive; currentActiveMode.SetSnapActive(isActive); }