Example #1
0
            public void RecognizeNode(SecurityPanelNode node)
            {
                if (node.OverlayResourceId > 0)
                {
                    BackgroundOverlay.SetImageResource(node.OverlayResourceId);
                    BackgroundOverlay.Visibility = ViewStates.Visible;
                }
                else
                {
                    BackgroundOverlay.Visibility = ViewStates.Invisible;
                }
                Action resolveNode;
                EventHandler <EventArgs <SecurityPanelNode> > onResolve;

                if (FirstNode != SecurityPanelNode.Unknown && SecondNode == SecurityPanelNode.Unknown && AllowSecondNode)
                {
                    SecondNode  = node;
                    NodeLink    = SecurityPanel.Linkages[FirstNode, SecondNode];
                    resolveNode = _resolveSecondNode;
                    onResolve   = OnSecondNode;
                }
                else if (node != SecurityPanelNode.Unknown)
                {
                    FirstNode   = node;
                    SecondNode  = SecurityPanelNode.Unknown;
                    resolveNode = _resolveFirstNode;
                    onResolve   = OnFirstNode;
                }
                else
                {
                    resolveNode = null;
                    onResolve   = null;
                }

                _cts?.Cancel();
                HeaderText = GetHeaderString();
                DetailText = GetDetailString();
                resolveNode?.Invoke();
                onResolve?.Invoke(this, new EventArgs <SecurityPanelNode>(node));
            }