Ejemplo n.º 1
0
    private List <UIWindowEnum> GetSurplusWindows(UIInterfaceEnum name, UIInterfaceEnum minus, List <UIWindowEnum> oResult)
    {
        var list = GetWindowList(name);

        foreach (var winName in list)
        {
            oResult.Add(winName);
        }

        if (minus == UIInterfaceEnum.None)
        {
            return(oResult);
        }

        var minuses = GetWindowList(minus);

        for (int i = oResult.Count - 1; i >= 0; i--)
        {
            if (minuses.Contains(oResult[i]))
            {
                oResult.RemoveAt(i);
            }
        }

        return(oResult);
    }
Ejemplo n.º 2
0
    private void RecurseWindowList(UIInterfaceEnum name, Action <UIWindowEnum> action)
    {
        var list = GetWindowList(name);

        for (int i = 0; i < list.Count; i++)
        {
            action(list[i]);
        }
    }
Ejemplo n.º 3
0
    public List <UIWindowEnum> GetWindowList(UIInterfaceEnum name)
    {
        UIInterfaceInfo info;

        if (m_InterfaceDict.TryGetValue((int)name, out info))
        {
            return(info.WinEnumList);
        }

        return(null);
    }
Ejemplo n.º 4
0
 static void RegisterInterfaceInfo(Dictionary <int, UIInterfaceInfo> dict, UIInterfaceEnum name, List <UIWindowEnum> windowArray)
 {
     if ((int)name < 0 || (int)name > 1000)
     {
         return;
     }
     if (!dict.ContainsKey((int)name))
     {
         dict.Add((int)name, new UIInterfaceInfo(name, windowArray));
     }
 }
Ejemplo n.º 5
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);
        }
    }
Ejemplo n.º 6
0
 public OpenStackItem(UIInterfaceEnum name, string sceneName, string mapName)
 {
     this.name      = name;
     this.SceneName = sceneName;
     MapName        = mapName;
 }
Ejemplo n.º 7
0
 public UIInterfaceInfo(UIInterfaceEnum interfaceEnum, List <UIWindowEnum> winEnumList)
 {
     InterfaceEnum = interfaceEnum;
     WinEnumList   = winEnumList;
 }
Ejemplo n.º 8
0
 public static bool IsRootUIInterfaceEnum(UIInterfaceEnum name)
 {
     return(RootInterfaceName.Contains((int)name));
 }