Open 3D Engine GraphCanvas Gem API Reference
24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
|
#include <TranslationAsset.h>
Inherits AZ::Data::AssetHandler, and AZ::AssetTypeInfoBus::MultiHandler.
Public Member Functions | |
AZ_CLASS_ALLOCATOR (TranslationAssetHandler, AZ::SystemAllocator) | |
AZ_RTTI (TranslationAssetHandler, "{C161AB3B-86F6-4CB1-9DAE-83F2DE084CF4}", AZ::Data::AssetHandler) | |
AZ::Data::AssetPtr | CreateAsset (const AZ::Data::AssetId &id, const AZ::Data::AssetType &type) override |
AZ::Data::AssetHandler::LoadResult | LoadAssetData (const AZ::Data::Asset< AZ::Data::AssetData > &asset, AZStd::shared_ptr< AZ::Data::AssetDataStream > stream, const AZ::Data::AssetFilterCB &assetLoadFilterCB) override |
void | DestroyAsset (AZ::Data::AssetPtr ptr) override |
void | GetHandledAssetTypes (AZStd::vector< AZ::Data::AssetType > &assetTypes) override |
bool | CanHandleAsset (const AZ::Data::AssetId &id) const override |
AZ::Data::AssetType | GetAssetType () const override |
const char * | GetAssetTypeDisplayName () const override |
const char * | GetGroup () const override |
const char * | GetBrowserIcon () const override |
AZ::Uuid | GetComponentTypeId () const override |
void | GetAssetTypeExtensions (AZStd::vector< AZStd::string > &extensions) override |
void | Register () |
void | Unregister () |
TranslationAssetHandler will process JSON based files that provide a mapping from string, string the key will be generated using the JSON file structure, but does have some requirements.
Requirements:
Example:
{ "entries": [ { "base": "Globals", "details": { "name": "My Name", "tooltip": "My Tooltip" } ] }
The example JSON will produce the following database:
[Globals.details.name, "My Name"] [Globals.details.tooltip", "My Tooltip"]
Arrays Arrays are supported and will contain an index value encoded into the key, for an array called "somearray" these may look like this: "somearray": [ { "name": "First one" }, { "name": "Second one" } ]
Globals.details.somearray.0.name Globals.details.somearray.1.name
There is one important aspect however, if an element in an array has a "base" value, the value of this key will replace the index. This is useful when the index and/or ordering of an entry is not relevant or may change.
"somearray": [ { "name": "First one" "base": "a_key" }, { "name": "Second one", "base": "b_key" } ]
Globals.details.somearray.0.base == "a_key" Globals.details.somearray.0.name == "First one" Globals.details.somearray.1.base == "b_key" Globals.details.somearray.1.name == "Second one"