public void PopWindow() { // Remove Top Window UIWindowCtrl controller = windowStack.Pop(); if (controller != null) { controller.Destroy(); } // Call New Top Window Show controller = windowStack.Peek(); controller.OnShow(); }
public T ShowWindow <T>(bool hasBackground = false) where T : UIWindowCtrl { // Get Window Controller and Call Controller Show T controller = null; if (!gameObject.TryGetComponent <T>(out controller)) { controller = gameObject.AddComponent <T>(); } controller.OnShow(); // Hide Top Window if (!hasBackground && windowStack.Count > 0) { UIWindowCtrl topWindow = windowStack.Peek(); topWindow.OnHide(); } // Push Window into stack windowStack.Push(controller); return(controller); }