Ejemplo n.º 1
0
        public void Setup(IMetaSelectable targetSelectable)
        {
            TargetSelectable = targetSelectable;

            SelectionMode.Selectable = targetSelectable;

            transform.parent = targetSelectable.GetTransform();
        }
Ejemplo n.º 2
0
        public static RowColumnMetaSelect InstantiateRowColumnSelect(IMetaSelectable selectable)
        {
            var selectRow = Instantiate(PayloadSelectorFactoryMaster.SelectPrefab);

            selectRow.Setup(selectable);

            return(selectRow);
        }
Ejemplo n.º 3
0
        public static FrustumMetaSelector InstantiateFrustumSelect(IMetaSelectable selectable)
        {
            var selectFrustum = Instantiate(PayloadSelectorFactoryMaster.FrustumSelectPrefab);

            selectFrustum.Setup(selectable);

            return(selectFrustum);
        }
Ejemplo n.º 4
0
        public static CriterionRangeMetaSelector InstantiateCriterionRangeSelect(IMetaSelectable selectable)
        {
            var selectCriterion = new CriterionRangeMetaSelector();

            selectCriterion.Setup(selectable);

            return(selectCriterion);
        }
Ejemplo n.º 5
0
        public static KeyMetaSelectAll InstantiateSelectAll(IMetaSelectable selectable)
        {
            var selectAll = Instantiate(PayloadSelectorFactoryMaster.KeyMetaSelectAllPrefab);

            selectAll.Setup(selectable);

            return(selectAll);
        }
Ejemplo n.º 6
0
        public void Setup(IMetaSelectable targetSelectable)
        {
            TargetSelectable = targetSelectable;

            SelectionMode.Selectable = targetSelectable;

            transform.parent = targetSelectable.GetTransform();

            TargetObject.transform.position = transform.position + Vector3.one * 5f;
        }
Ejemplo n.º 7
0
        public static ClickMetaSelectReceiver InstantiateClickSelect(IMetaSelectable selectable,
                                                                     GameObject receivingObject, InputModifiers modifiers)
        {
            var selectClick = receivingObject.AddComponent <ClickMetaSelectReceiver>();

            selectClick.Modifiers = modifiers;

            selectClick.Setup(selectable);

            return(selectClick);
        }
Ejemplo n.º 8
0
        public override void Render(VisualPayload payload, Transform labelRoot, IMetaSelectable selectable)
        {
            LabelRoot = labelRoot;

            RenderChartTitle(payload);

            foreach (var axis in Axes)
            {
                axis.Render(payload, selectable);
            }
        }
Ejemplo n.º 9
0
        public void Render(VisualPayload payload, IMetaSelectable selectable)
        {
            RenderAxisLabel(payload);   // Optional 'Axis title'

            // Labels along an axis:
            var mode = AxisMode.GetLastKeyValue(payload.Data);

            if (mode == AxialLabelAxisMode.Discrete)
            {
                // create equality criteria
                var normalSelector = PayloadSelectorFactory.InstantiateCriterionEqualsSelect(selectable);
                normalSelector.SelectionMode.OperationToPerform = SelectionOperation.SelectOnly;
                normalSelector.CriterionField = (mut) => AxisIndexVariable.GetValue(mut);
                normalSelector.ArrityLevels   = AxisIndexVariable.NumberOfIntermediates;

                var toggleSelector = PayloadSelectorFactory.InstantiateCriterionEqualsSelect(selectable);
                toggleSelector.SelectionMode.OperationToPerform = SelectionOperation.ToggleFullySelected;
                toggleSelector.RequiredModifiers = new InputModifiers()
                {
                    Control = true
                };
                toggleSelector.CriterionField = (mut) => AxisIndexVariable.GetValue(mut);
                toggleSelector.ArrityLevels   = AxisIndexVariable.NumberOfIntermediates;

                normalSelector.FieldLastKey = AxisIndexVariable.AbsoluteKey;
                toggleSelector.FieldLastKey = AxisIndexVariable.AbsoluteKey;

                var discreteCriterionSelectors = new List <ICriterionMetaSelector>()
                {
                    normalSelector, toggleSelector
                };

                RenderItemLabelsDiscrete(payload, discreteCriterionSelectors);
            }
            else if (mode == AxialLabelAxisMode.Continuous)
            {
                // create range criteria
                var normalRangeSelector = PayloadSelectorFactory.InstantiateCriterionRangeSelect(selectable);
                normalRangeSelector.SelectionMode.OperationToPerform = SelectionOperation.SelectOnly;
                normalRangeSelector.CriterionField = (mut) => ComparisonValue.GetValue(mut);
                normalRangeSelector.ArrityLevels   = ComparisonValue.NumberOfIntermediates;

                var toggleRangeSelector = PayloadSelectorFactory.InstantiateCriterionRangeSelect(selectable);
                toggleRangeSelector.SelectionMode.OperationToPerform = SelectionOperation.ToggleFullySelected;
                toggleRangeSelector.RequiredModifiers = new InputModifiers()
                {
                    Control = true
                };
                toggleRangeSelector.CriterionField = (mut) => ComparisonValue.GetValue(mut);
                toggleRangeSelector.ArrityLevels   = ComparisonValue.NumberOfIntermediates;

                normalRangeSelector.FieldLastKey = ComparisonValue.AbsoluteKey;
                toggleRangeSelector.FieldLastKey = ComparisonValue.AbsoluteKey;

                var continuousCriterionSelectors = new List <ICriterionMetaSelector>()
                {
                    normalRangeSelector, toggleRangeSelector
                };

                RenderItemLabelsContinuous(payload, continuousCriterionSelectors);
            }
        }
Ejemplo n.º 10
0
        public static List <VisualPayload> GetLocalSelectables(IEnumerable <BoundingBox> boundsToSelect, IMetaSelectable selectable)
        {
            var foundPayloads = new List <VisualPayload>();

            // the slow, but valid way
            foreach (var element in selectable.SelectablePayloads)
            {
                if (boundsToSelect.Contains(element.VisualData.Bound))
                {
                    foundPayloads.Add(element);
                }
            }

            //  // the fast, but technically sketchy way
            //  foreach ( var element in boundsToSelect )
            //  {
            //      foundPayloads.Add( new VisualPayload( element.Data, new VisualDescription( element ) ) );
            //  }

            return(foundPayloads);
        }
Ejemplo n.º 11
0
 public abstract void Render(VisualPayload payload, Transform labelRoot, IMetaSelectable selectable);
Ejemplo n.º 12
0
 public virtual void SetInteractivity(IMetaSelectable selectable)
 {
 }
Ejemplo n.º 13
0
        public void Setup(IMetaSelectable targetSelectable)
        {
            TargetSelectable = targetSelectable;

            SelectionMode.Selectable = targetSelectable;
        }
Ejemplo n.º 14
0
 public static ClickMetaSelectReceiver InstantiateClickSelect(IMetaSelectable selectable,
                                                              GameObject receivingObject)
 {
     return(InstantiateClickSelect(selectable, receivingObject, InputModifiers.CurrentInputModifiers()));
 }
Ejemplo n.º 15
0
 public override void Render(VisualPayload payload, Transform labelRoot, IMetaSelectable selectable)
 {
 }
Ejemplo n.º 16
0
        public static IEnumerator ApplySelectionOperation(SelectionOperation operation, IMetaSelectable selectable,
                                                          IEnumerable <VisualPayload> selected)
        {
            var selectMode = new MetaSelectionMode(operation)
            {
                Selectable = selectable
            };

            var iterator = selectMode.ApplyMode(selected);

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