From 22660eb7a177c1a121b667a9dbbd7f711ddbef46 Mon Sep 17 00:00:00 2001 From: Tian jianyong <11429339@qq.com> Date: Thu, 24 Oct 2024 12:07:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=A4=E4=B8=AA=E5=AF=BC?= =?UTF-8?q?=E5=BC=B9=E7=9A=84=E7=8A=B6=E6=80=81=E8=8E=B7=E5=8F=96=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E5=B0=86=E5=AF=BC=E5=BC=B9=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=92=8C=E5=AF=BC=E5=BC=B9=E5=BC=95=E5=AF=BC=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=88=86=E5=BC=80=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Models/LaserBeamRiderGuidanceSystem.cs | 9 ++---- Models/LaserBeamRiderMissile.cs | 2 +- Models/LaserSemiActiveGuidedMissile.cs | 41 +++++++++++++++++++------- 3 files changed, 34 insertions(+), 18 deletions(-) diff --git a/Models/LaserBeamRiderGuidanceSystem.cs b/Models/LaserBeamRiderGuidanceSystem.cs index 08566a8..89649ae 100644 --- a/Models/LaserBeamRiderGuidanceSystem.cs +++ b/Models/LaserBeamRiderGuidanceSystem.cs @@ -218,12 +218,7 @@ namespace ActiveProtect.Models LastError = error; LastGuidanceAcceleration = GuidanceAcceleration; - Console.WriteLine($"Current Position: {Position}"); - Console.WriteLine($"Laser Source Position: {LaserSourcePosition}"); - Console.WriteLine($"Laser Direction: {LaserDirection}"); - Console.WriteLine($"Shortest Distance Vector: {shortestDistanceVector}"); - - //Console.WriteLine($"Guidance Command: {GuidanceCommand.Magnitude()}, Lateral Error: {shortestDistanceVector.Magnitude()}, Lateral Acceleration: {lateralAcceleration.Magnitude()}, Forward Acceleration: {forwardAcceleration.Magnitude()}"); + //Console.WriteLine($"Shortest Distance Vector: {shortestDistanceVector}"); } /// @@ -232,7 +227,7 @@ namespace ActiveProtect.Models /// 制导系统状态 public override string GetStatus() { - return $"LaserBeamRiderGuidanceSystem: HasGuidance={HasGuidance}, LaserSourcePosition={LaserSourcePosition}, LaserDirection={LaserDirection}, GuidanceAcceleration={GuidanceAcceleration}"; + return base.GetStatus(); } /// diff --git a/Models/LaserBeamRiderMissile.cs b/Models/LaserBeamRiderMissile.cs index d99c80e..2055fda 100644 --- a/Models/LaserBeamRiderMissile.cs +++ b/Models/LaserBeamRiderMissile.cs @@ -158,7 +158,7 @@ namespace ActiveProtect.Models public override string GetStatus() { string baseStatus = base.GetStatus().Replace("导弹", "激光驾束制导导弹"); - string additionalStatus = $"\n 激光引导: {(LaserBeamRiderGuidanceSystem.HasGuidance ? "有效" : "无效")}"; + string additionalStatus = LaserBeamRiderGuidanceSystem.HasGuidance ? LaserBeamRiderGuidanceSystem.GetStatus() : ""; return baseStatus + additionalStatus; } diff --git a/Models/LaserSemiActiveGuidedMissile.cs b/Models/LaserSemiActiveGuidedMissile.cs index 04ca18f..cc74b0a 100644 --- a/Models/LaserSemiActiveGuidedMissile.cs +++ b/Models/LaserSemiActiveGuidedMissile.cs @@ -71,16 +71,6 @@ namespace ActiveProtect.Models LaserGuidanceSystem.DeactivateLaserDesignator(); } - /// - /// 获取导弹状态信息 - /// - /// 状态信息字符串 - public override string GetStatus() - { - string baseStatus = base.GetStatus().Replace("导弹", "激光半主动制导导弹"); - string additionalStatus = $"\n 激光引导: {(LaserGuidanceSystem.HasGuidance ? "有效" : "无效")}"; - return baseStatus + additionalStatus; - } /// /// 激活导弹 @@ -104,6 +94,10 @@ namespace ActiveProtect.Models SimulationManager.UnsubscribeFromEvent(OnLaserIlluminationStop); } + /// + /// 更新导弹状态 + /// + /// 时间步长 public override void Update(double deltaTime) { switch (currentStage) @@ -124,6 +118,10 @@ namespace ActiveProtect.Models base.Update(deltaTime); } + /// + /// 更新发射阶段 + /// + /// 时间步长 private void UpdateLaunchStage(double deltaTime) { // 发射阶段 @@ -134,6 +132,10 @@ namespace ActiveProtect.Models } } + /// + /// 更新巡航阶段 + /// + /// 时间步长 private void UpdateCruiseStage(double deltaTime) { LaserGuidanceSystem.Update(deltaTime, Position, Velocity); @@ -149,15 +151,34 @@ namespace ActiveProtect.Models } } + /// + /// 更新爆炸阶段 + /// + /// 时间步长 private void UpdateExplodeStage(double deltaTime) { base.Explode(); } + /// + /// 更新自毁阶段 + /// + /// 时间步长 private void UpdateSelfDestructStage(double deltaTime) { SelfDestruct(); } + /// + /// 获取导弹状态信息 + /// + /// 状态信息字符串 + public override string GetStatus() + { + string baseStatus = base.GetStatus().Replace("导弹", "激光半主动制导导弹"); + string additionalStatus = LaserGuidanceSystem.HasGuidance ? LaserGuidanceSystem.GetStatus() : ""; + return baseStatus + additionalStatus; + } + } }