public override void GetUIComponents(MarkupRegularLine line, List <EditorItem> components, UIComponent parent, bool isTemplate = false) { base.GetUIComponents(line, components, parent, isTemplate); components.Add(AddBaseProperty(this, parent)); components.Add(AddHeightProperty(this, parent)); components.Add(AddSpaceProperty(this, parent)); if (!isTemplate) { components.Add(AddInvertProperty(this, parent)); } }
private BoolListPropertyPanel AddClipSidewalkProperty(MarkupRegularLine line) { var clipSidewalk = ComponentPool.Get <BoolListPropertyPanel>(LineProperties, nameof(line.ClipSidewalk)); clipSidewalk.Text = NodeMarkup.Localize.LineEditor_ClipSidewalk; clipSidewalk.Init(NodeMarkup.Localize.StyleOption_No, NodeMarkup.Localize.StyleOption_Yes); clipSidewalk.SelectedObject = line.ClipSidewalk; clipSidewalk.OnSelectObjectChanged += (value) => line.ClipSidewalk.Value = value; return(clipSidewalk); }
protected override IStyleData Calculate(MarkupRegularLine line, ITrajectory trajectory, MarkupLOD lod) { if (!CheckDashedLod(lod, Height, Base)) { return(new MarkupStyleParts()); } var borders = line.Borders; var coef = Mathf.Cos(Angle * Mathf.Deg2Rad); return(new MarkupStyleParts(StyleHelper.CalculateDashed(trajectory, Base / coef, Space / coef, CalculateDashes))); IEnumerable <MarkupStylePart> CalculateDashes(ITrajectory trajectory, float startT, float endT) { if (StyleHelper.CalculateDashedParts(borders, trajectory, Invert ? endT : startT, Invert ? startT : endT, Base, Height / (Invert ? 2 : -2), Height, Color, out MarkupStylePart dash)) { dash.MaterialType = MaterialType.Triangle; dash.Angle -= Angle * Mathf.Deg2Rad; yield return(dash); } } }
public override void GetUIComponents(MarkupRegularLine line, List <EditorItem> components, UIComponent parent, bool isTemplate = false) { base.GetUIComponents(line, components, parent, isTemplate); components.Add(AddBaseProperty(this, parent)); components.Add(AddHeightProperty(this, parent)); components.Add(AddSpaceProperty(this, parent)); var angle = AddAngleProperty(parent); components.Add(angle); if (!isTemplate) { var invertButton = AddInvertProperty(parent); components.Add(invertButton); invertButton.OnButtonClick += OnButtonClick; void OnButtonClick() { Invert.Value = !Invert; Angle.Value = -Angle; angle.Value = Angle; } } }
private void LeftBorgerChanged(MarkupRegularLine line) => EditObject.LeftBorder.Value = line;
private void FillBorder(CrosswalkBorderSelectPropertyPanel panel, Action <MarkupRegularLine> action, MarkupRegularLine[] lines, MarkupRegularLine value) { panel.OnValueChanged -= action; panel.Clear(); panel.AddRange(lines); panel.Value = value; if (Settings.ShowPanelTip) { panel.isVisible = true; panel.EnableControl = lines.Any(); } else { panel.EnableControl = true; panel.isVisible = lines.Any(); } panel.OnValueChanged += action; }
private void RightBorgerChanged(MarkupRegularLine line) => EditObject.RightBorder = line;