18ea4ba6a8
The CriticalAssetsCompiled event can be handled to detect when the
AssetProcessor has finished processing Critical Assets
Also with the new event, an audit has been performed over all the
locations where the AssetCatalogEventBus OnCatalogLoaded event was being
handle to make sure it was the proper event to use.
If the handler was actually examing the enumerating over the full
catalog or querying all assets within the catalog, then it was a proper
use.
For handlers that were interested in a particular asset it was not
Moreover added implementations of `OnCatalogAssetChanged` and
`OnCatalogAssetAdded` to the FileTagComponent and the MaterialViewportComponent.
Any applications which uses the AtomToolsApplication
class(MaterialEditor, AtomSampleViewerStandalone,
ShaderMangementConsole) now signals a "CriticalAssetsCompiled" lifecycle
event as well as loads the "assetcatalog.xml" if it exists.
The Launcher application signals the "CrticalAssetsCompiled" event and
reloads the "assetcatalog.xml" for the ${project}.GameLauncher and
${project}.ServerLauncher in Launcher.cpp
Finally the Editor signals the "CriticalAssetsCompiled" and reloads the
"assetcatalog.xml" in CryEdit.cpp
resolves #6093
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
32 lines
1.2 KiB
Plaintext
32 lines
1.2 KiB
Plaintext
// The Lifecycle events contains the name of the event as a string
|
|
// ComponentApplication derived classes
|
|
// will set these these keys to a JSON Object indicate an event has occured
|
|
// A callback can be registered with the SettingsRegistry
|
|
// to be notified when that key is set
|
|
// The JSON object that is set will contain any payload data
|
|
// related to the event
|
|
{
|
|
"O3DE" : {
|
|
"Application": {
|
|
"LifecycleEvents": {
|
|
"SystemComponentsActivated": {},
|
|
"SystemComponentsDeactivated": {},
|
|
"ReflectionManagerAvailable": {},
|
|
"ReflectionManagerUnavailable": {},
|
|
"SystemAllocatorCreated": {},
|
|
"SystemAllocatorPendingDestruction": {},
|
|
"SettingsRegistryAvailable": {},
|
|
"SettingsRegistryUnavailable": {},
|
|
"ConsoleAvailable": {},
|
|
"ConsoleUnavailable": {},
|
|
"GemsLoaded": {},
|
|
"GemsUnloaded": {},
|
|
"FileIOAvailable": {},
|
|
"FileIOUnavailable": {},
|
|
"LegacySystemInterfaceCreated": {},
|
|
"CriticalAssetsCompiled": {}
|
|
}
|
|
}
|
|
}
|
|
}
|