The method "PrefabLoader::GetRelativePathToProject" has been changed to "PrefabLoader::GenerateRelativePath", and reworked to get a correct relative path. GetFullPath has also been modified to get correct relative paths too. This requires an Asset Processor connection - if one isn't available (like during unit tests), the methods have fallback logic to produce project-relative paths.
With this change, SliceConverter can't use SaveTemplate() to save the file any more, because GetFullPath now expects to find an existing path, which doesn't work for not-yet-created files. Instead, it now has to use the same technique as the Editor and call SaveTemplateToString then save the string out as a file.
* Clarify ViewportWorldToScreen being in widget space and add DeviceScalingFactor
* -Fix viewport icons being draw wrong on high DPI displays
-Fix loading viewport icons from absolute paths, which
* Address review feedback, fix build
* provide the ability for component adapters to support multiple components per entity
* add missing explicit keywords
* updates following review feedback - update how template logic works
* small updats (fix typo, remove redundant includes)
* add missing this->
* naming change, common -> controller
* add [[maybe_unused]]
This introduces an EditorViewportIconDisplayInterface that will eventually be used to outright remove CIconManager, it provides a simple interface for loading 2D image assets and rendering them on-screen. It also introduces AtomBridge::PerViewportDynamicDraw for getting a dynamic draw instance on a per-viewport basis
Spawnables had support for moving, but as the base class AZ::Data::AssetData doesn't support moving this was causing subtle issues. Moving spawnables wasn't used so it was removed.
There are already APIs for getting a relative product path from an absolute source path, or getting a relative source path for an *existing* source file, but there were no APIs for getting a relative source path for a *new* source file. Prefabs will need this ability to be able to correctly generate a relative source path inside the prefab file before the file has been saved.
The logic for relative source paths is a little bit tricky because the paths are relative to the watch folders, and the watch folders can be nested, with different priorities to explain which should take precedence. The input paths can also include specifiers like "." and "..", which need to be reconciled before creating the final correct relative path. The included unit tests test all of the tricky edge cases that I was able to identify.
* Started update for prefab based initial asset inclusion
* Newly Created levels now use a template prefab
* Review feedback changes
* Moved to better asset-based queries to generate the full path.
* Removed pesky pragma
* Replaced with const name instead of literal string
* Framework for setting default directory in asset picker
* Asset Picker will default to a passed in default directory in the selection model
* Added comment to the property to help define what is expected.
* Fixed string assignment
* Removed commented out #pragma
* Addressed review feedback
* Addressed review feedback
* Work in progress on adapting the DebugDraw gem to use AzFramework::DebugDisplayRequests API
* Cleanup fixes for DebugDisplayRequestBus & DebugDraw gem.
Remove SandboxIntegration implementation of the DebugDisplayRequestBus
Add DrawWireCylinder & DrawWireCone to the DebugDisplayRequestBus interface
Remove SetFillMode & DrawTexture functions from the DebugDisplayRequestBus interface
Fixup uses of the SetFillMode api, replace with new Draw[Wire|Solid]X functions.
Fixes to the DebugDraw gem to get it compiling with new warnings settings.
* Changes to get the DebugDraw gem working with Atom/RHI/Code/Include/Atom/RHI
Add GetWidth, GetHeight, GetDepth utility accessors to RHI::Viewport
Start cleaning out unnecessary Cry includes from DebugDraw gem
Fixes for AtomFont FFont.cpp 3d screen aligned text drawing.
Clean out no longer supported code for 3d text to render multiple strings for the same entity location
* Cleanup some unused or commented code
* Update with PR feedback from Nick Van Sickle
* update camera controller to block box select during orbit
* simplify update for modern viewport camera controller
* wip working lmb box select with orbit
* add test for changes to click detector
* add unit test for camera system to validate events
* remove debugging code, tidy-up changes for PR
* small updates before posting PR
* fix for linux build failure
While trying to process all slices and levels in Automated Testing, a few bugs came up that needed to be addressed:
- [LYN-3832] TransformComponent had a field removed without updating the version number and converter, which caused a lot of excessive warnings
- SliceComponent would crash in debug builds on instantiation failures due to a null dereference that was guarded against in most but not all places
- SliceConverter now detects when nested slices exist and gracefully warns about it.
- InstanceUpdateExecutor / TemplateInstanceMapper will now immediately remove instances that are unregistered, so that any in the queue don't get processed on a subsequent tick. This was causing crashes when the instance was destroyed before the processing occurred. It also has a side benefit of preventing the same instance from executing multiple times.
- Minor logic bugfix to the pack close warning, the boolean check was flipped.
Also added an early-out on SetTemplateId, since this was causing some unnecessary instance queue entries.
* add find entity in viewport functionality to new camera
* fix AZ_CVAR usage
* updates following review feedback
- updated comment styles from /// to //!
- retrieve fov of camera (add test for fov access)
* update namespace naming, fix AZ_CVAR usage
* update missed namespace and use AZ::Transform::CreateLookAt
* add missing include
* move EditorViewportSettings to EditorLib
* update DLL import/export API and rename namespace usage