void Update() { // Update the menu state if it needs to suddenly open or close if (!dummyParent && IsButtonClicked()) { SetMenuLocation(); if (IsMenuInFOV()) { dummyParent = (ClickMenuIcon)Instantiate(menuIconPrefab, transform); dummyParent.menuRoot = this; ClickMenuIcon.ShowMenu(this, menuTree.tree.Root, dummyParent, menuCenter, menuOrientation, iconScale); dummyParent.SetDummy(); if (OnMenuOpened != null) { OnMenuOpened.Invoke(); } } } else if ((GvrControllerInput.ClickButtonDown && !selected) || IsPointingAway()) { CloseAll(); } else if (dummyParent && GvrControllerInput.AppButtonUp) { MakeSelection(null); dummyParent.DeepestMenu().ShowParentMenu(); } }
public void CloseAll() { selected = false; if (dummyParent) { dummyParent.CloseAll(); Destroy(dummyParent.gameObject); dummyParent = null; if (OnMenuClosed != null) { OnMenuClosed.Invoke(); } } }