public void Render(DwarfGame game, DwarfTime time, GraphicsDevice g) { CurrentTool.Render(game, g, time); VoxSelector.Render(); foreach (CreatureAI creature in Faction.SelectedMinions) { //Drawer2D.DrawZAlignedRect(creature.Position + Vector3.Down * 0.5f, 0.25f, 0.25f, 2, new Color(255, 255, 255, 50)); creature.Creature.SelectionCircle.IsVisible = true; foreach (Task task in creature.Tasks) { task.Render(time); } if (creature.CurrentTask != null) { creature.CurrentTask.Render(time); } } DwarfGame.SpriteBatch.Begin(); BodySelector.Render(DwarfGame.SpriteBatch); DwarfGame.SpriteBatch.End(); }
public void UpdateInput(DwarfGame game, DwarfTime time) { KeyboardState keyState = Keyboard.GetState(); MouseState mouseState = Mouse.GetState(); if (!IsMouseOverGui()) { UpdateMouse(Mouse.GetState(), Keyboard.GetState(), game, time); VoxSelector.Update(); BodySelector.Update(); } }
public void Render(DwarfGame game, DwarfTime time) { CurrentTool.Render(game, time); VoxSelector.Render(); foreach (var m in Faction.Minions) { if (m.Creature.SelectionCircle != null) { m.Creature.SelectionCircle.IsVisible = false; } m.Creature.Sprite.DrawSilhouette = false; } ; foreach (CreatureAI creature in Faction.SelectedMinions) { if (creature.Creature.SelectionCircle != null) { creature.Creature.SelectionCircle.IsVisible = true; } creature.Creature.Sprite.DrawSilhouette = true; foreach (Task task in creature.Tasks) { if (task.IsFeasible(creature.Creature) == Task.Feasibility.Feasible) { task.Render(time); } } if (creature.CurrentTask != null) { creature.CurrentTask.Render(time); } } DwarfGame.SpriteBatch.Begin(); BodySelector.Render(DwarfGame.SpriteBatch); DwarfGame.SpriteBatch.End(); foreach (var obj in SelectedObjects) { if (obj.IsVisible && !obj.IsDead) { Drawer3D.DrawBox(obj.GetBoundingBox(), Color.White, 0.01f, true); } } }
public void Render(DwarfGame game, DwarfTime time, GraphicsDevice g) { CurrentTool.Render(game, g, time); VoxSelector.Render(); foreach (var m in Faction.Minions) { if (m.Creature.SelectionCircle != null) { m.Creature.SelectionCircle.IsVisible = false; } m.Creature.Sprite.DrawSilhouette = false; } ; foreach (CreatureAI creature in Faction.SelectedMinions) { if (creature.Creature.SelectionCircle != null) { creature.Creature.SelectionCircle.IsVisible = true; } creature.Creature.Sprite.DrawSilhouette = true; foreach (Task task in creature.Tasks) { if (task.IsFeasible(creature.Creature) == Task.Feasibility.Feasible) { task.Render(time); } } if (creature.CurrentTask != null) { creature.CurrentTask.Render(time); } } DwarfGame.SpriteBatch.Begin(); BodySelector.Render(DwarfGame.SpriteBatch); DwarfGame.SpriteBatch.End(); }
/// <summary> /// Called when a frame is to be drawn to the screen /// </summary> /// <param name="gameTime">The current time</param> public override void Render(DwarfTime gameTime) { Game.Graphics.GraphicsDevice.SetRenderTarget(null); Game.Graphics.GraphicsDevice.Clear(Color.Black); EnableScreensaver = !World.ShowingWorld; if (World.ShowingWorld) { World.Renderer.ValidateShader(); if (!MinimapFrame.Hidden && !Gui.RootItem.Hidden) { MinimapRenderer.PreRender(DwarfGame.SpriteBatch); } World.Renderer.Render(gameTime); CurrentTool.Render3D(Game, gameTime); VoxSelector.Render(); foreach (var obj in SelectedObjects) { if (obj.IsVisible && !obj.IsDead) { Drawer3D.DrawBox(obj.GetBoundingBox(), Color.White, 0.01f, true); } } CurrentTool.Render2D(Game, gameTime); foreach (CreatureAI creature in World.PersistentData.SelectedMinions) { foreach (Task task in creature.Tasks) { if (task.IsFeasible(creature.Creature) == Feasibility.Feasible) { task.Render(gameTime); } } if (creature.CurrentTask.HasValue(out var currentTask)) { currentTask.Render(gameTime); } } DwarfGame.SpriteBatch.Begin(); BodySelector.Render(DwarfGame.SpriteBatch); DwarfGame.SpriteBatch.End(); if (Gui.RenderData.RealScreen.Width != Gui.RenderData.Device.Viewport.Width || Gui.RenderData.RealScreen.Height != Gui.RenderData.Device.Viewport.Height) { Gui.RenderData.CalculateScreenSize(); Gui.RootItem.Rect = Gui.RenderData.VirtualScreen; Gui.ResetGui(); CreateGUIComponents(); } if (!MinimapFrame.Hidden && !Gui.RootItem.Hidden) { Gui.Draw(new Point(0, 0), false); MinimapRenderer.Render(new Rectangle(MinimapFrame.Rect.X, MinimapFrame.Rect.Bottom - 192, 192, 192), Gui); Gui.DrawMesh(MinimapFrame.GetRenderMesh(Gui.RenderMeshInvalidation), Gui.SpriteAtlas.Texture); Gui.RedrawPopups(); Gui.DrawMouse(); } else { Gui.Draw(); } } base.Render(gameTime); }