Пример #1
0
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            //update the EditorScreen stuff if the window is focused
            Form xnaForm = (Form)Control.FromHandle(Window.Handle);

            if (xnaForm.Focused)
            {
                EditorScreen.update(gameTime, world);
            }

            base.Update(gameTime);
        }
Пример #2
0
        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            graphics.PreferredBackBufferHeight = 480;
            graphics.PreferredBackBufferWidth  = 640;
            IsFixedTimeStep = true;
            graphics.SynchronizeWithVerticalRetrace = true;
            graphics.PreferMultiSampling            = true;
            graphics.ApplyChanges();
            //initialize the various tools we'll use
            EditorScreen.initialize(form, this);
            TileTool.InitializeTool(this, form);
            ModelTool.InitializeTool(this, form);
            NPCTool.InitializeTool(this, form);



            base.Initialize();
        }
Пример #3
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 =[
             */
        }