private void WipeOutSequence() { if (currentView != null) { GenericViewController currentViewController = currentView.GetComponent <GenericViewController>(); while (navigationStack.Count > 1 && currentViewController.viewType == ViewTypes.CONTENT_SEQUENCE) { Pop(); currentViewController.Show(false); if (allViewsDictionary.ContainsKey(navigationStack.Peek())) { currentView = allViewsDictionary[navigationStack.Peek()]; currentViewController = currentView.GetComponent <GenericViewController>(); } } Pop(); currentViewController.Show(false); if (navigationStack.Count > 0) { if (allViewsDictionary.ContainsKey(navigationStack.Peek())) { currentView = allViewsDictionary[navigationStack.Peek()]; currentViewController = currentView.GetComponent <GenericViewController>(); } } else { currentView = null; currentViewController = null; } } }
public void GoTo(string viewName) { GenericViewController currentViewController = currentView.GetComponent <GenericViewController>(); GenericViewController nextViewController = null; GameObject nextViewGameObject = null; if ((allViewsDictionary.ContainsKey(viewName)) && (currentViewController.viewName != viewName)) { previousViewName = currentViewController.viewName; nextViewGameObject = allViewsDictionary[viewName]; nextViewGameObject.SetActive(true); nextViewController = nextViewGameObject.GetComponent <GenericViewController>(); //Comes from if ((currentViewController.viewType == ViewTypes.WHOLE_WINDOW) || (nextViewController.viewType == ViewTypes.CONTENT_PANEL && currentViewController.viewType == ViewTypes.CONTENT_PANEL)) { Pop(); currentViewController.Show(false); } else if (nextViewController.viewType == ViewTypes.CONTENT_SEQUENCE && (currentViewController.viewType == ViewTypes.CONTENT_PANEL || currentViewController.viewType == ViewTypes.CONTENT_SEQUENCE)) { currentViewController.Show(false); } else if (currentViewController.viewType == ViewTypes.CONTENT_SEQUENCE && nextViewController.viewType == ViewTypes.CONTENT_PANEL) { WipeOutSequence(); } //Goes to ShowViewPanel(viewName); currentView = allViewsDictionary[viewName]; if (!(navigationStack.Count > 0 && navigationStack.Peek() == viewName)) { navigationStack.Push(viewName); } } else { //GoTo same view = Do nothing or refresh //currentView.GetComponent<GenericViewController>().Refresh(); } PrintStack(); }
void RegisterViews() { if (allViewsDictionary.Count == 0) { for (int iter = 0; iter < viewList.Length; iter++) { GenericViewController viewController = viewList[iter].GetComponent("GenericViewController") as GenericViewController; allViewsDictionary.Add(viewController.viewName, viewList[iter]); //viewController.googleAnalytics = googleAnalytics; if (viewController.viewType == ViewTypes.CONTENT_PANEL || viewController.viewType == ViewTypes.CONTENT_SEQUENCE) { contentViewDictionary.Add(viewController.viewName, viewList[iter]); } } } }
public void GoToRoot() { for (int iter = 0; iter < viewList.Length; iter++) { GenericViewController viewController = viewList[iter].GetComponent("GenericViewController") as GenericViewController; viewList[iter].SetActive(false); } string previousViewName = currentView.GetComponent <GenericViewController>().viewName; currentView = defaultView; GenericViewController currentViewController = defaultView.GetComponent <GenericViewController>(); navigationStack.Clear(); navigationStack.Push(currentViewController.viewName); currentView.SetActive(true); currentViewController.Show(true, previousViewName); }
public void ShowViewPanel(string value) { if (allViewsDictionary.ContainsKey(value)) { GameObject viewGameObject = allViewsDictionary[value]; GenericViewController viewController = viewGameObject.GetComponent <GenericViewController>(); if (viewController.viewType == ViewTypes.CONTENT_PANEL) { ShowContentViewPanel(value); } else if (viewController.viewType == ViewTypes.SCENE) { Application.LoadLevel(value); } else { viewGameObject.SetActive(true); viewController.Show(true, previousViewName); } currentView = allViewsDictionary[value]; } }