载入中...
搜索中...
未找到
VehiclePhysics.h
浏览该文件的文档.
1#pragma once
2
12
13namespace eve::physics {
14class World;
15class World3D;
16} // namespace eve::physics
17
18namespace eve::vehicle {
19
21enum class VehiclePhysicsStatus : uint8_t {
22 Applied,
24};
25
28public:
32 [[nodiscard]] static VehiclePhysicsStatus attach3D(VehicleEntity* v, eve::physics::World3D* world, float heightY);
34 [[nodiscard]] static VehiclePhysicsStatus detach(VehicleEntity* v);
36 [[nodiscard]] static bool isAttached(VehicleEntity* v);
38 static float height(VehicleEntity* v);
40 [[nodiscard]] static VehiclePhysicsStatus tryWheelMove(VehicleEntity& v, float dt);
42 static void syncTrackFromBody(VehicleEntity& v);
44 [[nodiscard]] static VehiclePhysicsStatus tryTrackApply(VehicleEntity& v, float headingRad, float speed);
46 static void registerBuiltinMobility();
47};
48
49} // namespace eve::vehicle
float v
std::uint32_t height
World3D * world
Box3D rigid-body world. Script coordinates are meters (Box3D native), unlike 2D World which uses pixe...
Definition World3D.h:63
Box2D world wrapper (2D physics) with pixel-space coordinates. Handles stepping, gravity,...
Definition World.h:41
载具实体:数据全部在组件里,行为在 VehicleSystem。
VehiclePhysics public API.
static VehiclePhysicsStatus detach(VehicleEntity *v)
Destroy attached bodies if any.
static VehiclePhysicsStatus tryWheelMove(VehicleEntity &v, float dt)
Step wheel/ship mobility from an attached body.
static void registerBuiltinMobility()
Register suspension mobility when physics is in the build.
static void syncTrackFromBody(VehicleEntity &v)
Copy attached body pose into motion for tracked vehicles.
static VehiclePhysicsStatus attach2D(VehicleEntity *v, eve::physics::World *world)
Attach a 2D dynamic body when physics is in the build.
static VehiclePhysicsStatus tryTrackApply(VehicleEntity &v, float headingRad, float speed)
Apply tracked heading/speed to an attached body.
static bool isAttached(VehicleEntity *v)
Whether the entity has a live, resolvable physics body.
static VehiclePhysicsStatus attach3D(VehicleEntity *v, eve::physics::World3D *world, float heightY)
Attach a 3D dynamic body when physics is in the build.
Optional physics backend for vehicle mobility and body attach.
Definition Climbing.h:36
驾驶者接口与玩家控制状态。
VehiclePhysicsStatus
Outcome of an optional physics attach, detach, or mobility step.
@ Unavailable
No physics module, no body, or invalid arguments.
@ Applied
Physics handled the request.