载入中...
搜索中...
未找到
VegetationScriptBindings.cpp
浏览该文件的文档.
38 cls.addFunc("sample", [vm](VegetationField* self, float x, float y, float z, int color, int extras, int motion,
42 if (color < 0 || color > 8 || extras < 0 || extras > 8 || motion < 0 || motion > 8 || vertex < 0 || vertex > 8)
43 return script::projectResult(vm, Result<void>::failure(Diagnostic::error(DiagnosticCode::InvalidArgument,
46 vm, self->sample({x, y, z}, {uint8_t(color), uint8_t(extras), uint8_t(motion), uint8_t(vertex)}),
58 auto owned = script::makeOwnedSquirrelInstance(vm, std::make_unique<VegetationDetailSettings>());
77 return script::projectResult(vm, snapshotVegetationDetails(*self), [](Value value) { return value; });
The single Squirrel projection for common Result, Status and Value.
Explicit Value/Owned/Borrowed semantics at the Squirrel boundary.
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
static Status success(StatusCode code=StatusCode::Ok)
Construct a successful status with an explicit non-error outcome.
Definition Status.h:81
Definition Graphics.h:125
Backend-independent, owning vegetation influence field. Single writer; concurrent const evaluation is...
Definition VegetationField.h:86
Result< void > restore(const Value &document)
Decode eve.graphics.vegetation-field version 1; rejects unknown fields/versions. Single-writer,...
Definition VegetationFieldCodec.cpp:39
Result< VegetationSample > sample(glm::vec3 position, std::array< uint8_t, 4 > layers={}) const
Evaluate four independently selected layers (0..8) at a finite world position.
Definition VegetationField.cpp:127
Result< Value > snapshot() const
Owning versioned snapshot; thread-safe while no mutation occurs. No callbacks.
Definition VegetationFieldCodec.cpp:104
std::variant< std::monostate, std::int64_t, double, std::string, bool > Value
Definition Database.h:26
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25
Result< VegetationDetailSettings > restoreVegetationDetails(const Value &document)
Decode one exact Global Details document transactionally.
Definition VegetationDetails.cpp:128
Result< Value > snapshotVegetationDetails(const VegetationDetailSettings &settings)
Encode one owning Global Details document using eve.graphics.vegetation-details/1.
Definition VegetationDetails.cpp:101
void exposeVegetationScriptBindings(ssq::Table &table, ssq::Class &graphicsClass)
Register vegetation field bindings on the VM owner thread. Borrows tables for this call; no script ca...
Definition VegetationScriptBindings.cpp:15
ssq::Table projectStatusResult(HSQUIRRELVM vm, const Status &status)
Project a checked native status that carries no payload.
Definition SquirrelBinding.cpp:454
ssq::Table projectResult(HSQUIRRELVM vm, Result< void > &&result)
Consume and project a void native Result using the common schema.
Definition SquirrelBinding.cpp:470
eve::Result< ssq::Object > makeOwnedSquirrelInstance(HSQUIRRELVM vm, Owned< T > object)
Creates a Squirrel instance that owns a C++ wrapper through a release hook.
Definition SquirrelOwnership.h:241
Result< Value > valueFromSquirrel(HSQUIRRELVM vm, SQInteger index, const SquirrelValueOptions &options)
Convert one Squirrel value into the canonical owning Value tree.
Definition SquirrelBinding.cpp:342
@ InvalidArgument
Owning sampled field channels; no lifetime dependency on the field.
Definition VegetationField.h:61