Update to the RenderPipes to support the new paradigm on how to go about writing a renderpipe.
Renderloops now should only contain configuration information + a call out to the rendering logic (preferably living in a static function). A loop now executes within a 'rendering context' that passes along a sidecar configuration file called a 'DataStore'. Any transient information that is needed between frames should be stored in this datastore (things like the materials / rendertextures). When the renderloop is destroyed this sidecar data is automatically cleaned up. It can also be cleaned manually.
Currently only the BasicRenderLoop has been ported to this new model due to the other loops not having a separation of concerns between transient data and configuration. They need the loop owners to detangle this before porting to the new model can take place. These existing loops still work, but they suffer from the same lifecycle issues they have had up unti...
** Requires update to Unity branch **
- New way to reference StyleSheets (no longer using attributes). This in the
goal of moving GraphView to a GitHub submodule.
- Styles sheets moved under Resources folder
- BaseTypeMapper renamed BaseTypeFactory
- Little change to edge drawing code.
- Changes to selection mechanism.
- NodeAnchors are no longer always removed/added on a DataChange (more changes
to come to this soon).
- Dragger and NodeDragger change only the VisualElement on MouseMove. The
presenter is now changes and notified of the change only upon MouseUp.
- Various minute changes to demo presenters.
Signed-off-by: joce <joce@unity3d.com>
- NodalView.uss is now gone as the Node's layouting is now in GraphView.uss
- Node now has a bunch of containers to match Hugo's design
This is not be final as, for example, the collapse button is an ugly button
and we're not yet dealing with empty input/output list as required.
Signed-off-by: joce <joce@unity3d.com>
(when the selection didn't change the global selection wouldn't be changed - e.g. "select node in graph, select something from the scene, click selected node" wouldn't select the graph in the project window)
It is called in every frame and calls `parent.allElements` twice to find the GraphElement for its anchors. The implementation of `allElements` is very slow right now (as is noted in `VisualContainer.cs` comments), but either way we should avoid a traversal of all `VisualElement`'s for every edge every frame.