private void animationLayerToggleCurrentObject(IMenuButton button, SubMenu subMenu, int layerIdx) { if (button.Toggled) { print("Add " + mainController.getCurrentSelection().gameObject + " to animation layer " + layerIdx); animationController.addSelectedObjectToLayer(layerIdx); } else { print("Remove " + mainController.getCurrentSelection().gameObject + " from animation layer " + layerIdx); animationController.removeSelectedObjectFromLayer(layerIdx); } }
private void animationAddCueMenu(IMenuButton button) { GameObject obj = ((Button)button).gameObject; SubMenu subMenu = ((Button)button).gameObject.GetComponent <SubMenu>(); SceneObject sceneObject = mainController.getCurrentSelection().GetComponent <SceneObject>(); if (subMenu == null) { subMenu = ((Button)button).gameObject.AddComponent <SubMenu>(); subMenu.DirToExpand = SubMenu.direction.RIGHT; GameObject buttonTextPrefab = Resources.Load <GameObject>("VPET/Prefabs/ButtonText"); // add animation layer buttons for (int i = 1; i < 4; ++i) { // add animation layer button int layerIndex = i - 1; vpet.IMenuButton animLayerButton = vpet.Elements.MenuButtonToggle(); // get toggle state animLayerButton.Toggled = sceneObject.animationLayer == layerIndex; animLayerButton.AddAction(AnimationMode_CueFire_sel, AnimationMode_CueFire_nrm, () => animationLayerToggleCurrentObject(animLayerButton, subMenu, layerIndex)); // subMenu.OnMenuOpen.AddListener( () => { print("Check for layer " + layerIndex); animLayerButton.Toggled = animationController.IsCurrentSelectionOnLayer(layerIndex); } ); UI.OnUIChanged.AddListener(() => { print("Check for layer " + layerIndex); animLayerButton.Toggled = animationController.IsCurrentSelectionOnLayer(layerIndex); }); subMenu.addButton(animLayerButton); // add animation layer id on top (text object) GameObject buttonTextObj = GameObject.Instantiate(buttonTextPrefab); GameObject buttonObj = ((Button)animLayerButton).gameObject; buttonObj.name = "CueAddButton_" + i.ToString(); buttonTextObj.transform.parent = buttonObj.transform; buttonTextObj.transform.localScale = new Vector3(1, 1, 1); buttonTextObj.transform.localPosition = new Vector3(0, 0, 0); Text text = buttonTextObj.GetComponent <Text>(); if (text != null) { text.text = i.ToString(); } } } if (!subMenu.isOpen) { subMenu.show(); } else { subMenu.hide(); } }
private void animationAddCueMenu(IMenuButton button) { GameObject obj = ((Button)button).gameObject; SubMenu subMenu = ((Button)button).gameObject.GetComponent <SubMenu>(); if (subMenu == null) { subMenu = ((Button)button).gameObject.AddComponent <SubMenu>(); subMenu.DirToExpand = SubMenu.direction.RIGHT; GameObject buttonTextPrefab = Resources.Load <GameObject>("VPET/Prefabs/ButtonText"); // add animation layer buttons for (int i = -1; i < 2; ++i) { // add animation layer button int layerIndex = i; vpet.IMenuButton animLayerButton = vpet.Elements.MenuButton(); animLayerButton.AddAction(AnimationMode_CueFire_sel, AnimationMode_CueFire_nrm, () => animationLayerAddCurrentObject(subMenu, layerIndex)); subMenu.addButton(animLayerButton); // add animation layer id on top (text object) GameObject buttonTextObj = GameObject.Instantiate(buttonTextPrefab); GameObject buttonObj = ((Button)animLayerButton).gameObject; buttonTextObj.transform.parent = buttonObj.transform; buttonTextObj.transform.localScale = new Vector3(1, 1, 1); buttonTextObj.transform.localPosition = new Vector3(0, 0, 0); Text text = buttonTextObj.GetComponent <Text>(); if (text != null && i >= 0) { text.text = i.ToString(); } } } if (!subMenu.isOpen) { subMenu.show(); } else { subMenu.hide(); } }
private void animationFireCueMenu(IMenuButton button) { GameObject obj = ((Button)button).gameObject; SubMenu subMenu = ((Button)button).gameObject.GetComponent <SubMenu>(); if (subMenu == null) { subMenu = ((Button)button).gameObject.AddComponent <SubMenu>(); subMenu.DirToExpand = SubMenu.direction.LEFT; subMenu.offset = new Vector2(UI.ButtonOffset, UI.ButtonOffset); GameObject buttonTextPrefab = Resources.Load <GameObject>("VPET/Prefabs/ButtonText"); // add animation layer buttons for (int i = 1; i < 4; ++i) { int layerIndex = i - 1; vpet.IMenuButton animLayerButton = vpet.Elements.MenuButton(); animLayerButton.AddAction(AnimationMode_CueFire_sel, AnimationMode_CueFire_nrm, () => mainController.AnimationController.playAnimationLayer(layerIndex)); subMenu.addButton(animLayerButton); GameObject buttonTextObj = GameObject.Instantiate(buttonTextPrefab); GameObject buttonObj = ((Button)animLayerButton).gameObject; buttonTextObj.transform.parent = buttonObj.transform; buttonTextObj.transform.localScale = new Vector3(1, 1, 1); buttonTextObj.transform.localPosition = new Vector3(0, 0, 0); Text text = buttonTextObj.GetComponent <Text>(); if (text != null) { text.text = i.ToString(); } } } if (!subMenu.isOpen) { subMenu.show(); } else { subMenu.hide(); } }
//! //! Use this for initialization //! void Start() { arKeyVideoPlane = GameObject.Find("GUI/Canvas/ARVideoPlane"); try { //cache reference to main Controller mainController = GameObject.Find("MainController").GetComponent <MainController>(); //cache reference to animation Controller animationController = GameObject.Find("AnimationController").GetComponent <AnimationController>(); } catch { print("Fix Me"); } // get range slider rangeSlider = canvas.GetComponentInChildren <RangeSlider>(true); if (rangeSlider == null) { Debug.LogError(string.Format("{0}: Cant Find Component in Canvas: RangeSlider.", this.GetType())); } rangeSlider.OnValueChanged.AddListener(onRangeSliderChanged); // get light settings widget lightSettingsWidget = canvas.GetComponentInChildren <LightSettingsWidget>(true); if (lightSettingsWidget == null) { Debug.LogError(string.Format("{0}: Cant Find Component in Canvas: LightSettingsWidget.", this.GetType())); } //initalize main Menu GameObject mainMenuObject = new GameObject("mainMenuObject"); mainMenuObject.transform.SetParent(this.transform.parent, false); mainMenu = mainMenuObject.AddComponent <MainMenu>(); //initalize secondary Menu GameObject secondaryMenuObj = new GameObject("secondaryMenuObject"); secondaryMenuObj.transform.SetParent(this.transform, false); secondaryMenu = secondaryMenuObj.AddComponent <SecondaryMenu>(); //initalize center Menu GameObject centerMenuObj = new GameObject("centerMenuObject"); centerMenuObj.transform.SetParent(this.transform, false); centerMenu = centerMenuObj.AddComponent <CenterMenu>(); helpContext = GameObject.Find("GUI/Canvas/HelpScreen"); //initalize paramter Menu GameObject paramterMenuObj = new GameObject("paramterMenuObj"); paramterMenuObj.transform.SetParent(this.transform, false); parameterMenu = paramterMenuObj.AddComponent <SubMenu>(); //store scene scale lable reference scaleLable = GameObject.Find("GUI/Canvas/ARConfigWidget/scale_value").GetComponent <Text>(); // initalize ConfigWidget GameObject refObject = GameObject.Find("GUI/Canvas/ConfigWidget"); if (refObject == null) { Debug.LogWarning(string.Format("{0}: No GUI/Canvas/ConfigWidget Object found. Load From Resource.", this.GetType())); GameObject refObjectPrefab = Resources.Load <GameObject>("VPET/Prefabs/ConfigWidget"); refObject = Instantiate(refObjectPrefab); refObject.name = refObjectPrefab.name; GameObject refParent = GameObject.Find("GUI/Canvas"); refObject.transform.SetParent(refParent.transform, false); } configWidget = refObject.GetComponent <ConfigWidget>(); if (configWidget == null) { Debug.LogWarning(string.Format("{0}: No ConfigWidget Component found. Create", this.GetType())); configWidget = refObject.AddComponent <ConfigWidget>(); } // Submit listener configWidget.SubmitEvent.AddListener(mainController.configWidgetSubmit); // Ambient light listener configWidget.AmbientChangedEvent.AddListener(mainController.setAmbientIntensity); #if USE_AR configWidget.ToggleAREvent.AddListener(mainController.ToggleArMode); // ar key connects configWidget.KeyDepthChangedEvent.AddListener(mainController.setARKeyDepth); configWidget.KeyColorChangedEvent.AddListener(mainController.setARKeyColor); configWidget.KeyRadiusChangedEvent.AddListener(mainController.setARKeyRadius); configWidget.KeyThresholdChangedEvent.AddListener(mainController.setARKeyThreshold); configWidget.ToggleARMatteEvent.AddListener(mainController.ToggleARMatteMode); configWidget.ToggleARKeyEvent.AddListener(mainController.ToggleARKeyMode); // add other ar managers here or change a global variable like VPET.Settings.sceneScale! #endif //initalise mainMenu button IMenuButton iMainMenuButton = Elements.MenuButtonToggle(); mainMenuButton = ((Button)iMainMenuButton).gameObject; mainMenuButton.name = "MainMenuButton"; mainMenuButton.transform.SetParent(this.transform.parent, false); mainMenuButton.GetComponent <RectTransform>().localPosition = new Vector2(VPETSettings.Instance.canvasHalfWidth - UI.ButtonOffset, (VPETSettings.Instance.canvasHalfHeight - UI.ButtonOffset) * VPETSettings.Instance.canvasAspectScaleFactor); iMainMenuButton.AddAction(GeneralMenu_Main_sel, GeneralMenu_Main_nrm, () => mainMenuToggle()); mainMenuButton.SetActive(false); iMainMenuButton.Menu = mainMenu; //call setup function for all available menues setupMainMenu(); setupSecondaryMenu(); setupCenterMenu(); setupParameterMenu(); }
private void animationLayerAddCurrentObject(SubMenu subMenu, int layerIdx) { print("Add " + mainController.getCurrentSelection().gameObject + " to animation layer " + layerIdx); animationController.addSelectedObjectToLayer(layerIdx); subMenu.hide(); }
//! //! Use this for initialization //! void Start() { try { //cache reference to main Controller mainController = GameObject.Find("MainController").GetComponent <MainController>(); //cache reference to animation Controller animationController = GameObject.Find("AnimationController").GetComponent <AnimationController>(); #if USE_TANGO //cache reference to tango Controller tangoController = GameObject.Find("Tango").GetComponent <TangoController>(); #endif } catch { print("Fix Me"); } // get range slider rangeSlider = canvas.GetComponentInChildren <RangeSlider>(true); if (rangeSlider == null) { Debug.LogError(string.Format("{0}: Cant Find Component in Canvas: RangeSlider.", this.GetType())); } rangeSlider.OnValueChanged.AddListener(onRangeSliderChanged); // get light settings widget lightSettingsWidget = canvas.GetComponentInChildren <LightSettingsWidget>(true); if (lightSettingsWidget == null) { Debug.LogError(string.Format("{0}: Cant Find Component in Canvas: LightSettingsWidget.", this.GetType())); } //initalize main Menu GameObject mainMenuObject = new GameObject("mainMenuObject"); mainMenuObject.transform.SetParent(this.transform.parent, false); mainMenu = mainMenuObject.AddComponent <MainMenu>(); //initalize secondary Menu GameObject secondaryMenuObj = new GameObject("secondaryMenuObject"); secondaryMenuObj.transform.SetParent(this.transform, false); secondaryMenu = secondaryMenuObj.AddComponent <SecondaryMenu>(); //initalize center Menu GameObject centerMenuObj = new GameObject("centerMenuObject"); centerMenuObj.transform.SetParent(this.transform, false); centerMenu = centerMenuObj.AddComponent <CenterMenu>(); //initalize paramter Menu GameObject paramterMenuObj = new GameObject("paramterMenuObj"); paramterMenuObj.transform.SetParent(this.transform, false); parameterMenu = paramterMenuObj.AddComponent <SubMenu>(); // initalize ConfigWidget GameObject refObject = GameObject.Find("GUI/Canvas/ConfigWidget"); if (refObject == null) { Debug.LogWarning(string.Format("{0}: No GUI/Canvas/ConfigWidget Object found. Load From Resource.", this.GetType())); GameObject refObjectPrefab = Resources.Load <GameObject>("VPET/Prefabs/ConfigWidget"); refObject = Instantiate(refObjectPrefab); refObject.name = refObjectPrefab.name; GameObject refParent = GameObject.Find("GUI/Canvas"); refObject.transform.SetParent(refParent.transform, false); } configWidget = refObject.GetComponent <ConfigWidget>(); if (configWidget == null) { Debug.LogWarning(string.Format("{0}: No ConfigWidget Component found. Create", this.GetType())); configWidget = refObject.AddComponent <ConfigWidget>(); } // Submit listener configWidget.SubmitEvent.AddListener(mainController.configWidgetSubmit); // Ambient light listener configWidget.AmbientChangedEvent.AddListener(mainController.setAmbientIntensity); #if USE_TANGO // Show Tango Scale UI objects GameObject tangoScaleSliderUI = GameObject.Find("GUI/Canvas/ConfigWidget/TangoScale_slider"); // tangoScaleSliderUI.transform.localPosition = new Vector3(31.0f, -560.0f, 0.0f); GameObject tangoScaleLabelUI = GameObject.Find("GUI/Canvas/ConfigWidget/TangoScale_label"); //tangoScaleLabelUI.transform.localPosition = new Vector3(-105.0f, 530.0f, 0.0f); GameObject startButton = GameObject.Find("GUI/Canvas/ConfigWidget/Start_button"); GameObject sliderValueText = GameObject.Find("GUI/Canvas/ConfigWidget/TangoScale_Value"); sliderValueText.gameObject.SetActive(true); tangoScaleLabelUI.gameObject.SetActive(true); tangoScaleSliderUI.gameObject.SetActive(true); // Tango Scale Listener configWidget.TangoScaleChangedEvent.AddListener(tangoController.setTangoScaleIntensity); configWidget.OnSceneScaleChanged.AddListener(tangoController.scaleMovement); #endif /* * //initalize undo buttons * undoButton = Instantiate(GameObject.Find("ButtonTemplate")); * undoButton.transform.SetParent(this.transform,false); * //undoButton.GetComponent<RectTransform>().sizeDelta = SpriteSize; * undoButton.GetComponent<RectTransform>().position = new Vector2(Screen.height / 16 + 10, ((Screen.height / 3) * 2) - (Screen.height / 8 + 10)); * undoButton.GetComponent<Image>().sprite = GeneralMenu_Undo_nrm; * SpriteState undoSprites = new SpriteState(); * undoSprites.disabledSprite = GeneralMenu_Undo_nrm; * undoSprites.highlightedSprite = GeneralMenu_Undo_nrm; * undoSprites.pressedSprite = GeneralMenu_Undo_sel; * undoButton.GetComponent<Button>().spriteState = undoSprites; * undoButton.GetComponent<Button>().interactable = false; * undoButton.GetComponent<Button>().onClick.AddListener(() => undoButtonClicked()); * // temp hide it * undoButton.GetComponent<Image>().enabled = false; * * //initalize redo buttons * redoButton = Instantiate(GameObject.Find("ButtonTemplate")); * redoButton.transform.SetParent(this.transform, false); * //redoButton.GetComponent<RectTransform>().sizeDelta = SpriteSize; * redoButton.GetComponent<RectTransform>().position = new Vector2(Screen.width - (Screen.height / 16 + 10), ((Screen.height / 3) * 2) - (Screen.height / 8 + 10)); * redoButton.GetComponent<Image>().sprite = GeneralMenu_Redo_nrm; * SpriteState redoSprites = new SpriteState(); * redoSprites.disabledSprite = GeneralMenu_Redo_nrm; * redoSprites.highlightedSprite = GeneralMenu_Redo_nrm; * redoSprites.pressedSprite = GeneralMenu_Redo_sel; * redoButton.GetComponent<Button>().spriteState = redoSprites; * redoButton.GetComponent<Button>().interactable = false; * redoButton.GetComponent<Button>().onClick.AddListener(() => redoButtonClicked()); * // temp hide it * redoButton.GetComponent<Image>().enabled = false; */ //initalise mainMenu button IMenuButton iMainMenuButton = Elements.MenuButtonToggle(); mainMenuButton = ((Button)iMainMenuButton).gameObject; mainMenuButton.name = "MainMenuButton"; mainMenuButton.transform.SetParent(this.transform.parent, false); mainMenuButton.GetComponent <RectTransform>().localPosition = new Vector2(VPETSettings.Instance.canvasHalfWidth - UI.ButtonOffset, (VPETSettings.Instance.canvasHalfHeight - UI.ButtonOffset) * VPETSettings.Instance.canvasAspectScaleFactor); iMainMenuButton.AddAction(GeneralMenu_Main_sel, GeneralMenu_Main_nrm, () => mainMenuToggle()); mainMenuButton.SetActive(false); iMainMenuButton.Menu = mainMenu; //call setup function for all available menues setupMainMenu(); setupSecondaryMenu(); setupCenterMenu(); setupParameterMenu(); }