In preparation for a prototype Terrain Gem to get submitted, there are a few changes that are needed outside of the Terrain Gem as well:
The TerrainDataNotificationBus lives in AzFramework/Terrain, and needed to be extended to contain an optional OnTerrainDataChanged event to notify other systems when a terrain region has changed.
The HeightmapUpdateNotificationBus was removed, as this was a legacy file from the old already-removed terrain system.
The EditorWrappedComponentBase<> wrapper received a small optimization to ensure that ConfigurationChanged() is only called when the value of visibility actually changes. With prefabs, it appears that sometimes OnEntityVisibilityChanged could be called multiple times in a row with the same visibility value.
The TerrainSurfaceDataSystemComponent was updated to use the correct busses, and is ready to be moved to the Terrain Gem in a subsequent PR.
Signed-off-by: Mike Balfour 82224783+mbalfour-amzn@users.noreply.github.com
* fix for drift accumulating in the viewport camera
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* fix typo and update how events are stored
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* respond to PR feedback and fix linux and windows build issues
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* fix failing unit tests in camera input
Signed-off-by: hultonha <hultonha@amazon.co.uk>
* Added a deferred queue to the AZ Console class
An AZ Console instance will now store any console commands that could be
dispatched from a configuration file into a deferred queue, that can be
invoked later.
This can be used to defer execution of console commands in configuration files such as
.cfg, .setreg and .setregpatch files that are defined in gem modules that
have not been loaded yet.
The defered execution can then be invoked at any point later in the
application
Updated the Component Application CreateCommon function to invoke deferred console commands
after all the gems have loaded
fixes#2062
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Fixed variable shadowing in the Console Deferred Command Test
Updated commit for the ClearDeferredQueue function to just mention
clearing the queue
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Filtered out execution of the ConsoleRootCommandKey as a console command
The AZ::Console notification handler is tracking changes to the fields
of "/Amazon/AzCore/Runtime/ConsoleCommands" and it's children.
Now the "/Amazon/AzCore/Runtime/ConsoleCommands" field is the
ConsoleRootCommandKey and not an actual console command so it shouldn't
attempt to be invoked
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Moved the execution of deferred console commands after linking deferred
functors
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Moved the execution of deferred console commands into CreateModuleClass
hook
Any module that loads using the ModuleManager system will attempt to
execute any deferred console commands to allow newly registered commands
from that module to be dispatched.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
Moved BuildDebugSceneGraph out of SceneProcessing gem and into DebugOutput class to allow the function to be shared, which ensures the same dbgsg format is outputted among any calls to the function.
* Move BuildDebugSceneGraph function, update all calls to this function
Signed-off-by: Victor Huang <huavicto@amazon.com>
* Remove unused includes
Signed-off-by: Victor Huang <huavicto@amazon.com>
* Remove z
Signed-off-by: Victor Huang <huavicto@amazon.com>
* Removes legacy audio listener updates from ViewSys
These functions were empty and logging a warning, removed.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
* Move more audio functions to AudioSystemComponent
For global actions like Mute/Unmute, Reload, StopAll, Load/Unload Level,
we move those functions to be handled by the AudioSystemComponent in
LmbrCentral. This lets us remove some includes of IAudioSystem.h from
Editor and Legacy/CrySystem.
There were several locations where audio banks were being loaded and
unloaded for a level. Now they all call into the AudioSystemComponent
and we don't have multiple copies of the same code.
Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>