UETOOL-292 - Diffing of Behavior Trees doesn't work correctly
- Added support for diffing decorators and services.
- Ensured that you could see the properties of services and decorators in the diff tool.
- This is now using common code shared with the behavior tree editor (to avoid this getting out of sync again).
- Fixed an issue where nodes containing changes could still be drawn faded out.
- The "DiffR_" functions in GraphDiffControl weren't marking the node as changed since the diff results couldn't hold the information.
- Fixed SNodePanel::DeferredMovementTargetObject always moving the selection into view (rather than itself).
- Added a way to move to a node without also selecting it (SNodePanel::CenterObject).
- This is needed as decorators and services don't exist as top-level nodes in the SNodePanel, so can't be centered on. We instead have to center on their container node.
- Added a way to control what items you want to diff.
- This helps when checking for nodes that have been removed, as you can now avoid having to re-check all the other properties on the node, and just check for their existence (or lack thereof).
[CL 2533378 by Jamie Dale in Main branch]