public void ClearOpenStack() { var target = UIInterfaceEnum.None;//根窗口 while (OpenStack.Count != 0 && OpenStack.Peek().name != target) { OpenStack.Pop(); } }
public void PushInOpenStack(UIInterfaceEnum name, string sceneName, string mapName, CtrlParams[] pars = null, List <int> specialreturnChain = null) { var item = new OpenStackItem(name, sceneName, mapName); item.pars = pars; if (name != UIInterfaceEnum.None) { if (UIInterfaceEnumUtil.IsRootUIInterfaceEnum(name)) { OpenStack.Clear(); } if (specialreturnChain != null && specialreturnChain.Count > 0 && UIInterfaceEnumUtil.IsRootUIInterfaceEnum((UIInterfaceEnum)specialreturnChain[specialreturnChain.Count - 1])) { OpenStack.Clear(); for (int i = specialreturnChain.Count - 1; i >= 0; i--) { UIInterfaceEnum specialName = (UIInterfaceEnum)specialreturnChain[i]; var specialItem = new OpenStackItem(specialName, UIInterfaceEnumUtil.IsRootUIInterfaceEnum(specialName) ? sceneName : sceneName, mapName); specialItem.pars = pars; OpenStack.Push(specialItem); } } if (OpenStack.Contains(item)) { while (!item.Equals(OpenStack.Pop())) { ; } } OpenStack.Push(item); } }
public void PopOutOpenStack() { OpenStack.Pop(); }