/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.D1: currentShip = shipList.ElementAtOrDefault(0); break; case Keys.D2: currentShip = shipList.ElementAtOrDefault(1); break; case Keys.Q: currentShip.EfficientLoading = !currentShip.EfficientLoading; break; case Keys.Insert: currentShip = controllablesManager.CreateShip("D2RP", $"F4P"); shipList.Add(currentShip); currentShip.TryContinue(); break; case Keys.Tab: showScoreBoard = !showScoreBoard; break; } }
/// <summary> /// /// </summary> public GameScreen(GameUI parent) : base(parent) { this.parent = parent; universeSession = parent.Session; universeGroup = universeSession.UniverseGroup; mapManager = universeSession.MapManager; controllablesManager = universeSession.ControllablesManager; foreach (Flattiverse.Team team in universeGroup.Teams) { SolidColorBrush teamColor = new SolidColorBrush(parent.WindowRenderTarget, new SharpDX.Color4(team.Red, team.Green, team.Blue, 1f)); if (!Brushes.SolidColorBrushes.TeamColors.ContainsKey(team.Name)) { Brushes.SolidColorBrushes.TeamColors.Add(team.Name, teamColor); } } dashedStrokeStyle = new StrokeStyle(parent.Direct2DFactory, new StrokeStyleProperties() { DashStyle = DashStyle.Dash, DashCap = CapStyle.Flat }); missionTargetTextFormat = new SharpDX.DirectWrite.TextFormat(parent.DirectWriteFactory, "Arial", SharpDX.DirectWrite.FontWeight.Normal, SharpDX.DirectWrite.FontStyle.Normal, 12f); scoreBoard = new UniverseTable(this, universeGroup, Brushes.SolidColorBrushes.BlackHalfTransparent); scoreBoard.AddColumn(" ", "SmallAvatar", 40f, UniverseTeamTable.MAX_COLUMN_HEIGHT); scoreBoard.AddColumn("Name", "Name", UniverseTeamTable.MAX_COLUMN_WIDTH, UniverseTeamTable.MAX_COLUMN_HEIGHT); scoreBoard.AddColumn("Score", "Score", UniverseTeamTable.MAX_COLUMN_WIDTH, UniverseTeamTable.MAX_COLUMN_HEIGHT); scoreBoard.AddColumn("Kills", "Kills", UniverseTeamTable.MAX_COLUMN_WIDTH, UniverseTeamTable.MAX_COLUMN_HEIGHT); scoreBoard.AddColumn("Deaths", "Deaths", UniverseTeamTable.MAX_COLUMN_WIDTH, UniverseTeamTable.MAX_COLUMN_HEIGHT); scoreBoard.AddColumn("Avg. Commit Time", "AverageCommitTime", 250f, UniverseTeamTable.MAX_COLUMN_HEIGHT); currentShip = controllablesManager.CreateShip("D2RP", $"R1P"); shipList.Add(currentShip); currentShip.TryContinue(); }