Ejemplo n.º 1
0
        /// <summary>
        /// Shows the Screen.
        /// </summary>
        /// <param name="uiToShow">Screen to show.</param>
        /// <param name="pos">Position of the Screen.</param>
        /// <param name="previousScreenVisibility">Previous screen visibility.</param>
        /// <param name="param">Aditional Parameters.</param>
        public IWidget ShowUI(GameUI uiToShow, Vector3 pos, PreviousScreenVisibility previousScreenVisibility, bool allowDuplicateInQueue, bool searchGameObjectsWithTag, bool setAsLastSibling = true, params object[] param)
        {
            // Hide or Dequeue Previous UI
            if (previousScreenVisibility != PreviousScreenVisibility.DoNothing)
            {
                if (previousScreenVisibility == PreviousScreenVisibility.DequeuePreviousExcludingHud || previousScreenVisibility == PreviousScreenVisibility.DequeuePreviousIncludingHud)
                {
                    DequeueUI(previousScreenVisibility);
                }
                if (previousScreenVisibility == PreviousScreenVisibility.HidePreviousExcludingHud || previousScreenVisibility == PreviousScreenVisibility.HidePreviousIncludingHud)
                {
                    HideCurrentUI(previousScreenVisibility);
                }
            }
            IWidget uiRef = null;


            uiRef = GetScreen(uiToShow, true, searchGameObjectsWithTag, allowDuplicateInQueue);

            ((MonoBehaviour)uiRef).transform.SetParent(_parentCanvas, false);
            ((MonoBehaviour)uiRef).transform.localPosition = pos;

            if (setAsLastSibling)
            {
                ((MonoBehaviour)uiRef).transform.SetAsLastSibling();
            }

            return(ShowUI(uiRef, allowDuplicateInQueue, param));
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Hides the Previous Screen.
 /// </summary>
 /// <param name="previousScreenVisibility">Previous Screen visibility.</param>
 public void HideCurrentUI(PreviousScreenVisibility previousScreenVisibility)
 {
     if (UIQueue.Count > 0)
     {
         IWidget screen = UIQueue [UIQueue.Count - 1];
         if (previousScreenVisibility == PreviousScreenVisibility.DequeuePreviousIncludingHud || !(screen is Hud))
         {
             this.HideUI(screen);
         }
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Dequeues the Previous Screen from the Screens Queue.
 /// </summary>
 /// <param name="previousScreenVisibility">Previous Screen Visibility.</param>
 public void DequeueUI(PreviousScreenVisibility previousScreenVisibility)
 {
     if (UIQueue.Count > 0)
     {
         IWidget screen = UIQueue [UIQueue.Count - 1];
         if (previousScreenVisibility == PreviousScreenVisibility.DequeuePreviousIncludingHud || !(screen is Hud))
         {
             UIQueue.RemoveAt(UIQueue.Count - 1);
             this.DestroyUI(screen);
         }
     }
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Shows the Screen.
 /// </summary>
 /// <param name="uiToShow">Screen to show.</param>
 /// <param name="previousScreenVisibility">Previous Screen Visibility.</param>
 /// <param name="param">Aditional Parameters.</param>
 public IWidget ShowUI(GameUI uiToShow, PreviousScreenVisibility previousScreenVisibility, params object[] param)
 {
     return(ShowUI(uiToShow, Vector3.zero, previousScreenVisibility, _allowDuplicateInQueue, _searchGameObjectsWithTag, true, param));
 }