I had a thought today: “I sure wish I could see how EBuses and Components interact with each other in my code in a visual manner.”
So I made a tool that does just that. https://github.com/Aristo7/EBusScanner
EBusScanner
Scans your source code for Lumberyard EBuses and their use. Build a digraph out of that information.
Usage
EBus_Scanner.exe output.dot.txt C:\work\Lumberyard\dev\Gems\LightningArc
Result
Produces a graphviz dot file, for example:
digraph {
AssetCatalogRequestBus [shape=box,style=filled,color=".7 .3 1.0"] ;
EditorLightningComponent -> AssetCatalogRequestBus;
AudioRtpcComponentRequestBus [shape=box,style=filled,color=".7 .3 1.0"] ;
LightningComponent -> AudioRtpcComponentRequestBus;
AudioTriggerComponentRequestBus [shape=box,style=filled,color=".7 .3 1.0"] ;
LightningComponent -> AudioTriggerComponentRequestBus;
ComponentApplicationBus [shape=box,style=filled,color=".7 .3 1.0"] ;
LightningComponent -> ComponentApplicationBus;
...
}
Then you can install graphviz and generate a graph like this:
"C:\Program Files (x86)\Graphviz2.38\bin\dot.exe" -Tpng output.dot.txt -o output.png