Ejemplo n.º 1
0
    private PanelUnit GetPanelInCache(string panelName)
    {
        PanelUnit panelUnit = null;

        if (null != dicPanels)
        {
            dicPanels.TryGetValue(panelName, out panelUnit);
        }
        return(panelUnit);
    }
Ejemplo n.º 2
0
    public void ClosePanel()
    {
        PanelUnit panelUnit = stackShownPanels.Peek();

        if (null != panelUnit)
        {
            IUIAction uIAction = panelUnit as IUIAction;
            uIAction.Close();
            PanelMoveOut(uIAction);
            stackShownPanels.Pop();
        }
    }
Ejemplo n.º 3
0
    public void OpenPanel <T>() where T : PanelUnit, new()
    {
        IUIAction uIAction  = null;
        string    panelName = typeof(T).Name;
        PanelUnit panelUnit = GetPanelInCache(panelName);

        if (null == panelUnit)
        {
            T t = new T();
            panelUnit = t as PanelUnit;
            GameObject panel = LoadModule.Ins.Load <GameObject>(ResEnum.UI, panelName);
            uIAction      = t as IUIAction;
            uIAction.root = panel;
            uIAction.Init();
        }
        else
        {
            uIAction = panelUnit as IUIAction;
        }
        uIAction.Refresh();
        stackShownPanels.Push(panelUnit);
        PanelMoveIn(panelUnit);
    }