public void Setup(IMetaSelectable targetSelectable) { TargetSelectable = targetSelectable; SelectionMode.Selectable = targetSelectable; transform.parent = targetSelectable.GetTransform(); }
public static RowColumnMetaSelect InstantiateRowColumnSelect(IMetaSelectable selectable) { var selectRow = Instantiate(PayloadSelectorFactoryMaster.SelectPrefab); selectRow.Setup(selectable); return(selectRow); }
public static FrustumMetaSelector InstantiateFrustumSelect(IMetaSelectable selectable) { var selectFrustum = Instantiate(PayloadSelectorFactoryMaster.FrustumSelectPrefab); selectFrustum.Setup(selectable); return(selectFrustum); }
public static CriterionRangeMetaSelector InstantiateCriterionRangeSelect(IMetaSelectable selectable) { var selectCriterion = new CriterionRangeMetaSelector(); selectCriterion.Setup(selectable); return(selectCriterion); }
public static KeyMetaSelectAll InstantiateSelectAll(IMetaSelectable selectable) { var selectAll = Instantiate(PayloadSelectorFactoryMaster.KeyMetaSelectAllPrefab); selectAll.Setup(selectable); return(selectAll); }
public void Setup(IMetaSelectable targetSelectable) { TargetSelectable = targetSelectable; SelectionMode.Selectable = targetSelectable; transform.parent = targetSelectable.GetTransform(); TargetObject.transform.position = transform.position + Vector3.one * 5f; }
public static ClickMetaSelectReceiver InstantiateClickSelect(IMetaSelectable selectable, GameObject receivingObject, InputModifiers modifiers) { var selectClick = receivingObject.AddComponent <ClickMetaSelectReceiver>(); selectClick.Modifiers = modifiers; selectClick.Setup(selectable); return(selectClick); }
public override void Render(VisualPayload payload, Transform labelRoot, IMetaSelectable selectable) { LabelRoot = labelRoot; RenderChartTitle(payload); foreach (var axis in Axes) { axis.Render(payload, selectable); } }
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); } }
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); }
public abstract void Render(VisualPayload payload, Transform labelRoot, IMetaSelectable selectable);
public virtual void SetInteractivity(IMetaSelectable selectable) { }
public void Setup(IMetaSelectable targetSelectable) { TargetSelectable = targetSelectable; SelectionMode.Selectable = targetSelectable; }
public static ClickMetaSelectReceiver InstantiateClickSelect(IMetaSelectable selectable, GameObject receivingObject) { return(InstantiateClickSelect(selectable, receivingObject, InputModifiers.CurrentInputModifiers())); }
public override void Render(VisualPayload payload, Transform labelRoot, IMetaSelectable selectable) { }
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); } }