public void Hide() { if (IsOpen && isActive && instantiatedObject != null) { Command[] commands = new MenuBehaviourCommand[menuBehaviours.Length]; for (int i = 0; i < menuBehaviours.Length; i++) { commands[i] = new MenuBehaviourCommand(menuBehaviours[i], MenuBehaviourCommand.Type.Close, true); } MultiCommand multiCommand = new MultiCommand(commands); multiCommand.RegisterFinishCallback(HideFinish); commandQ.AddCommand(multiCommand); } else { HideFinish(); } }
public void Show() { if (IsOpen && !isActive && instantiatedObject != null) { instantiatedObject.SetActive(true); Command[] commands = new MenuBehaviourCommand[menuBehaviours.Length]; for (int i = 0; i < menuBehaviours.Length; i++) { commands[i] = new MenuBehaviourCommand(menuBehaviours[i], MenuBehaviourCommand.Type.Open, true); } MultiCommand multiCommand = new MultiCommand(commands); multiCommand.RegisterFinishCallback(ShowFinish); commandQ.AddCommand(multiCommand, CommandQueue.AddMode.Instant); } else { ShowFinish(); } }