修改两个导弹的状态获取方法,将导弹状态和导弹引导系统状态分开获取
This commit is contained in:
parent
6fca00b28c
commit
22660eb7a1
@ -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}");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -232,7 +227,7 @@ namespace ActiveProtect.Models
|
||||
/// <returns>制导系统状态</returns>
|
||||
public override string GetStatus()
|
||||
{
|
||||
return $"LaserBeamRiderGuidanceSystem: HasGuidance={HasGuidance}, LaserSourcePosition={LaserSourcePosition}, LaserDirection={LaserDirection}, GuidanceAcceleration={GuidanceAcceleration}";
|
||||
return base.GetStatus();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -71,16 +71,6 @@ namespace ActiveProtect.Models
|
||||
LaserGuidanceSystem.DeactivateLaserDesignator();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取导弹状态信息
|
||||
/// </summary>
|
||||
/// <returns>状态信息字符串</returns>
|
||||
public override string GetStatus()
|
||||
{
|
||||
string baseStatus = base.GetStatus().Replace("导弹", "激光半主动制导导弹");
|
||||
string additionalStatus = $"\n 激光引导: {(LaserGuidanceSystem.HasGuidance ? "有效" : "无效")}";
|
||||
return baseStatus + additionalStatus;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 激活导弹
|
||||
@ -104,6 +94,10 @@ namespace ActiveProtect.Models
|
||||
SimulationManager.UnsubscribeFromEvent<LaserIlluminationStopEvent>(OnLaserIlluminationStop);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新导弹状态
|
||||
/// </summary>
|
||||
/// <param name="deltaTime">时间步长</param>
|
||||
public override void Update(double deltaTime)
|
||||
{
|
||||
switch (currentStage)
|
||||
@ -124,6 +118,10 @@ namespace ActiveProtect.Models
|
||||
base.Update(deltaTime);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新发射阶段
|
||||
/// </summary>
|
||||
/// <param name="deltaTime">时间步长</param>
|
||||
private void UpdateLaunchStage(double deltaTime)
|
||||
{
|
||||
// 发射阶段
|
||||
@ -134,6 +132,10 @@ namespace ActiveProtect.Models
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新巡航阶段
|
||||
/// </summary>
|
||||
/// <param name="deltaTime">时间步长</param>
|
||||
private void UpdateCruiseStage(double deltaTime)
|
||||
{
|
||||
LaserGuidanceSystem.Update(deltaTime, Position, Velocity);
|
||||
@ -149,15 +151,34 @@ namespace ActiveProtect.Models
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新爆炸阶段
|
||||
/// </summary>
|
||||
/// <param name="deltaTime">时间步长</param>
|
||||
private void UpdateExplodeStage(double deltaTime)
|
||||
{
|
||||
base.Explode();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新自毁阶段
|
||||
/// </summary>
|
||||
/// <param name="deltaTime">时间步长</param>
|
||||
private void UpdateSelfDestructStage(double deltaTime)
|
||||
{
|
||||
SelfDestruct();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取导弹状态信息
|
||||
/// </summary>
|
||||
/// <returns>状态信息字符串</returns>
|
||||
public override string GetStatus()
|
||||
{
|
||||
string baseStatus = base.GetStatus().Replace("导弹", "激光半主动制导导弹");
|
||||
string additionalStatus = LaserGuidanceSystem.HasGuidance ? LaserGuidanceSystem.GetStatus() : "";
|
||||
return baseStatus + additionalStatus;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user