private void CreateUI() { _Frame = new Skill.Editor.UI.EditorFrame("Frame", this); _Frame.Grid.RowDefinitions.Add(140, Skill.Framework.UI.GridUnitType.Pixel); // Panel _Frame.Grid.RowDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star); // Empty _Frame.Grid.Padding = new Skill.Framework.UI.Thickness(2, 4); _Panel = new Skill.Framework.UI.Grid(); _Panel.RowDefinitions.Add(24, Skill.Framework.UI.GridUnitType.Pixel); // _UnitsField _Panel.RowDefinitions.Add(36, Skill.Framework.UI.GridUnitType.Pixel); // _BtnOrganizeByPrefab _Panel.RowDefinitions.Add(36, Skill.Framework.UI.GridUnitType.Pixel); // _BtnOrganizeByUnits _Panel.RowDefinitions.Add(36, Skill.Framework.UI.GridUnitType.Pixel); // _BtnRemoveEmptyObjects _Panel.RowDefinitions.Add(4, Skill.Framework.UI.GridUnitType.Pixel); // empty _Frame.Controls.Add(_Panel); var margin = new Skill.Framework.UI.Thickness(0, 4, 0, 0); Grid g = new Grid() { Row = 0, Column = 0, Margin = margin }; g.ColumnDefinitions.Add(40, GridUnitType.Pixel); g.ColumnDefinitions.Add(1, GridUnitType.Star); _UnitsLabel = new Label() { Column = 0, Text = "Units" }; g.Controls.Add(_UnitsLabel); _BtnOrganizeByPrefab = new Button() { Row = 1, Column = 0, Margin = margin }; _BtnOrganizeByPrefab.Content.text = "Organize by prefab"; _Panel.Controls.Add(_BtnOrganizeByPrefab); _UnitsField = new Skill.Editor.UI.Vector3Field() { Column = 1, Value = _UnitLength }; g.Controls.Add(_UnitsField); _Panel.Controls.Add(g); _BtnOrganizeByUnits = new Button() { Row = 2, Column = 0, Margin = margin }; _BtnOrganizeByUnits.Content.text = "Organize by units"; _Panel.Controls.Add(_BtnOrganizeByUnits); _BtnRemoveEmptyObjects = new Button() { Row = 3, Column = 0, Margin = margin }; _BtnRemoveEmptyObjects.Content.text = "Delete empty objects"; _Panel.Controls.Add(_BtnRemoveEmptyObjects); _BtnOrganizeByPrefab.Click += _BtnOrganizeByPrefab_Click; _BtnOrganizeByUnits.Click += _BtnOrganizeByUnits_Click; _BtnRemoveEmptyObjects.Click += _BtnRemoveEmptyObjects_Click; _UnitsField.ValueChanged += _UnitsField_ValueChanged; }
public ImplantObjectPropertiesField() { this.Margin = new Thickness(0, 0, 0, 8); this.Width = 300; this._MinScaleField = new FloatField() { Margin = new Thickness(2, 2, 2, 0) }; this._MinScaleField.Label.text = "Min Scale Percent"; this._MaxScaleField = new FloatField() { Margin = new Thickness(2, 2, 2, 0) }; this._MaxScaleField.Label.text = "Max Scale Percent"; this._ChanceField = new Skill.Editor.UI.Slider() { MinValue = 0.1f, MaxValue = 1.0f, Margin = new Thickness(2, 2, 2, 2) }; this._ChanceField.Label.text = "Chance"; _RandomRotationPanel = new Grid() { Height = 45 }; _RandomRotationPanel.ColumnDefinitions.Add(30, GridUnitType.Pixel); _RandomRotationPanel.ColumnDefinitions.Add(1, GridUnitType.Star); _RandomRotationPanel.RowDefinitions.Add(1, GridUnitType.Star); _RandomRotationPanel.RowDefinitions.Add(1, GridUnitType.Star); _MinRandomRotation = new Vector3Field() { Row = 0, Column = 1 }; _MaxRandomRotation = new Vector3Field() { Row = 1, Column = 1 }; _RandomRotationPanel.Controls.Add(_MinRandomRotation); _RandomRotationPanel.Controls.Add(_MaxRandomRotation); Label lblMin = new Label() { Row = 0, Column = 0, Text = "Min" }; Label lblMax = new Label() { Row = 1, Column = 0, Text = "Max" }; _RandomRotationPanel.Controls.Add(lblMin); _RandomRotationPanel.Controls.Add(lblMax); _CustomRotation = new Skill.Editor.UI.Vector3Field(); _RandomYaw = new Skill.Framework.UI.ToggleButton() { HorizontalAlignment = Skill.Framework.UI.HorizontalAlignment.Left, Margin = new Thickness(20, 0, 0, 0) }; _RandomYaw.Content.text = "Random Yaw"; _RotationSF = new Skill.Editor.UI.SelectionField() { Margin = new Thickness(2) }; _RotationSF.Label.Width = 110; _RotationSF.Background.Visibility = Skill.Framework.UI.Visibility.Hidden; _RotationSF.AddField(_RandomYaw, "Surface Normal "); _RotationSF.AddField(_CustomRotation, "Custom "); _RotationSF.AddField(_RandomRotationPanel, "Random "); _RotationLabel = new DropShadowLabel() { Text = "Rotation", Margin = new Thickness(4, 0, 0, 0) }; this.Orientation = Orientation.Vertical; this.Controls.Add(_MinScaleField); this.Controls.Add(_MaxScaleField); this.Controls.Add(_ChanceField); this.Controls.Add(_RotationLabel); this.Controls.Add(_RotationSF); this._MinScaleField.ValueChanged += new EventHandler(_MinScaleField_ValueChanged); this._MaxScaleField.ValueChanged += new EventHandler(_MaxScaleField_ValueChanged); this._ChanceField.ValueChanged += new EventHandler(_ChanceField_ValueChanged); this._RotationSF.SelectedFieldChanged += new EventHandler(_RotationSF_SelectedFieldChanged); this._MinRandomRotation.ValueChanged += _MinRandomRotation_ValueChanged; this._MaxRandomRotation.ValueChanged += _MaxRandomRotation_ValueChanged; this._CustomRotation.ValueChanged += new EventHandler(_CustomRotation_ValueChanged); this._RandomYaw.Changed += new EventHandler(_RandomYaw_Changed); this.Object = null; this.Height = _MinScaleField.LayoutHeight + _MinScaleField.Margin.Vertical + _MaxScaleField.LayoutHeight + _MaxScaleField.Margin.Vertical + _ChanceField.LayoutHeight + _ChanceField.Margin.Vertical + _RotationLabel.LayoutHeight + _RotationLabel.Margin.Vertical + _RotationSF.LayoutHeight + _RotationSF.Margin.Vertical + 20; }