驾驶者接口与玩家控制状态。 更多...
类 | |
| struct | ArmorZone |
| 装甲区(Phase 4 伤害管线使用;Phase 2 仅作为定义数据保留)。 更多... | |
| class | IVehicleDamageModifier |
| 伤害修饰器(游戏侧注册,多重监听,按优先级调用)。 更多... | |
| class | IVehicleDriver |
| 驾驶者:把某乘客的控制转成载具输入。 更多... | |
| class | IVehicleMobility |
| 移动模型:读输入、更新运动状态。 更多... | |
| struct | MountDef |
| 武器挂点声明(载具模板的一部分)。 更多... | |
| struct | PlayerControl |
| 一名玩家的原始控制(归一化,游戏侧填充)。角度为度。 更多... | |
| struct | SeatDef |
| 座位声明(载具模板的一部分,FPS 面)。 更多... | |
| struct | SuspensionConfig |
| 3D 悬架参数(车辆模板的一部分)。 更多... | |
| struct | SuspensionWheel |
| 3D 悬架车轮配置(raycast 悬架用)。 更多... | |
| class | Vehicle |
| 载具模块(eve.Vehicle)。 更多... | |
| class | VehicleAttributeAdapter |
| Adapts VehicleEntity health and armor to the common attribute core. 更多... | |
| struct | VehicleDefinition |
| 载具模板(registerVehiclesFromJson 注册,进程级注册表)。 更多... | |
| class | VehicleDefinitionRuntime |
| Binds a VehicleDefinition to a VehicleEntity without a new root type. 更多... | |
| class | VehicleEffectAdapter |
| Vehicle adapter with one common container and one typed executor. 更多... | |
| struct | VehicleEffectDefinition |
| Strong vehicle definition projected into the common lifecycle. 更多... | |
| class | VehicleEffectExecutor |
| Vehicle executor applying armor-zone and disable strategies. 更多... | |
| struct | VehicleEffectSnapshot |
| In-memory vehicle effect snapshot. 更多... | |
| struct | VehicleEffectTarget |
| Mutable vehicle state changed by the effect executor. 更多... | |
| struct | VehicleEffectUpdate |
| Result of one vehicle lifecycle step and armor settlement. 更多... | |
| class | VehicleEntity |
| 载具实体:数据全部在组件里,行为在 VehicleSystem。 更多... | |
| struct | VehicleEvent |
| 载具事件(帧缓存,脚本轮询)。 更多... | |
| struct | VehicleInput |
| 每帧驾驶输入(由 PlayerDriver / OrderSystem / 脚本写入)。 更多... | |
| struct | VehicleOrder |
| 一条 Vehicle 领域命令(生命周期由 Vehicle order adapter 执行)。 更多... | |
| class | VehicleOrderQueueAdapter |
| Maps VehicleOrder domain payloads onto an orders::CommandQueue. 更多... | |
| class | VehiclePhysics |
| VehiclePhysics public API. 更多... | |
| class | VehiclePhysicsBinding |
| struct | VehicleRuntimeState |
| Mutable state owned by one typed vehicle runtime instance. 更多... | |
| class | VehicleSeatContainerAdapter |
| Transactional adapter over one VehicleEntity::Seats component. 更多... | |
| struct | VehicleSeatContainerObject |
| Owning snapshot payload for a vehicle occupant membership. 更多... | |
| class | VehicleSettlementAdapter |
| Settles damage/healing against one VehicleEntity. 更多... | |
| class | VehicleSystem |
| 载具系统:移动注册 + 命令处理 + 更新。 更多... | |
类型定义 | |
| using | VehicleEventSink = std::function< void(const VehicleEvent &)> |
| 事件汇:由 Vehicle 模块(或测试)注册,把事件写入自己的队列。 | |
枚举 | |
| enum class | VehicleEffectKind : std::uint8_t { Damage , Repair , Disable } |
| Vehicle-specific effect strategy. 更多... | |
| enum class | VehiclePhysicsStatus : uint8_t { Applied , Unavailable } |
| Outcome of an optional physics attach, detach, or mobility step. 更多... | |
| enum class | VehicleOrderType : uint8_t { Move , AttackMove , Attack , Stop , Hold } |
| RTS 命令类型。 更多... | |
| enum class | VehicleEventType : uint8_t { OrderCompleted , Damaged , Destroyed } |
| 载具事件类型。 更多... | |
函数 | |
| Module_IMPL (Vehicle, new Vehicle()) | |
| const char * | vehicleOrderTypeName (VehicleOrderType type) |
| 命令类型的字符串名("move" | "attack_move" | ...)。 | |
| const char * | vehicleEventTypeName (VehicleEventType type) |
| 事件类型的字符串名。 | |
| eve::Result< VehicleDefinition > | parseVehicleDefinition (const eve::definitions::Definition &source) |
| Parse one canonical registry definition into a short-lived typed projection. | |
| std::ostream & | operator<< (std::ostream &stream, VehicleOrderType type) |
| Writes the stable vehicle-order protocol name. | |
详细描述
驾驶者接口与玩家控制状态。
载具行为静态系统:移动模型注册表 + 命令队列 + 每帧推进。
Vehicle-to-orders compatibility adapter.
载具移动模型接口。
FPS/直接驾驶面:游戏每帧把玩家输入(键盘/鼠标/手柄)写入 VehicleSystem::setPlayerControls,座位系统把控制路由给驾驶员座位 (移动输入)与武器座位(瞄准/开火)。新增一种驾驶行为(AI 驾驶、 触屏、脚本驾驶)= 实现 IVehicleDriver 并按名字注册。
新增一种载具类型(汽车 / 坦克 / 船 / 摩托 / 悬浮 / 直升机)= 实现本接口 并按名字注册到 VehicleSystem(registerMobility),不需要改引擎头文件。 移动模型只做"输入 → 运动"的转换:读 v.input(),写 v.motion() (物理模式下通过 IVehicleBody 操作刚体)。
The adapter owns the generic order lifecycle while retaining VehicleOrder as the Vehicle domain payload. Vehicle commands must not be added to the generic orders module; the adapter only maps their kind and stable id.
类型定义说明
◆ VehicleEventSink
| using eve::vehicle::VehicleEventSink = typedef std::function<void(const VehicleEvent&)> |
事件汇:由 Vehicle 模块(或测试)注册,把事件写入自己的队列。
在文件 VehicleSystem.h 第 19 行定义.
枚举类型说明
◆ VehicleEffectKind
|
strong |
◆ VehicleEventType
|
strong |
◆ VehicleOrderType
|
strong |
◆ VehiclePhysicsStatus
|
strong |
Outcome of an optional physics attach, detach, or mobility step.
| 枚举值 | |
|---|---|
| Applied | Physics handled the request. |
| Unavailable | No physics module, no body, or invalid arguments. |
在文件 VehiclePhysics.h 第 21 行定义.
函数说明
◆ Module_IMPL()
| eve::vehicle::Module_IMPL | ( | Vehicle | , |
| new | Vehicle() | ||
| ) |
◆ operator<<()
|
inline |
Writes the stable vehicle-order protocol name.
Vehicle order type name.
在文件 VehicleTypes.h 第 55 行定义.
引用了 type , 以及 vehicleOrderTypeName().
◆ parseVehicleDefinition()
| eve::Result< VehicleDefinition > eve::vehicle::parseVehicleDefinition | ( | const eve::definitions::Definition & | source | ) |
Parse one canonical registry definition into a short-lived typed projection.
- 参数
-
source Immutable definition owned by DefinitionRegistry.
- 返回
- A typed projection for one synchronous consumer, or a structured parse failure.
- 备注
- The returned value is not an additional definition store. Callers that need to retain the projection must own a copy for their runtime instance.
在文件 VehicleDefinitionRuntime.cpp 第 98 行定义.
引用了 eve::vehicle::VehicleDefinition::accel, eve::vehicle::MountDef::aimMode, eve::vehicle::VehicleDefinition::armorZones, eve::vehicle::SeatDef::cameraMode, eve::vehicle::VehicleDefinition::category, eve::vehicle::SuspensionWheel::damping, eve::vehicle::SuspensionWheel::drive, eve::vehicle::SuspensionConfig::driveForce, eve::vehicle::SeatDef::driver, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::vehicle::MountDef::firingArc, eve::Value::fromJson(), eve::vehicle::VehicleDefinition::id, index, eve::InvalidArgument, eve::vehicle::SuspensionConfig::lateralGrip, limit, limits, eve::vehicle::VehicleDefinition::maxHealth, eve::vehicle::VehicleDefinition::maxSpeed, eve::vehicle::SuspensionConfig::maxTravel, eve::vehicle::VehicleDefinition::mobility, eve::vehicle::SeatDef::mountIndex, eve::vehicle::VehicleDefinition::mounts, eve::vehicle::ArmorZone::mult, eve::vehicle::ArmorZone::name, eve::vehicle::MountDef::name, eve::vehicle::SeatDef::name, eve::vehicle::ArmorZone::node, number, output, eve::vehicle::MountDef::pitchMax, eve::vehicle::MountDef::pitchMin, eve::vehicle::SuspensionWheel::radius, eve::vehicle::VehicleDefinition::radius, eve::vehicle::SuspensionWheel::restLength, eve::vehicle::MountDef::rotSpeed, eve::vehicle::VehicleDefinition::seats, source, eve::vehicle::SuspensionWheel::steer, eve::vehicle::SuspensionWheel::stiffness, eve::Result< T >::success(), eve::vehicle::VehicleDefinition::suspension, eve::vehicle::VehicleDefinition::tags, text, eve::vehicle::VehicleDefinition::turnRate, eve::vehicle::MountDef::type, value, values, eve::vehicle::MountDef::weapon, eve::vehicle::SuspensionConfig::wheels, eve::vehicle::SuspensionWheel::x, eve::vehicle::SuspensionWheel::y, eve::vehicle::MountDef::yawMax, eve::vehicle::MountDef::yawMin , 以及 eve::vehicle::SuspensionWheel::z.
被这些函数引用 eve::vehicle::VehicleDefinitionRuntime::create(), eve::vehicle::VehicleDefinitionRuntime::definition(), eve::vehicle::Vehicle::registerVehiclesFromJson() , 以及 eve::vehicle::VehicleDefinitionRuntime::reload().
◆ vehicleEventTypeName()
| const char * eve::vehicle::vehicleEventTypeName | ( | VehicleEventType | type | ) |
事件类型的字符串名。
- 返回
- Borrowed non-null pointer to immutable process-lifetime storage. @ownership The returned static text is not caller-owned and must not be freed. @lifetime Valid for the lifetime of the process; copy it when storing mutable data. @thread Thread-safe because the characters are immutable. @reentrancy Does not invoke callbacks.
在文件 Vehicle.cpp 第 90 行定义.
引用了 Damaged, Destroyed, OrderCompleted , 以及 type.
◆ vehicleOrderTypeName()
| EVENGINE_API_DOMAINS const char * eve::vehicle::vehicleOrderTypeName | ( | VehicleOrderType | type | ) |
命令类型的字符串名("move" | "attack_move" | ...)。
- 返回
- Borrowed non-null pointer to immutable process-lifetime storage. @ownership The returned static text is not caller-owned and must not be freed. @lifetime Valid for the lifetime of the process; copy it when storing mutable data. @thread Thread-safe because the characters are immutable. @reentrancy Does not invoke callbacks.
在文件 Vehicle.cpp 第 79 行定义.
引用了 Attack, AttackMove, Hold, Move, Stop , 以及 type.
被这些函数引用 eve::vehicle::VehicleOrderQueueAdapter::append(), eve::vehicle::Vehicle::getCurrentOrderType(), eve::vehicle::VehicleOrderQueueAdapter::interrupt(), operator<<() , 以及 eve::vehicle::VehicleOrderQueueAdapter::replace().