Пример #1
0
        /// <summary>
        /// Fires the PostRender event.
        /// </summary>
        /// <param name="deltaTime">The change in time.</param>
        public void PostRender(float deltaTime)
        {
            // Window size goes 0 when minimized
            if (Api.Render.FrameWidth == 0 || Api.Render.FrameHeight == 0)
            {
                return;
            }

            if (bounds.ParentBounds.RequiresRecalculation)
            {
                Api.Logger.Notification("Window probably resized, recalculating dialog bounds and recomposing " + dialogName + "...");
                bounds.MarkDirtyRecursive();
                bounds.ParentBounds.CalcWorldBounds();

                // Check here to because it would crash otherwise when trying to calc bounds and child bounds
                if (bounds.ParentBounds.OuterWidth == 0 || bounds.ParentBounds.OuterHeight == 0)
                {
                    return;
                }


                bounds.CalcWorldBounds();

                ReCompose();
            }

            foreach (GuiElement element in interactiveElementsInDrawOrder)
            {
                element.PostRenderInteractiveElements(deltaTime);
            }
        }