コード例 #1
0
        protected virtual void InstantShowPanel(UIPanelType type, DataProvider data = null)
        {
            Log("InstantShowPanel " + type);

            if (m_panels.ContainsKey(type))
            {
                var panel = m_panels[type];
                panel.gameObject.SetActive(true);
                if (m_deactivatedPanels.Contains(type))
                {
                    m_deactivatedPanels.Remove(type);
                }
                if (panel.PanelState == UIPanelState.Deactivate || panel.PanelState == UIPanelState.Show)
                {
                    if (panel.PanelState == UIPanelState.Deactivate)
                    {
                        panel.PanelState = UIPanelState.Show;
                    }
                    panel.UpdateData(data);
                    Log("Just UpdateData " + panel.PanelType);
                }
                else
                {
                    panel.ShowData(data);
                    panel.UpdateData(data);
                }
                OnPanelShowed?.Invoke(panel);
                Log("OnPanelShowed " + panel.PanelType);
            }
            else
            {
                StartCoroutine(InstantShowPanelAsync(type, data));
            }
        }