载入中...
搜索中...
未找到
ProcgenPhysics.cpp
浏览该文件的文档.
13GtsTerrainColliderRuntime* ProcgenPhysics::newGtsTerrainColliderRuntime(){return new GtsTerrainColliderRuntime();}
17 std::function<GtsTerrainColliderRuntime*()>([](){return new GtsTerrainColliderRuntime();}),true);
18 runtime.addFunc("replace",[vm=table.getHandle()](GtsTerrainColliderRuntime* self,const procgen::GtsTerrainLodSet* lods,
21 ? Result<std::uint64_t>::failure(Diagnostic::error(DiagnosticCode::InvalidArgument,"GTS collider replace requires runtime, LOD set and world","procgen.physics.gtsTerrainCollider"))
23 return eve::script::projectResult(vm,std::move(result),[](std::uint64_t value){return Value(static_cast<std::int64_t>(value));});});
25 auto result=self?self->clear():Result<int>::failure(Diagnostic::error(DiagnosticCode::InvalidArgument,"GTS collider runtime is null","procgen.physics.gtsTerrainCollider"));
26 return eve::script::projectResult(vm,std::move(result),[](int value){return Value(static_cast<std::int64_t>(value));});});
31void ProcgenPhysics::expose(ssq::Class& cls){cls.addFunc("newGtsTerrainColliderRuntime",&ProcgenPhysics::newGtsTerrainColliderRuntime);}
The single Squirrel projection for common Result, Status and Value.
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
Box3D rigid-body world. Script coordinates are meters (Box3D native), unlike 2D World which uses pixe...
Definition World3D.h:63
Owned result of the GTS split-and-sequential-simplify pipeline.
Definition GtsTerrainLod.h:112
Transactional owner of optional static triangle-mesh colliders for a GTS tile batch.
Definition GtsTerrainColliderRuntime.h:15
int getTileCount() const
Return row-major tile slot count including empty cells.
Definition GtsTerrainColliderRuntime.cpp:106
physics::Body3D * getBody(int tileIndex) const
Resolve a borrowed collider body, or null for empty, stale or invalid tile slots.
Definition GtsTerrainColliderRuntime.cpp:101
std::uint64_t getRevision() const
Return the latest committed revision.
Definition GtsTerrainColliderRuntime.cpp:107
Script bridge for optional GTS terrain physics composition.
Definition ProcgenPhysics.h:8
GtsTerrainColliderRuntime * newGtsTerrainColliderRuntime()
Allocate a caller-owned GTS terrain collider runtime.
Definition ProcgenPhysics.cpp:13
ssq::Table projectResult(HSQUIRRELVM vm, Result< void > &&result)
Consume and project a void native Result using the common schema.
Definition SquirrelBinding.cpp:470
@ InvalidArgument