Example #1
0
    public void ClearOpenStack()
    {
        var target = UIInterfaceEnum.None;//根窗口

        while (OpenStack.Count != 0 && OpenStack.Peek().name != target)
        {
            OpenStack.Pop();
        }
    }
Example #2
0
    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);
        }
    }
Example #3
0
 public void PopOutOpenStack()
 {
     OpenStack.Pop();
 }