示例#1
0
文件: WUI.cs 项目: ech0array/chunx
    internal bool Stack(WUIMenu wUIMenu)
    {
        if (baseComponents.wUIMenuStack.Contains(wUIMenu))
        {
            return(false);
        }


        if (baseComponents.wUIMenuStack.Count > 0)
        {
            WUIMenu currentWUIMenu = baseComponents.wUIMenuStack.Peek();
            if (currentWUIMenu != null)
            {
                if (currentWUIMenu.blockStack)
                {
                    return(false);
                }
                currentWUIMenu.Unfocus();
            }
        }

        wUIMenu.transform.position = baseComponents.wUIMenuStack.Count == 0 ? baseComponents.wUIMenuContainer.transform.position : baseData.deltaPosition;
        wUIMenu.Focus();

        baseComponents.wUIMenuStack.Push(wUIMenu);

        return(true);
    }
示例#2
0
文件: WUI.cs 项目: ech0array/chunx
    internal void Focus(WUIMenu wUIMenu, Color color)
    {
        focalWUIMenu = wUIMenu;
        wUIMenu.transform.SetAsLastSibling();
        int sibilingIndex = wUIMenu.transform.GetSiblingIndex();

        baseComponents.background.gameObject.transform.SetSiblingIndex(sibilingIndex - 1);
        baseComponents.background.color = color;
        baseComponents.background.gameObject.SetActive(true);
    }
示例#3
0
文件: WUI.cs 项目: ech0array/chunx
    internal bool UnstackCurrent()
    {
        WUIMenu wUIMenu = baseComponents.wUIMenuStack.Peek();

        if (wUIMenu == null)
        {
            return(true);
        }
        wUIMenu.Unstack();
        return(baseComponents.wUIMenuStack.Count == 0);
    }
示例#4
0
    private void PerformAction()
    {
        if (_closeParentMenu)
        {
            // Close parent menu
            WUIMenu wUIMenu = base.gameObject.GetComponentInParent <WUIMenu>();
            if (wUIMenu != null)
            {
                wUIMenu.Unstack();
            }
        }

        onClick.Invoke();
    }
示例#5
0
文件: WUI.cs 项目: ech0array/chunx
    internal void Unstack()
    {
        baseComponents.wUIMenuStack.Pop();

        if (baseComponents.wUIMenuStack.Count > 0)
        {
            WUIMenu currentWUIMenu = baseComponents.wUIMenuStack.Peek();
            if (currentWUIMenu != null)
            {
                currentWUIMenu.Focus();
            }
        }
        else
        {
            baseComponents.background.gameObject.SetActive(false);
        }
    }