/// <summary> /// Sets the current CCState and renders all displayed menus for this state /// </summary> void SetCCState(CCState newState, bool updateMenus) { //Begin state enable stuff //Begin state disable stuff if (newState != CCState.Selecting) { CC_Selectable.CancelSelect(); } CC_Menu CreationMenu = GetMenuByName("CreationMenu"); if (CreationMenu != null) { CreationMenu.SetEnabled(false); } CC_Menu windowManagerMenu = GetMenuByName("WindowManagerMenu"); if (windowManagerMenu != null) { windowManagerMenu.SetEnabled(false); } CC_UISelectionManager._instance.ChangeCCState(newState); backgroundHandler.Disable(); //Menu rendering if (updateMenus) { UpdateMenus(newState); } currState = newState; }
/// <summary> /// Creates the window manager menu. /// </summary> public void CreateWindowManagerMenu() { CC_Manager.CCState[] renderStates = { CC_Manager.CCState.Default, CC_Manager.CCState.Selecting }; CC_Menu menu = CC_Manager._instance.CreateNewCC_Menu(renderStates, "WindowManagerMenu"); menu.AddButton(() => SaveWindow(), "Save Window"); menu.AddButton(() => LoadWindow(), "Load Window"); }
/// <summary> /// Creates the creation menu menu. /// </summary> void CreateCreationMenu() { CCState[] renderStates = { CCState.Default }; CC_Menu menu = CreateNewCC_Menu(menuPanelPrefab, renderStates, "CreationMenu"); menu.AddButton(menuButtonPrefab, () => CreateButton(), "Create Button"); menu.AddButton(menuButtonPrefab, () => CreateImage(), "Create Image"); menu.AddButton(menuButtonPrefab, () => CreateText(), "Create Text"); }
/// <summary> /// Creates a base CC_Menu initializes it and adds it to the menu list /// </summary> public CC_Menu CreateNewCC_Menu(GameObject panelPrefab, CCState[] renderStates, string menuName) { //GameObject g = new GameObject(); //CC_Menu menu = g.AddComponent<CC_Menu>(); CC_Menu menu = ScriptableObject.CreateInstance <CC_Menu>(); menu.Initialize(menuPanelPrefab, renderStates, menuName); menus.Add(menu); return(menu); }
/// <summary> /// Creates the CC default menu /// </summary> void CreateCCMenu() { CCState[] renderStates = { CCState.Default, CCState.Selecting }; CC_Menu menu = CreateNewCC_Menu(menuPanelPrefab, renderStates, "CCMenu"); menu.AddButton(menuButtonPrefab, () => StopEditMode(), "Stop Editting"); menu.AddButton(menuButtonPrefab, () => OpenUIElementCreationMenu(), "Creation Menu"); menu.AddButton(menuButtonPrefab, () => CallBackground(), "Background Color Menu"); menu.AddButton(menuButtonPrefab, () => ToggleWindowManager(), "Save/Load"); menu.SetEnabled(true); }
/// <summary> /// Creates the selection menu for the CC_Manager /// </summary> void CreateSelectionMenu() { CC_Manager.CCState[] renderStates = { CC_Manager.CCState.Selecting }; //CC_Menu menu = CC_Manager._instance.CreateNewCC_Menu(renderStates, "SelectionMenu"); menu = CC_Manager._instance.CreateNewCC_Menu(renderStates, "SelectionMenu"); menu.AddButton(() => SetMoveMode(), "Move"); menu.AddButton(() => SetRotateMode(), "Rotate"); menu.AddButton(() => SetScaleMode(), "Scale"); menu.AddSpace(25); menu.AddButton(() => DeleteObject(), "Delete"); menu.AddSpace(25); menu.AddButton(() => CallImgHandler(), "Image Handler"); menu.AddButton(() => CallingURLHandler(), "Url Handler"); menu.AddButton(() => CallTransitionHandler(), "Button Settings"); }
/// <summary> /// Updates the menus positions given a new state /// </summary> public void UpdateMenus(CCState newState) { int renderCount = 0; for (int i = 0; i < menus.Count; i++) { CC_Menu m = menus [i]; if (m.isEnabled() && m.renderStates.Contains(newState)) { m.StartRender(); m.SetPosition(renderCount); renderCount++; } else { m.StopRender(); } } }