示例#1
0
        internal void RenderInternal()
        {
            if (!UpdatedOnce)
            {
                return;               //prevent rendering before update
            }
            if (!Visible)
            {
                return;
            }
            if (Scene == null)
            {
                return;
            }

            if (Surface == null)
            {
                RenderEntity();
            }
            else
            {
                foreach (var surface in Surfaces)
                {
                    Surface temp = Draw.Target;

                    Draw.SetTarget(surface);

                    RenderEntity();

                    Draw.SetTarget(temp);
                }
            }
        }
示例#2
0
        internal void Render()
        {
            game.countRendering = false;

            var tempTarget = Draw.Target;

            Draw.SetTarget(renderSurface);

            Draw.Graphic(textPerformance, x, y);

            if (dismissFor > 0)
            {
                Draw.Graphic(textFramesLeft, x, y);
            }

            if (Visible)
            {
                Draw.Graphic(imgOverlay, x, y);
                Draw.Graphic(imgOtter, x, y);
                Draw.Graphic(imgError, x, y);

                if (countDownTimer > 0)
                {
                    Draw.Graphic(textCountdown, x, y);
                }
                else
                {
                    Draw.Graphic(imgScrollBarBg, x, y);
                    Draw.Graphic(imgScrollBar, x, y);
                    Draw.Graphic(textInput, x, y);
                    Draw.Graphic(textInputHelp, x, y);
                    Draw.Graphic(textPastCommands, x, y);
                    Draw.Graphic(textCommandsBuffered, x, y);
                }
            }
            else
            {
                if (liveConsoleLines > 0)
                {
                    Draw.Graphic(textPastCommandsLive, x, y);
                }
            }

            if (currentState == stateCamera)
            {
                Draw.Graphic(textCamera, x, y);
            }

            Draw.SetTarget(tempTarget);

            renderSurface.DrawToWindow(game);

            game.countRendering = true;
        }
示例#3
0
文件: Scene.cs 项目: AlexSolari/Evo
        internal void RenderInternal()
        {
            //Render scene graphics behind everything (Scenery!)
            if (Surface == null)
            {
                RenderScene();
            }
            else
            {
                Surface temp = Draw.Target;

                foreach (var surface in Surfaces)
                {
                    Draw.SetTarget(surface);

                    RenderScene();
                }

                Draw.SetTarget(temp);
            }

            foreach (KeyValuePair <int, List <Entity> > layer in layers.Reverse())
            {
                foreach (Entity e in layer.Value)
                {
                    if (e.AutoRender)
                    {
                        e.RenderInternal();
                    }
                }
            }

            if (Surface == null)
            {
                Render();
            }
            else
            {
                Surface temp = Draw.Target;

                foreach (var surface in Surfaces)
                {
                    Draw.SetTarget(surface);

                    Render();
                }

                Draw.SetTarget(temp);
            }
        }
示例#4
0
        internal void RenderInternal()
        {
            //Render scene graphics behind everything (Scenery!)
            if (Surface == null)
            {
                RenderScene();
            }
            else
            {
                Surface temp = Draw.Target;

                foreach (var surface in Surfaces)
                {
                    Draw.SetTarget(surface);

                    RenderScene();
                }

                Draw.SetTarget(temp);
            }

            foreach (var layer in layers.Reverse())
            {
                foreach (var e in layer.Value)
                {
                    if (e.AutoRender && e.Visible)
                    {
                        e.RenderInternal();
                    }
                }
            }

            if (Surface == null)
            {
                Render();
            }
            else
            {
                Surface temp = Draw.Target;

                foreach (var surface in Surfaces)
                {
                    Draw.SetTarget(surface);

                    Render();
                }

                Draw.SetTarget(temp);
            }
        }