Armazene a posição de uma entidade - AWS SimSpace Tecelão

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Armazene a posição de uma entidade

Você pode armazenar (gravar na estrutura de estado) a posição de uma entidade usando uma estrutura de dados inteira. Esses exemplos usam a seguinte função:

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

Você deve fornecerApi::BuiltinTypeId::Vector3F32 paraApi::StoreEntityIndexKey(), conforme mostrado nos exemplos a seguir.

exemplo Exemplo de uso de uma matriz para representar a posição
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)); }
exemplo Exemplo de uso destruct a para representar a posição
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)); }