public LayerMoveThumb(SelectionLayer layer) { this.ParentLayer = layer; this.Target = layer.AdornedElement; this.RelativeTarget = layer.Storyboard; }
public LayerResizeThumb(SelectionGripLayer layer) { this.TargetLayer = layer.Parent; this.TargetElement = layer.Parent.AdornedElement; this.RelativeTarget = layer.Parent.Storyboard; }
public UIEquipmentState(UIHandler uiHandler, GameObject parentNode) : base(uiHandler, parentNode) { slotViews = parentNode.transform.Find("Slot_Views").GetComponent <ViewGroup>(); selectionViews = parentNode.transform.Find("Views").GetComponent <ViewGroup>(); title = parentNode.transform.Find("Description/Title").GetComponent <PFontText>(); content = parentNode.transform.Find("Description/Content").GetComponent <PFontText>(); currentSelectionLayer = SelectionLayer.SlotSelection; itemsPerPage = selectionViews.Row * selectionViews.Column; }
public LayerEventTriggerButton(SelectionLayer layer) : base() { parentLayer = layer; if (layer is IRenderer renderer) { this.Renderer = renderer; this.DataContext = renderer.ProvideValue()[BindOptions.Output].First() as PBinder; this.BindOption = this.Binder.BindOption; this.Binder.SetView(this); this.Binder.SetRenderer(renderer); } }
protected void SetCurrentLayer(SelectionLayer layer) { currentSelectionLayer = layer; switch (layer) { case SelectionLayer.SlotSelection: slotViews.SetClickable(true); selectionViews.SetClickable(false); break; case SelectionLayer.ItemSelection: slotViews.SetClickable(false); selectionViews.SetClickable(true); break; default: break; } }
public void DestroySelectionLayer() { ShowSelectionLayer = false; SelectionLayer.Clear(); SelectionLayer.Transform.InitIdentity(); }
public void DestroySelectionLayer() { ShowSelectionLayer = false; SelectionLayer.Clear(); SelectionLayer.Offset = new PointD(0, 0); }
private void load(OsuGameBase osuGame) { try { rulesetContainer = CreateRulesetContainer(ruleset, osuGame.Beatmap.Value); // TODO: should probably be done at a RulesetContainer level to share logic with Player. rulesetContainer.Clock = new InterpolatingFramedClock((IAdjustableClock)osuGame.Beatmap.Value.Track ?? new StopwatchClock()); } catch (Exception e) { Logger.Error(e, "Could not load beatmap sucessfully!"); return; } HitObjectOverlayLayer hitObjectOverlayLayer = CreateHitObjectOverlayLayer(); SelectionLayer selectionLayer = new SelectionLayer(rulesetContainer.Playfield); var layerBelowRuleset = new BorderLayer { RelativeSizeAxes = Axes.Both, Child = CreateLayerContainer() }; var layerAboveRuleset = CreateLayerContainer(); layerAboveRuleset.Children = new Drawable[] { selectionLayer, // Below object overlays for input hitObjectOverlayLayer, selectionLayer.CreateProxy() // Proxy above object overlays for selections }; layerContainers.Add(layerBelowRuleset); layerContainers.Add(layerAboveRuleset); RadioButtonCollection toolboxCollection; InternalChild = new GridContainer { RelativeSizeAxes = Axes.Both, Content = new[] { new Drawable[] { new FillFlowContainer { Name = "Sidebar", RelativeSizeAxes = Axes.Both, Padding = new MarginPadding { Right = 10 }, Children = new Drawable[] { new ToolboxGroup { Child = toolboxCollection = new RadioButtonCollection { RelativeSizeAxes = Axes.X } } } }, new Container { Name = "Content", RelativeSizeAxes = Axes.Both, Children = new Drawable[] { layerBelowRuleset, rulesetContainer, layerAboveRuleset } } }, }, ColumnDimensions = new[] { new Dimension(GridSizeMode.Absolute, 200), } }; selectionLayer.ObjectSelected += hitObjectOverlayLayer.AddOverlay; selectionLayer.ObjectDeselected += hitObjectOverlayLayer.RemoveOverlay; toolboxCollection.Items = new[] { new RadioButton("Select", () => setCompositionTool(null)) } .Concat( CompositionTools.Select(t => new RadioButton(t.Name, () => setCompositionTool(t))) ) .ToList(); toolboxCollection.Items[0].Select(); }
private void UpdateLayersOnTemplateApplied() { // ensure the default XamlContentLayer if (this.contentLayers.Count == 0) { this.contentLayers.Add(new XamlContentLayer()); } foreach (var layer in this.contentLayers) { this.AddLayer(layer, this.cellsPanel); } this.editRowLayer = new GridEditRowLayer(); this.AddLayer(this.EditRowLayer, this.ContentLayers[0].VisualElement as Panel); // ensure the default XamlDecorator layer if (this.decorationLayerCache == null) { this.DecorationLayer = new XamlDecorationLayer(); } this.AddLayer(this.decorationLayerCache, this.decorationsHost); if (this.frozenDecorationLayer == null) { // ensure the frozen XamlDecorator layer this.frozenDecorationLayer = new XamlDecorationLayer(); this.frozenLineDecorationsPresenter.Owner = this.frozenDecorationLayer; } this.AddLayer(this.frozenDecorationLayer, this.FrozenDecorationsHost); // ensure the default XamlSelection layer if (this.selectionLayerCache == null) { this.selectionLayerCache = new XamlSelectionLayer(); this.selectionDecorationsPresenter.Owner = this.selectionLayerCache; } this.AddLayer(this.selectionLayerCache, this.decorationsHost); if (this.frozenSelectionLayerCache == null) { this.frozenSelectionLayerCache = new XamlSelectionLayer(); this.frozenSelectionDecorationsPresenter.Owner = this.frozenSelectionLayerCache; } this.AddLayer(this.frozenSelectionLayerCache, this.FrozenDecorationsHost); // ensure the default XamlVisualState layer if (this.visualStateLayerCache == null) { this.visualStateLayerCache = new XamlVisualStateLayer(); } this.AddLayer(this.visualStateLayerCache, this.decorationsHost); if (this.dragAdornerLayerCache == null) { this.dragAdornerLayerCache = new XamlDragAdornerLayer(); } if (this.frozenVisualStateLayerCache == null) { this.frozenVisualStateLayerCache = new XamlVisualStateLayer(); } this.AddLayer(this.frozenVisualStateLayerCache, this.FrozenDecorationsHost); this.AddLayer(this.dragAdornerLayerCache, this.adornerHostPanel); if (this.overlayAdornerLayerCache == null) { this.overlayAdornerLayerCache = new XamlOverlayAdornerLayer(); this.visualStateService.RegisterDataLoadingListener(this.overlayAdornerLayerCache); } this.AddLayer(this.overlayAdornerLayerCache, this.adornerHostPanel); if (this.scrolalbleAdornerLayerCache == null) { this.scrolalbleAdornerLayerCache = new XamlScrollableAdornerLayer(); } this.AddLayer(this.scrolalbleAdornerLayerCache, this.scrollableAdornerHostPanel); if (this.FrozenColumnsContentLayer == null) { this.FrozenColumnsContentLayer = new XamlContentLayer(); } this.AddLayer(this.FrozenColumnsContentLayer, this.frozenColumnsHost); if (this.GroupHeadersContentLayer == null) { this.GroupHeadersContentLayer = new XamlContentLayer(); } this.AddLayer(this.GroupHeadersContentLayer, this.GroupHeadersHost); this.frozenEditRowLayer = new GridEditRowLayer(); this.AddLayer(this.FrozenEditRowLayer, this.FrozenColumnsContentLayer.VisualElement as Panel); }
private void load([NotNull] OsuGameBase osuGame, [NotNull] IAdjustableClock adjustableClock, [NotNull] IFrameBasedClock framedClock, [CanBeNull] BindableBeatDivisor beatDivisor) { this.adjustableClock = adjustableClock; if (beatDivisor != null) { this.beatDivisor.BindTo(beatDivisor); } beatmap.BindTo(osuGame.Beatmap); try { rulesetContainer = CreateRulesetContainer(ruleset, beatmap.Value); rulesetContainer.Clock = framedClock; } catch (Exception e) { Logger.Error(e, "Could not load beatmap sucessfully!"); return; } HitObjectMaskLayer hitObjectMaskLayer = new HitObjectMaskLayer(this); SelectionLayer selectionLayer = new SelectionLayer(rulesetContainer.Playfield); var layerBelowRuleset = new BorderLayer { RelativeSizeAxes = Axes.Both, Child = CreateLayerContainer() }; var layerAboveRuleset = CreateLayerContainer(); layerAboveRuleset.Children = new Drawable[] { selectionLayer, // Below object overlays for input hitObjectMaskLayer, selectionLayer.CreateProxy() // Proxy above object overlays for selections }; layerContainers.Add(layerBelowRuleset); layerContainers.Add(layerAboveRuleset); RadioButtonCollection toolboxCollection; InternalChild = new GridContainer { RelativeSizeAxes = Axes.Both, Content = new[] { new Drawable[] { new FillFlowContainer { Name = "Sidebar", RelativeSizeAxes = Axes.Both, Padding = new MarginPadding { Right = 10 }, Children = new Drawable[] { new ToolboxGroup { Child = toolboxCollection = new RadioButtonCollection { RelativeSizeAxes = Axes.X } } } }, new Container { Name = "Content", RelativeSizeAxes = Axes.Both, Children = new Drawable[] { layerBelowRuleset, rulesetContainer, layerAboveRuleset } } }, }, ColumnDimensions = new[] { new Dimension(GridSizeMode.Absolute, 200), } }; selectionLayer.ObjectSelected += hitObjectMaskLayer.AddOverlay; selectionLayer.ObjectDeselected += hitObjectMaskLayer.RemoveOverlay; selectionLayer.SelectionCleared += hitObjectMaskLayer.RemoveSelectionOverlay; selectionLayer.SelectionFinished += hitObjectMaskLayer.AddSelectionOverlay; toolboxCollection.Items = new[] { new RadioButton("Select", () => setCompositionTool(null)) } .Concat( CompositionTools.Select(t => new RadioButton(t.Name, () => setCompositionTool(t))) ) .ToList(); toolboxCollection.Items[0].Select(); }