Пример #1
0
        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            spriteBatch.Begin();

            if (screenShot)
            {
                renderTarget = new RenderTarget2D(GraphicsDevice, graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight);
                GraphicsDevice.SetRenderTarget(renderTarget);
            }

            GraphicsDevice.Clear(Color.CornflowerBlue);
            EditorScreen.draw(world);

            //finds which tile is being hovered over
            findMouseoverTile();
            //draws border around hovered tile
            drawSelectedBorder();
            //draw accessibility guides if selected
            if (form.showAccessibilityToolStripMenuItem.Checked)
            {
                drawAccessibility();
            }
            if (form.showScriptsToolStripMenuItem.Checked)
            {
                drawScripts();
            }

            //update position of temporary selected model and draw at mouse position if we have one selected
            if (form.toolTab.SelectedTab == form.SceneryTab)
            {
                if (form.sceneryBox.SelectedItem != null && selectedX != -1 && selectedY != -1 && form.modelNewRadio.Checked)
                {
                    Scenery temp = form.sceneryList[(String)form.sceneryBox.SelectedItem];
                    temp.position = new Point(selectedX, selectedY);

                    drawModelBase(temp);
                    GameDraw.DrawScenery(temp, world.currentArea.globalX, world.currentArea.globalY);
                }
                else if (!form.editingBaseScenery && selectedX != -1 && selectedY != -1 && form.modelEditRadio.Checked)
                {
                    Scenery temp = form.activeSceneryEdit;
                    if (temp != null && ModelTool.carryingScenery)
                    {
                        temp.position = new Point(selectedX, selectedY);
                        drawModelBase(temp);
                        GameDraw.DrawScenery(temp, world.currentArea.globalX, world.currentArea.globalY);
                    }
                }
            }

            if (form.toolTab.SelectedTab == form.NPCTab)
            {
                DrawWanderArea();
            }

            spriteBatch.End();

            base.Draw(gameTime);

            /*
             * if (screenShot)
             *  takeScreenShot(); <--- it's not working =[
             */
        }