Exemple #1
0
        GlowContainer Model.IElementVisitor <ElementToGlowOptions, GlowContainer> .Visit(Model.OneToNMatrix element, ElementToGlowOptions state)
        {
            var glow = MatrixToGlow(element, state);

            if (state.DirFieldMask == GlowFieldFlags.All &&
                state.IsCompleteMatrixEnquired)
            {
                if (element.Targets.Count() < element.TargetCount)
                {
                    var glowTargets = glow.EnsureTargets();

                    foreach (var signal in element.Targets)
                    {
                        glowTargets.Insert(new GlowTarget(signal.Number));
                    }
                }

                if (element.Sources.Count() < element.SourceCount)
                {
                    var glowSources = glow.EnsureSources();

                    foreach (var signal in element.Sources)
                    {
                        glowSources.Insert(new GlowSource(signal.Number));
                    }
                }
            }

            return(glow);
        }