/// <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); }
/// <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(); }
/// <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 =[ */ }