//! //! Sets up all buttons for the main menu. //! private void setupMainMenu() { // views IMenuButton buttonPers = Elements.MenuButtonToggle(); buttonPers.AddAction(GeneralMenu_Perspective_sel, GeneralMenu_Perspective_nrm, () => togglePerspectives()); UI.OnUIChanged.AddListener(() => { buttonPers.Toggled = (secondaryMenu.currentLayout == layouts.PERSPECTIVES); }); // register for ui changes mainMenu.addButton(buttonPers); // info button // // modes IMenuButton buttonModes = Elements.MenuButtonList(); buttonModes.AddAction(ModeMenu_EditMode_sel, ModeMenu_EditMode_nrm, () => changeMode(layouts.EDIT)); buttonModes.AddAction(ModeMenu_AnimationMode_sel, ModeMenu_AnimationMode_nrm, () => changeMode(layouts.ANIMATION)); // anim buttonModes.AddAction(ModeMenu_ScoutMode_sel, ModeMenu_ScoutMode_nrm, () => changeMode(layouts.SCOUT)); //scout mainMenu.addButton(buttonModes); // gyro toggle IMenuButton buttonGyro = Elements.MenuButtonToggle(); buttonGyro.AddAction(GeneralMenu_Gyro_sel, GeneralMenu_Gyro_nrm, () => mainController.toggleCameraRotation()); // for toggle buttonGyro.AddHoldAction(() => mainController.resetCameraOffset()); mainMenu.addButton(buttonGyro); // config IMenuButton buttonConfig = Elements.MenuButtonToggle(); buttonConfig.AddAction(GeneralMenu_Settings_sel, GeneralMenu_Settings_nrm, () => drawConfigWidget()); buttonConfig.AddAction(GeneralMenu_Settings_sel, GeneralMenu_Settings_nrm, () => hideConfigWidget()); // untoggle action UI.OnUIChanged.AddListener(() => { buttonConfig.Toggled = (configWidget.gameObject.activeSelf == true); }); // register for ui changes mainMenu.addButton(buttonConfig); mainMenu.addButtonToLayout(buttonConfig, layouts.SPLASH); //help IMenuButton buttonHelp = Elements.MenuButton(); buttonHelp.AddAction(GeneralMenu_Help_sel, GeneralMenu_Help_nrm, call: () => openHelp()); // switch off mainMenu.addButton(buttonHelp); mainMenu.addButtonToLayout(buttonHelp, layouts.SPLASH); // quit IMenuButton buttonQuit = Elements.MenuButton(); buttonQuit.AddAction(GeneralMenu_OnOff_sel, GeneralMenu_OnOff_nrm, call: () => quitApplication()); // switch off mainMenu.addButton(buttonQuit); mainMenu.addButtonToLayout(buttonQuit, layouts.SPLASH); // set splash layout mainMenu.switchLayout(layouts.SPLASH); }
//! //! Sets up all buttons for the main menu. //! private void setupMainMenu() { // views IMenuButton buttonPers = Elements.MenuButtonToggle(); buttonPers.AddAction(GeneralMenu_Perspective_sel, GeneralMenu_Perspective_nrm, () => secondaryMenuSwitchLayout(layouts.PERSPECTIVES)); OnSecondaryMenuVisibility.AddListener(((MenuButtonToggle)buttonPers).setToggleState); // register changes mainMenu.addButton(buttonPers); // info button // // modes IMenuButton buttonModes = Elements.MenuButtonList(); buttonModes.AddAction(ModeMenu_EditMode_sel, ModeMenu_EditMode_nrm, () => changeMode(layouts.EDIT)); buttonModes.AddAction(ModeMenu_AnimationMode_sel, ModeMenu_AnimationMode_nrm, () => changeMode(layouts.ANIMATION)); // anim buttonModes.AddAction(ModeMenu_ScoutMode_sel, ModeMenu_ScoutMode_nrm, () => changeMode(layouts.SCOUT)); //scout mainMenu.addButton(buttonModes); // gyro toggle IMenuButton buttonGyro = Elements.MenuButtonToggle(); buttonGyro.AddAction(GeneralMenu_Gyro_sel, GeneralMenu_Gyro_nrm, () => mainController.toggleCameraRotation()); // for toggle buttonGyro.AddAction(GeneralMenu_Gyro_sel, GeneralMenu_Gyro_nrm, () => mainController.toggleCameraRotation()); // for untogle buttonGyro.AddHoldAction(() => mainController.resetCameraOffset()); mainMenu.addButton(buttonGyro); // config IMenuButton buttonConfig = Elements.MenuButtonToggle(); buttonConfig.AddAction(GeneralMenu_Settings_sel, GeneralMenu_Settings_nrm, () => drawConfigWidget()); buttonConfig.AddAction(GeneralMenu_Settings_sel, GeneralMenu_Settings_nrm, () => hideConfigWidget()); // untoggle action configWidget.OnVisibilityChanged.AddListener(((MenuButtonToggle)buttonConfig).setToggleState); // register changes (connect to config widget visibility) mainMenu.addButton(buttonConfig); mainMenu.addButtonToLayout(buttonConfig, layouts.SPLASH); // quit IMenuButton buttonQuit = Elements.MenuButton(); buttonQuit.AddAction(GeneralMenu_OnOff_sel, GeneralMenu_OnOff_nrm, call: () => quitApplication()); // switch off mainMenu.addButton(buttonQuit); mainMenu.addButtonToLayout(buttonQuit, layouts.SPLASH); // set splash layout mainMenu.switchLayout(layouts.SPLASH); }
//! //! Sets up all buttons for the secondary menu. //! private void setupSecondaryMenu() { // add empty layout for edit mode secondaryMenu.addLayout(layouts.EDIT); // cam from snapshot IMenuButton buttonSnap = Elements.MenuButton(); buttonSnap.AddAction(PerspectiveMenu_Snapshot_sel, PerspectiveMenu_Snapshot_nrm); secondaryMenu.addButton(buttonSnap, layouts.PERSPECTIVES); // top IMenuButton buttonTop = Elements.MenuButtonToggle(); buttonTop.AddAction(PerspectiveMenu_OrthographicTop_sel, PerspectiveMenu_OrthographicTop_nrm, call: () => orthographicCamera(MainController.View.TOP)); buttonTop.AddAction(PerspectiveMenu_OrthographicTop_sel, PerspectiveMenu_OrthographicTop_nrm, call: () => perspectiveCamera()); secondaryMenu.addButton(buttonTop, layouts.PERSPECTIVES); // front IMenuButton buttonFront = Elements.MenuButtonToggle(); buttonFront.AddAction(PerspectiveMenu_OrthographicFront_sel, PerspectiveMenu_OrthographicFront_nrm, call: () => orthographicCamera(MainController.View.FRONT)); buttonFront.AddAction(PerspectiveMenu_OrthographicFront_sel, PerspectiveMenu_OrthographicFront_nrm, call: () => perspectiveCamera()); secondaryMenu.addButton(buttonFront, layouts.PERSPECTIVES); // right IMenuButton buttonRight = Elements.MenuButtonToggle(); buttonRight.AddAction(PerspectiveMenu_OrthographicRight_sel, PerspectiveMenu_OrthographicRight_nrm, call: () => orthographicCamera(MainController.View.RIGHT)); buttonRight.AddAction(PerspectiveMenu_OrthographicRight_sel, PerspectiveMenu_OrthographicRight_nrm, call: () => perspectiveCamera()); secondaryMenu.addButton(buttonRight, layouts.PERSPECTIVES); // left IMenuButton buttonLeft = Elements.MenuButtonToggle(); buttonLeft.AddAction(PerspectiveMenu_OrthographicLeft_sel, PerspectiveMenu_OrthographicLeft_nrm, call: () => orthographicCamera(MainController.View.LEFT)); buttonLeft.AddAction(PerspectiveMenu_OrthographicLeft_sel, PerspectiveMenu_OrthographicLeft_nrm, call: () => perspectiveCamera()); secondaryMenu.addButton(buttonLeft, layouts.PERSPECTIVES); // bottom IMenuButton buttonBottom = Elements.MenuButtonToggle(); buttonBottom.AddAction(PerspectiveMenu_OrthographicBottom_sel, PerspectiveMenu_OrthographicBottom_nrm, call: () => orthographicCamera(MainController.View.BOTTOM)); buttonBottom.AddAction(PerspectiveMenu_OrthographicBottom_sel, PerspectiveMenu_OrthographicBottom_nrm, call: () => perspectiveCamera()); secondaryMenu.addButton(buttonBottom, layouts.PERSPECTIVES); // ncam IMenuButton buttonNcam = Elements.MenuButtonToggle(); buttonNcam.AddAction(PerspectiveMenu_PrincipalCam_sel, PerspectiveMenu_PrincipalCam_nrm, call: () => ncamCamera()); // buttonNcam.AddAction(PerspectiveMenu_PrincipalCam_sel, PerspectiveMenu_PrincipalCam_nrm, call: () => perspectiveCamera() ); secondaryMenu.addButton(buttonNcam, layouts.PERSPECTIVES); // predefined IMenuButton buttonPre = Elements.MenuButton(); buttonPre.AddAction(PerspectiveMenu_External_sel, PerspectiveMenu_External_nrm, call: () => predefinedCamera()); secondaryMenu.addButton(buttonPre, layouts.PERSPECTIVES); // scouting // depth of field toggle IMenuButton buttonDOF = Elements.MenuButtonToggle(); buttonDOF.AddAction(ScoutMode_DOF_sel, ScoutMode_DOF_nrm, call: () => mainController.toggleDOF()); // toggle DOF component secondaryMenu.addButton(buttonDOF, layouts.SCOUT); // focus visualizer toggle IMenuButton buttonVisualize = Elements.MenuButtonToggle(); buttonVisualize.AddAction(ScoutMode_Visualizer_sel, ScoutMode_Visualizer_nrm, call: () => mainController.toggleVisualizer()); // toggle visualize focus secondaryMenu.addButton(buttonVisualize, layouts.SCOUT); // field of view / lens IMenuButton buttonFov = Elements.MenuButtonList(); buttonFov.AddAction(ScoutMode_FocalLength_sel, ScoutMode_FocalLength_nrm, call: () => showCameraSlider(CameraObject.CameraParameter.LENS)); // field of view slider buttonFov.AddAction(ScoutMode_FocalLength_sel, ScoutMode_FocalLength_nrm, call: () => showCameraSlider(CameraObject.CameraParameter.FOV)); // field of view slider secondaryMenu.addButton(buttonFov, layouts.SCOUT); // focus IMenuButton buttonFocus = Elements.MenuButtonList(); buttonFocus.AddAction(ScoutMode_Focus_sel, ScoutMode_Focus_nrm, call: () => showCameraSlider(CameraObject.CameraParameter.FOCDIST)); // focal distance slider buttonFocus.AddAction(ScoutMode_Focus_sel, ScoutMode_Focus_nrm, call: () => showCameraSlider(CameraObject.CameraParameter.FOCSIZE)); // focal size slider //buttonFocus.Interactable = false; // set non-interactable since DOF is disabled by default too secondaryMenu.addButton(buttonFocus, layouts.SCOUT); // aperture IMenuButton buttonApert = Elements.MenuButton(); buttonApert.AddAction(ScoutMode_Aperture_sel, ScoutMode_Aperture_nrm, call: () => showCameraSlider(CameraObject.CameraParameter.APERTURE)); // aperture slider //buttonApert.Interactable = false; // set non-interactable since DOF is disabled by default too secondaryMenu.addButton(buttonApert, layouts.SCOUT); // cam settings IMenuButton buttonCam = Elements.MenuButton(); buttonCam.AddAction(ScoutMode_CamSettings_sel, ScoutMode_CamSettings_nrm); // secondaryMenu.addButton(buttonCam, layouts.SCOUT); // path record IMenuButton buttonRec = Elements.MenuButton(); buttonRec.AddAction(ScoutMode_PathRecord_sel, ScoutMode_PathRecord_nrm); // secondaryMenu.addButton(buttonRec, layouts.SCOUT); // snapshot IMenuButton buttonScout = Elements.MenuButton(); buttonScout.AddAction(ScoutMode_Snapshot_sel, ScoutMode_Snapshot_nrm); // 15 secondaryMenu.addButton(buttonScout, layouts.SCOUT); // click to move IMenuButton buttonClickMoveCam = Elements.MenuButtonToggle(); buttonClickMoveCam.AddAction(EditMode_TranslateClickToMove_sel, EditMode_TranslateClickToMove_nrm, call: () => mainController.togglePointToMoveCamera()); // secondaryMenu.addButton(buttonClickMoveCam, layouts.SCOUT); // animation mode buttons // previous key IMenuButton buttonKeyPrev = Elements.MenuButton(); buttonKeyPrev.AddAction(AnimationMode_JumpToPreviousKeyframe_sel, AnimationMode_JumpToPreviousKeyframe_nrm, call: () => mainController.AnimationController.previousKeyframe()); // secondaryMenu.addButton(buttonKeyPrev, layouts.ANIMATION); // add timeline // GameObject timeLine = GameObject.Find("GUI/Canvas/UI/TimeLine"); if (timeLine == null) { Debug.LogError(string.Format("{0}: Cant Find TimeLine (GUI/Canvas/UI/TimeLine).", this.GetType())); } else { secondaryMenu.addObject(timeLine, layouts.ANIMATION); } // next key IMenuButton buttonKeyNext = Elements.MenuButton(); buttonKeyNext.AddAction(AnimationMode_JumpToNextKeyframe_sel, AnimationMode_JumpToNextKeyframe_nrm, call: () => mainController.AnimationController.nextKeyframe()); // secondaryMenu.addButton(buttonKeyNext, layouts.ANIMATION); // play pause IMenuButton buttonPlay = Elements.MenuButtonToggle(); buttonPlay.AddAction(AnimationMode_Pause_sel, AnimationMode_Play_nrm, () => mainController.AnimationController.togglePlayPause()); secondaryMenu.addButton(buttonPlay, layouts.ANIMATION); // fire cue IMenuButton buttonPlayCue = Elements.MenuButtonToggle(); //buttonPlayCue.AddAction(AnimationMode_CueFire_sel, AnimationMode_CueFire_nrm, () => mainController.AnimationController.playAnimationLayer()); // 20 buttonPlayCue.AddAction(AnimationMode_CueFire_sel, AnimationMode_CueFire_nrm, () => animationFireCueMenu(buttonPlayCue)); // 20 secondaryMenu.addButton(buttonPlayCue, layouts.ANIMATION); // translation mode buttons // 3dwidget IMenuButton buttonTrans = Elements.MenuButtonToggle(); buttonTrans.AddAction(EditMode_Translate3DWidget_sel, EditMode_Translate3DWidget_nrm, () => mainController.buttonTranslationClicked(true)); // secondaryMenu.addButton(buttonTrans, layouts.TRANSLATION); // attach to cam IMenuButton buttonAttachCam = Elements.MenuButtonToggle(); buttonAttachCam.AddAction(EditMode_TranslateAttachToCam_sel, EditMode_TranslateAttachToCam_nrm, () => mainController.toggleObjectLinkCamera()); // secondaryMenu.addButton(buttonAttachCam, layouts.TRANSLATION); //secondaryMenu.addButton(EditMode_TranslateFingerSwipe_sel, EditMode_TranslateFingerSwipe_nrm, toggle: true, call: () => editFingerSwip()); // // click to move IMenuButton buttonClickMove = Elements.MenuButtonToggle(); buttonClickMove.AddAction(EditMode_TranslateClickToMove_sel, EditMode_TranslateClickToMove_nrm, () => mainController.togglePointToMove()); // secondaryMenu.addButton(buttonClickMove, layouts.TRANSLATION); }