public override void Render(SpriteBatch spriteBatch, ViewController view) { base.Render(spriteBatch, view); // TODO Change background to match planet type. CombatViewController combatView = (CombatViewController)view; string name = planet.GetName(); Vector2 nameSize = Assets.ARJULIAN.MeasureString(name); spriteBatch.DrawString(Assets.ARJULIAN, name, new Vector2(view.viewPortWidth / 2 - nameSize.X / 2, 2), Color.White); if (combatView.IsDeploying()) { string deploymentPhase = "Deployment Phase (Press shift to give initial move orders and place individual troops)"; Vector2 deploymentSize = Assets.ARJULIAN.MeasureString(deploymentPhase); spriteBatch.DrawString(Assets.ARJULIAN, deploymentPhase, new Vector2(view.viewPortWidth / 2 - deploymentSize.X / 2, nameSize.Y + 2), Color.White); } for (int currentSquad = 0; currentSquad < Squads.Count; currentSquad++) { Squad squad = Squads[currentSquad]; for (int i = 0; i < squad.Troops.Count; i++) { Troop troop = squad.Troops[i]; troop.Draw(spriteBatch, combatView, squad); //string leaderTag = i == Squads.Count - 1 ? "L" : ""; //spriteBatch.DrawString(Assets.ARJULIAN, $"{troop.Health} i {i}", // squad.Position + new Vector2(troop.Position.X, troop.Position.Y - 10) - combatView.GetCameraPosition(), // Color.White); } } if (combatView.currentlySelectedTroop != null) { //spriteBatch.DrawString(Assets.ARJULIAN, $"cur: {currentlySelectedTroop}") // draw currently selected troop id } if (combatView.assigningOrder) { /*Rectangle rect = new Rectangle(position.ToPoint().X, * position.ToPoint().Y, * Math.Abs((orderEnd - position).ToPoint().X), * Math.Abs((orderEnd - position).ToPoint().Y));*/ Debug.WriteLine("drawing order arrow"); spriteBatch.Draw(Assets.UITextures["order_move_arrow"], combatView.GetStartPositionOfOrder() - combatView.GetCameraPosition(), null, Color.White, combatView.GetOrderRotation(), new Vector2(0, 16), new Vector2(combatView.GetOrderScale(), 1 + combatView.GetOrderScale() / 20), SpriteEffects.None, 0); //Debug.WriteLine($"PX: {position.X}, PY: {position.Y}, RX: {rect.X}, RY: {rect.Y}, RW: {rect.Width}, RH: {rect.Height}, RO: {rot}"); } }