CMO模型文档-活动单元基类

ActiveUnit:活动单元基类

ActiveUnit 是一切"有生命周期、可被探测、可被毁伤"的战场对象的基类,共定义 91 个字段与 89 个属性。它本身不实现任何具体行为,而是通过 9 个能力域子对象(Navigator、Kinematics、Sensory、Weaponry、CommStuff、Damage、AirOps、DockingOps、AI)把职责分派出去。这种"外观 + 能力域"结构使得同一套单元框架可同时承载飞机、舰艇、潜艇、车辆、设施、卫星乃至在飞弹药。

表 3-1 ActiveUnit 核心字段与属性

字段/属性 数据类型 默认值 含义(推断)

DBID int 装备数据库记录标识,决定该单元的全部静态参数

Length float 单元长度(m),用于目视角尺寸与命中判定

EmptyWeight int 空重(kg)

MaxWeight int 最大总重(kg)

MaxPayloadWeight int 最大载荷重量(kg)

ParentScen Scenario 所属想定对象(回指)

AttachedTo ActiveUnit 寄宿于哪个母单元(舰载机停放于舰、车辆装载于登陆舰)

Doctrine Doctrine 本单元生效的交战条令(可继承自上级或本地覆盖)

Decoy bool 是否为诱饵单元(假目标)

TerrainFollowingType TerrainFollowMode 地形跟随模式(贴地飞行/地形规避/无)

OnboardCargo Cargo\[\] 机载/舰载货物数组

AssignedMissionsQueue Dictionary<Mission, Mission> 已分配任务队列

IncomingGuidedWeaponsList Weapon\[\] 来袭制导武器列表,AI 规避决策的输入

OperatorCountryCode int 使用国代码

Hypothetical bool 是否为假想/未服役装备

FlightRole Mission.Flight.FlightElement 编队内的飞行角色(长机/僚机等)

GroupRole GroupMemberType 编组内角色(旗舰、护卫、补给等)

ChanceOfAppearance int 出现概率(%),用于随机化想定

TimeUnderway float 已出动时长(s)

TimeSinceLastThreatDetection_ESM float 距上次 ESM 告警的时间(s)

EligibleForSAR bool 是否为搜救对象(跳伞飞行员、落水人员)

Name (属性) string 单元显示名称

InitialDP (属性) int 初始毁伤点数(Damage Point),即"血量"上限

MaxSpeed (属性) float 最大速度(kts)

CurrentHeading (属性) float 当前航向(°)

Attitude_Pitch (属性) float 当前俯仰角(°)

Proficiency (属性) GlobalVariables.ProficiencyLevel? 人员训练水平(影响反应时间与命中概率)

Status (属性) _ActiveUnitStatus 单元状态枚举(活动/受损/坠毁/返航等)

FuelState (属性) _ActiveUnitFuelState 燃油状态等级(Bingo/Joker 等)

WeaponState (属性) _ActiveUnitWeaponState 弹药状态等级

FuelCapacityMax (属性) int 燃油总容量

FuelCapacityCurrent (属性) int 当前燃油量

ThrottleSetting (属性) Throttle 当前油门档位(FullStop/Loiter/Cruise/Full/Flank)

DesiredSpeed (属性) float 期望速度(AI 下达,由运动学模块逼近)

DesiredAltitude (属性) float 期望高度(海平面基准)

DesiredAltitude_AGL (属性) float 期望离地高度

DesiredTurnRate (属性) TurnRate 期望转弯速率档位

DesiredPitch (属性) float 期望俯仰角

XSections_ReadOnly (属性) XSection\[\] 本单元的全部特征信号剖面(雷达/红外/目视/声)

Propulsion (属性) ObservableList 发动机集合

Mounts (属性) ObservableList 发射装置/挂架集合

Sensors_Cached (属性) Sensor\[\] 传感器缓存数组

WeatherAtMyLocation (属性) Weather.WeatherProfile 本单元所在位置的气象剖面(探测计算的环境输入)

HasEmittingRadars (属性) bool 是否有雷达正在辐射(决定能否被 ESM 截获)

IsDestroyed (属性) bool 是否已被摧毁

IsOutOfFuel (属性) bool 是否燃油耗尽

IsRTB (属性) bool 是否正在返航

TemporaryBlindness (属性) float 临时致盲时长(激光/强光/核闪光致盲)

LandCoverMaskingCapability (属性) bool 是否具备利用地表覆盖遮蔽的能力

表中最需要注意的是 InitialDP。该引擎不使用"生命值百分比",而使用具有物理量纲的毁伤点数:由 PhysicalConstants 定义,1 DP 等价于 1 kg TNT 当量(Kg_TNT_per_DP = 1.0),并且 1 m 处 1 DP 的参考毁伤能量为 1 356 750 J(Reference_1_DP_At_1_meter_Damage)。这使得战斗部装药量、爆炸超压、结构强度三者可以在同一量纲下直接换算,是第 5 章毁伤模型的量纲基础。

相关推荐
我是苏苏4 小时前
Agent 开发实战 :C#实现语义检索!向量数据库Qdrant的下载安装及调试步骤
c#·ai编程
光泽雨5 小时前
IEnumerable<T> 详细讲解
c#·c
Lost of 程序猿6 小时前
.NET 10 船端单机部署与离线升级实战:从闪退事故到无感回滚
c#·asp.net·.net
淡海水6 小时前
11-04-Unity-Span-foreach-LINQ的分配与热路径边界
unity·c#·linq·foreach·span
唐青枫20 小时前
对象到底住在哪里?C#.NET 托管堆从分配、GC 到内存排查
c#·.net
fogota1 天前
Emoji与Segoe MDL2 Assets的比较
c#·wpf
灸木1 天前
C# 多线程与异步
c#
鱼听禅1 天前
C# 学习笔记-使用 类型化客户端搭建HTTP客户端服务
学习·http·c#·工厂方法模式
geovindu1 天前
CSharp:Condition Variable Pattern
后端·设计模式·c#·.net·.netcore·条件变量模式·同步型模式