public void Reset() { m_IsTransition = false; m_PopupPanelList.Clear(); m_CurrentPanel = null; m_PreviousPanel = null; }
private void StartPanel(GamePanelInfo panel) { m_CurrentPanel = panel; foreach (PanelType key in m_CurrentPanel.panels.Keys) { if (!m_CurrentPanel.panels[key].IsIn) { if (!m_CurrentPanel.panels.ContainsKey(PanelType.Right) && key == PanelType.Left) { m_CurrentPanel.panels[key].Initialize(() => SetTransition(false)); } else if (key == PanelType.Right) { m_CurrentPanel.panels[key].Initialize(() => SetTransition(false)); } else { m_CurrentPanel.panels[key].Initialize(); } } else { m_CurrentPanel.panels[key].OnChanged(); } } }
public void Play() { NicePlay.Utilities.DebugLog("Play = " + gamePanelType); gamePanelInfo = new GamePanelInfo(gamePanelType, gamePanels); GamePanelManager.Instance.Play(gamePanelInfo); }
public void Play(GamePanelInfo panel) { Debug.Log("nowpanel status" + m_IsTransition); if (!m_IsTransition) { SetTransition(true); if (m_CurrentPanel != null) { if (m_CurrentPanel.type == panel.type) { SetTransition(false); } m_PreviousPanel = m_CurrentPanel; for (int i = 0; i < (int)PanelType.Count; i++) { UnityAction tempAction = null; if (panel.panels.ContainsKey((PanelType)i)) { switch ((PanelType)i) { case PanelType.Right: { tempAction = () => StartPanel(panel); break; } case PanelType.Left: { if (!panel.panels.ContainsKey(PanelType.Right) || !m_PreviousPanel.panels.ContainsKey(PanelType.Right)) { tempAction = () => StartPanel(panel); } break; } } if (m_PreviousPanel.panels.ContainsKey((PanelType)i) && m_PreviousPanel.panels[(PanelType)i] != panel.panels[(PanelType)i]) { m_PreviousPanel.panels[(PanelType)i].Out(tempAction); } } else { switch ((PanelType)i) { case PanelType.Top: case PanelType.Bottom: case PanelType.Background: //case PanelType.Chest: { break; } default: { if (m_PreviousPanel.panels.ContainsKey((PanelType)i)) { m_PreviousPanel.panels[(PanelType)i].Out(tempAction); } break; } } } } } else { StartPanel(panel); } } }