// public void setMode(AppState mode, bool forceMode = false) { if (mode == AppController.Instance.appState && !forceMode) { return; } AppController.Instance.setAppState(mode); MainMenu.Instance.setModeButtons(mode); MainMenu.Instance.setMenuPanels(mode); if (_curEditorTool != null) { _curEditorTool.setSingleMaterial(laserAim, laserAimMaterial, false); _curEditorTool.resetMaterial(); _curEditorTool.resetAim(); _curEditorTool.resetProp(); _curEditorTool.deactivate(); } _curEditorTool = null; MainMenu.Instance.showTransformBox(false); MainMenu.Instance.showDigButtons(false); MainMenu.Instance.showMaterialBox(false); MainMenu.Instance.showItemsBox(false); laserAim.SetActive(false); propAim.SetActive(false); editCam.enabled = true; itemCam.enabled = false; _activeCam = editCam; EditorObjectSelection.Instance.ClearSelection(false); setSelectedObjects(); SceneGizmo.Instance.editorCameraTransform = EditorCamera.Instance.transform; Cursor.lockState = CursorLockMode.None; Cursor.visible = true; if (goPlayer != null && goPlayerEdit != null) { goPlayer.SetActive((mode == AppState.Play)); goPlayerCameraRig.SetActive((mode == AppState.Play)); goPlayerEdit.SetActive(!goPlayer.activeSelf); _activeCam = playRigCam; } if (mode == AppState.Play) { resetCamToStartPos(false); // don't go back to starting pos } else if (mode == AppState.Select) { MainMenu.Instance.showTransformBox(true); _curEditorTool = _aEditorTools [Globals.EDITOR_TOOL_LOOK]; itemCam.enabled = true; itemCam.transform.position = editCam.transform.position; _activeCam = itemCam; editCam.enabled = false; } else if (mode == AppState.Dig) { MainMenu.Instance.showDigButtons(true); laserAim.SetActive(true); _curEditorTool = _aEditorTools [Globals.EDITOR_TOOL_DIG]; } else if (mode == AppState.Paint) { MainMenu.Instance.showMaterialBox(true); MainMenu.Instance.showDigButtons(true); laserAim.SetActive(true); _curEditorTool = _aEditorTools [Globals.EDITOR_TOOL_PAINT]; _curEditorTool.setCurAimMaterial(); } else if (mode == AppState.Build) { MainMenu.Instance.showMaterialBox(true); MainMenu.Instance.showDigButtons(true); laserAim.SetActive(true); _curEditorTool = _aEditorTools [Globals.EDITOR_TOOL_BUILD]; //_curEditorTool.setSingleMaterial (laserAim, _aMaterials[MainMenu.Instance.iSelectedMaterial], false); _curEditorTool.setCurAimMaterial(); } else if (mode == AppState.Props) { //MainMenu.Instance.showItemsBox (true); _curEditorTool = _aEditorTools [Globals.EDITOR_TOOL_ITEMS]; laserAim.SetActive(true); propAim.SetActive(true); if (_goCurProp == null) { newPropSelected(); } } SceneGizmo.Instance.editorCameraTransform = (itemCam.enabled ? EditorCamera.Instance.transform : FlyCam.Instance.player); RuntimeEditorApplication.Instance.gameObject.SetActive(mode == AppState.Select); MainMenu.Instance.setDigSliders(mode); //MainMenu.Instance.resetDigSettings (new Vector3 (1, 1, 1)); updateDigSettings(MainMenu.Instance.v3DigSettings); if (_curEditorTool != null) { _curEditorTool.activate(); } }