Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
È possibile caricare (leggere dalla struttura degli stati) la posizione di un'entità utilizzando una struttura di dati intera. Questi esempi utilizzano la seguente funzione:
Nota
È necessario fornire Api::BuiltinTypeId::Vector3F32
aApi::LoadEntityIndexKey()
, come illustrato negli esempi seguenti.
Esempio di utilizzo di un array per rappresentare la posizione
Result<void> GetEntityPosition(Api::Entity& entity,
Transaction& transaction)
{
std::int8_t* dest = nullptr;
WEAVERRUNTIME_TRY(Aws::WeaverRuntime::Api::LoadEntityIndexKey(
transaction,
entity,
Api::BuiltinTypeIdToTypeId(
Aws::WeaverRuntime::Api::BuiltinTypeId::Vector3F32),
&dest));
std::array<float, 3> position =
*reinterpret_cast<std::array<float, 3>*>(dest);
}
Esempio di utilizzo di un struct per rappresentare la posizione
struct Position
{struct
float x;
float y;
float z;
};
Result<void> GetEntityPosition(Api::Entity& entity, Transaction& transaction)
{
std::int8_t* dest = nullptr;
WEAVERRUNTIME_TRY(Aws::WeaverRuntime::Api::LoadEntityIndexKey(
transaction,
entity,
Api::BuiltinTypeIdToTypeId(
Aws::WeaverRuntime::Api::BuiltinTypeId::Vector3F32),
&dest));
Position position = *reinterpret_cast<Position*>(dest);
}