Menyimpan posisi entitas - AWS SimSpace Weaver

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyimpan posisi entitas

Anda dapat menyimpan (menulis ke kain negara) posisi entitas menggunakan struktur data integer. Contoh-contoh ini menggunakan fungsi berikut:

Result<void> StoreEntityIndexKey( Transaction& txn, const Entity& entity, TypeId keyTypeId, std::int8_t* src, std::size_t length)
catatan

Anda harus memberikanApi::BuiltinTypeId::Vector3F32 kepadaApi::StoreEntityIndexKey(), seperti yang ditunjukkan dalam contoh berikut.

contoh Contoh menggunakan array untuk mewakili posisi
Result<void> SetEntityPositionByFloatArray( Api::Entity& entity, Transaction& transaction) { std::array<float, 3> position = { /* x * / 25, /* y */ 21, /* z */ 0 }; auto* src = reinterpret_cast<std::int8_t*>(value); size_t length = sizeof(*value); WEAVERRUNTIME_TRY(Api::StoreEntityIndexKey( transaction, entity, Api::BuiltinTypeIdToTypeId(Api::BuiltinTypeId::Vector3F32), src, length)); }
contoh Contoh menggunakanstruct untuk mewakili posisi
struct Position { float x; float y; float z; }; Result<void> SetEntityPositionByStruct( Api::Entity& entity, Transaction& transaction) { Position position = { /* x */ 25, /* y */ 21, /* z */ 0 }; auto* src = reinterpret_cast<std::int8_t*>(value); size_t length = sizeof(*value); WEAVERRUNTIME_TRY(Api::StoreEntityIndexKey( transaction, entity, Api::BuiltinTypeIdToTypeId(Api::BuiltinTypeId::Vector3F32), src, length)); }