コード例 #1
0
        protected override IEnumerator ExecuteStep()
        {
            InternalBounds = new List <BoundingBox>();

            foreach (var metaSelectionSet in
                     TargetExpression.ResolveExpression(ChainView.Instance.Chain.RootBoundingBoxes))
            {
                var foundSelectable = metaSelectionSet.GetComponent <MetaSelectionSet>();

                if (foundSelectable == null)
                {
                    continue;
                }

                var selection = new MetaSelectionMode();
                selection.Selectable         = foundSelectable;
                selection.OperationToPerform = MetaSelectionOperation;

                var iterator = selection.ApplyMode(
                    MetaSelectionSet.GetLocalSelectables(BoundsToSelect.Bounds, foundSelectable)
                    );

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

            Router.FireEvent(EndEventName);
            yield return(null);
        }
コード例 #2
0
        public IEnumerator Apply()
        {
            SelectionManager = MetaSelectionSet.ConstructPayloadSelectionSet(Bound,
                                                                             Bars, NormalState, SelectedState, NoneSelectedState, NormalStateMulti, SelectedStateMulti, NoneSelectedStateMulti);

            var clickSelector = PayloadSelectorFactory.InstantiateClickSelect(SelectionManager, gameObject);

            clickSelector.SelectionMode.OperationToPerform = SelectionOperation.SelectOnly;

            var controlClickSelector = PayloadSelectorFactory.InstantiateClickSelect(SelectionManager, gameObject, new InputModifiers()
            {
                Control = true
            });

            controlClickSelector.SelectionMode.OperationToPerform = SelectionOperation.ToggleFullySelected;

            var rowSelect = PayloadSelectorFactory.InstantiateRowColumnSelect(SelectionManager);

            rowSelect.SelectionMode.OperationToPerform = SelectionOperation.SelectOnly;

            var controlRowSelect = PayloadSelectorFactory.InstantiateRowColumnSelect(SelectionManager);

            controlRowSelect.SelectionMode.OperationToPerform = SelectionOperation.ToggleFullySelected;

            PayloadSelectorFactory.InstantiateSelectAll(SelectionManager);

            var iterator = SelectionManager.TransmitAll();

            while (iterator.MoveNext( ))
            {
                yield return(null);
            }
        }
コード例 #3
0
        public override IEnumerator ReceivePayload(VisualPayload payload)
        {
            //payload.VisualData.Bound.Data = payload.Data;

            var metaEntries = EntryField.GetEntries(payload.Data);

            var createdPayloads = new List <VisualPayload>();

            foreach (var metaEntry in metaEntries)
            {
                // foreach ( var entry in entries )
                // {
                var newBound = payload.VisualData.Bound.CreateDependingBound(Name);

                var newPayload = new VisualPayload(metaEntry.Last(), new VisualDescription(newBound));

                //newBound.Data = metaEntry.Last();

                createdPayloads.Add(newPayload);
            }

            MetaSelectionSet selectionManager = MetaSelectionSet.ConstructPayloadSelectionSet(
                payload.VisualData.Bound, createdPayloads,
                NormalState, SelectedState, NoneSelectedState,
                NormalStateMulti, SelectedStateMulti, NoneSelectedStateMulti);

            var iterator = selectionManager.TransmitAll();

            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }
コード例 #4
0
        public void ApplyPoints()
        {
            SelectionManager = MetaSelectionSet.ConstructPayloadSelectionSet(Bound, ScatterPoints,
                                                                             NormalState, SelectedState, NoneSelectedState, NormalStateMulti, SelectedStateMulti, NoneSelectedStateMulti);

            PayloadSelectorFactory.InstantiateSelectAll(SelectionManager);
            PayloadSelectorFactory.InstantiateFrustumSelect(SelectionManager);
            var clickSelector = PayloadSelectorFactory.InstantiateClickSelect(SelectionManager, gameObject);

            clickSelector.SelectionMode.OperationToPerform = SelectionOperation.Select;
        }