示例#1
0
 private void ShowNextInQueue()
 {
     if (windowQueue.Count > 0)
     {
         WindowHistoryEntry window = windowQueue.Dequeue();
         DoShow(window);
     }
 }
示例#2
0
 private void ShowPreviousInHistory()
 {
     if (windowHistory.Count > 0)
     {
         WindowHistoryEntry window = windowHistory.Pop();
         DoShow(window);
     }
 }
示例#3
0
    private void DoShow(WindowHistoryEntry windowEntry)
    {
        if (CurrentWindow == windowEntry.Screen)
        {
            Debug.Log("The requested Window ID " + windowEntry.Screen.screenID + " is already open!");
        }
        else if (CurrentWindow != null && CurrentWindow.HideOnForegroundLost && !windowEntry.Screen.IsPopup)
        {
            CurrentWindow.Hide();
        }

        windowHistory.Push(windowEntry);
        AddTransition(windowEntry.Screen);

        if (windowEntry.Screen.IsPopup)
        {
            priorityParaLayer.DarkenBG();
        }

        windowEntry.Show();

        CurrentWindow = windowEntry.Screen;
    }