37 lines
1.4 KiB
Plaintext
37 lines
1.4 KiB
Plaintext
using System.Collections.Generic;
|
|
using ActiveProtect.SimulationEnvironment;
|
|
|
|
namespace ActiveProtect.Models
|
|
{
|
|
public class TerminalSensitiveMissile : SimulationElement
|
|
{
|
|
private TerminalSensitiveMotherMissile motherMissile;
|
|
private List<TerminalSensitiveSubmunition> submunitions;
|
|
|
|
public TerminalSensitiveMissile(string id, MissileConfig missileConfig, ISimulationManager simulationManager)
|
|
: base(id, missileConfig.InitialPosition, missileConfig.InitialOrientation, missileConfig.InitialSpeed, simulationManager)
|
|
{
|
|
motherMissile = new TerminalSensitiveMotherMissile($"{id}_Mother", missileConfig, simulationManager);
|
|
submunitions = new List<TerminalSensitiveSubmunition>();
|
|
SimulationManager.AddElement(motherMissile);
|
|
}
|
|
|
|
public override void Update(double deltaTime)
|
|
{
|
|
// 这个类现在主要用于管理和跟踪整个末敏弹系统的状态
|
|
// 实际的更新逻辑由母弹和子弹各自处理
|
|
}
|
|
|
|
public override string GetStatus()
|
|
{
|
|
string status = $"Terminal Sensitive Missile System {Id}:\n";
|
|
status += motherMissile.GetStatus() + "\n";
|
|
foreach (var submunition in submunitions)
|
|
{
|
|
status += submunition.GetStatus() + "\n";
|
|
}
|
|
return status;
|
|
}
|
|
}
|
|
}
|