private void UpdateUniNode(UniNodeView nodeView, BaseNode nodeData) { if (!(nodeData is UniBaseNode uniNode)) { return; } CheckNodeInitialization(nodeView, uniNode); selectionUpdated = UpdateSelection(nodeView, uniNode); }
private void CheckNodeInitialization(UniNodeView nodeView, UniBaseNode nodeData) { if (registeredNodes.TryGetValue(nodeData, out var view)) { return; } registeredNodes[nodeData] = nodeView; nodeView.RegisterCallback <MouseDownEvent>(_ => UpdateSelection(nodeView, nodeData)); }
private bool UpdateSelection(UniNodeView nodeView, UniBaseNode nodeData) { if (selectionUpdated || !nodeView.selected) { return(selectionUpdated); } var sourceNode = nodeData.SourceNode; Focus(sourceNode); return(true); }