示例#1
0
        protected override MutableObject Mutate(MutableObject mutable)
        {
            foreach (var entry in BoundsList.GetEntries(mutable))
            {
                CountTarget.SetValue(BoundsList.GetValue(entry).Count, entry);
            }

            return(mutable);
        }
示例#2
0
        public override IEnumerator ReceivePayload(VisualPayload payload)
        {
            foreach (var entry in BoundsList.GetEntries(payload.Data))
            {
                foreach (var bound in BoundsList.GetValue(entry))
                {
                    BoundDataTarget.SetValue(bound.Data, payload.Data);

                    var iterator =
                        DefaultState.Transmit(new VisualPayload(payload.Data, new VisualDescription(bound)));
                    while (iterator.MoveNext())
                    {
                        yield return(null);
                    }
                }
            }
        }
示例#3
0
        public override IEnumerator ReceivePayload(VisualPayload payload)
        {
            var extantDataField = new MutableField <T> {
                AbsoluteKey = PerElementAbsoluteKey.GetFirstValue(payload.Data)
            };

            bool valueAssigned = false;

            foreach (var entries in BoundsList.GetEntries(payload.Data))
            {
                var boundsList = BoundsList.GetValue(entries);

                foreach (var bound in boundsList)
                {
                    var useExtantValue = extantDataField.ValidateKey(bound.Data);

                    if (useExtantValue)
                    {
                        DefaultableField.SetValue(
                            extantDataField.GetLastKeyValue(bound.Data), payload.Data);
                        valueAssigned = true;
                    }
                    if (valueAssigned)
                    {
                        break;
                    }
                }
                if (valueAssigned)
                {
                    break;
                }
            }

            if (!valueAssigned)
            {
                DefaultableField.SetValue(DefaultValue.GetFirstValue(payload.Data), payload.Data);
            }

            var iterator = Router.TransmitAll(payload);

            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }
示例#4
0
        public override IEnumerator ReceivePayload(VisualPayload payload)
        {
            foreach (var entry in BoundsList.GetEntries(payload.Data))
            {
                var visualState = VisibilityState.GetValue(entry);

                foreach (var bound in BoundsList.GetValue(entry))
                {
                    bound.ToggleRenderers(visualState);
                }
            }

            var iterator = Router.TransmitAll(payload);

            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }