Exemple #1
0
        /// <summary>
        /// Changes the current panel to the specified panel id.
        /// </summary>
        public void ChangeCurrentPanel(string panelId)
        {
            UiPanel panel;

            if (_uiPanelDataHolder.TryGetValue(panelId, out panel))
            {
                {
                    UiPanel prevPanel = _currentPanel;

                    if (prevPanel != null)
                    {
                        PanelExitContext context = new PanelExitContext();
                        // Debug.Log("Exit: " + prevPanel.name);
                        prevPanel.OnExit(context);
                    }
                }

                {
                    PanelEnterContext context = new PanelEnterContext();
                    _currentPanel   = panel;
                    _currentPanelId = panelId;
                    // Debug.Log("Enter: " + _currentPanel.name);
                    _currentPanel.OnEnter(context);
                }
            }
            else
            {
                Debug.LogError("Unable to activate a panel that is not registered: " + panelId);
            }
        }