private void CreateUI() { _Frame = new Skill.Framework.UI.Frame("Frame"); _Panel = new Skill.Framework.UI.StackPanel(); _BtnUpdate = new Button() { Height = 20, Margin = new Skill.Framework.UI.Thickness(0, 0, 0, 4) }; _BtnUpdate.Content.text = "Count"; _LblCount = new LabelField(); _LblCount.Label.text = "Count"; _LblCount.Label2.text = _ChildCounter.Count.ToString(); _Panel.Controls.Add(_LblCount); _Panel.Controls.Add(_BtnUpdate); _Frame.Grid.Controls.Add(_Panel); _BtnUpdate.Click += _BtnUpdate_Click; }
private void CreateUI() { _Frame = new Skill.Framework.UI.Frame("Frame"); _Panel = new Skill.Framework.UI.StackPanel(); _BtnGenerate = new Button() { Height = 20, Margin = new Skill.Framework.UI.Thickness(0, 0, 0, 4) }; _BtnGenerate.Content.text = "Generate"; _BtnDestroy = new Button() { Height = 20, Margin = new Skill.Framework.UI.Thickness(0, 0, 0, 4) }; _BtnDestroy.Content.text = "Clear"; _Panel.Controls.Add(_BtnGenerate); _Panel.Controls.Add(_BtnDestroy); _Frame.Grid.Controls.Add(_Panel); _BtnGenerate.Click += _BtnGenerate_Click; _BtnDestroy.Click += _BtnDestroy_Click; }
private void CreateUI() { Thickness margin = new Thickness(0, 2, 0, 4); _Frame = new Skill.Framework.UI.Frame("Frame"); _Panel = new StackPanel(); Grid pnlToggles = new Grid() { Height = 22 }; pnlToggles.ColumnDefinitions.Add(1, GridUnitType.Star); pnlToggles.ColumnDefinitions.Add(1, GridUnitType.Star); _TbEnable = new UI.ToggleButton() { IsChecked = _Implant.IsEnable, Margin = margin, Left = true, Column = 0 }; _TbEnable.Label.text = "Enable"; _TbUniform = new UI.ToggleButton() { IsChecked = _Implant.Uniform, Margin = margin, Left = true, Column = 1 }; _TbUniform.Label.text = "Uniform"; pnlToggles.Controls.Add(_TbEnable); pnlToggles.Controls.Add(_TbUniform); _AssetField = new Skill.Editor.UI.ObjectField <ImplantAsset>() { VerticalAlignment = VerticalAlignment.Center, Margin = margin, AllowSceneObjects = false }; _AssetField.Label.text = "ImplantAsset"; if (_Implant.ImplantAsset != null) { _Asset = _Implant.ImplantAsset as ImplantAsset; _Implant.ImplantAsset = _AssetField.Object = _Asset; } _RootField = new ObjectField <Transform>() { Margin = margin, AllowSceneObjects = true, Object = _Implant.Root }; _RootField.Label.text = "Root"; _Layers = new Skill.Editor.UI.LayerMaskField() { Layers = _Implant.LayerMask, VerticalAlignment = VerticalAlignment.Center, Margin = margin }; _Layers.Label.text = "Raycast layers"; _SliDensity = new Skill.Editor.UI.IntSlider() { Value = _Implant.Density, MinValue = 1, MaxValue = 1000, Margin = margin, Height = 16 }; _SliDensity.Label.text = "Density"; _SliDensity.Label.tooltip = "Shift + (W/S)"; _SliRotation = new Skill.Editor.UI.Slider() { Value = _Implant.Rotation, MinValue = 0.0f, MaxValue = 360, Margin = margin, Height = 16 }; _SliRotation.Label.text = "Rotation"; _SliRotation.Label.tooltip = "Shift + (A/D)"; _SliOffsetY = new Skill.Editor.UI.Slider() { Value = _Implant.OffsetY, MinValue = -10.0f, MaxValue = 20, Margin = margin, Height = 16 }; _SliOffsetY.Label.text = "Offset Y"; _SliOffsetY.Label.tooltip = "Offset in Y axis)"; _SliMinRadius = new Skill.Editor.UI.Slider() { Value = _Implant.MinRadius, MinValue = 0.0f, MaxValue = 200, Margin = margin, Height = 16 }; _SliMinRadius.Label.text = "Min Radius"; _SliMaxRadius = new Skill.Editor.UI.Slider() { Value = _Implant.MaxRadius, MinValue = 0.0f, MaxValue = 200, Margin = margin, Height = 16 }; _SliMaxRadius.Label.text = "Max Radius"; _SliRectWidth = new Skill.Editor.UI.Slider() { Value = _Implant.RectWidth, MinValue = 0.0f, MaxValue = 1000, Margin = margin, Height = 16 }; _SliRectWidth.Label.text = "Width"; _SliRectHeight = new Skill.Editor.UI.Slider() { Value = _Implant.RectHeight, MinValue = 0.0f, MaxValue = 1000, Margin = margin, Height = 16 }; _SliRectHeight.Label.text = "Height"; _Help = new Skill.Editor.UI.HelpBox() { Message = "Hold Ctrl and Right Click to implant obejcts.\nMouse3 to shuffle.\nShift + R : Make reference point.\nSpace : R reference point", Height = 60, Margin = new Thickness(0, 10, 0, 0) }; _TbModes = new TabHeader { Margin = new Thickness(0, 2, 0, 10), HorizontalAlignment = HorizontalAlignment.Center, Width = 200, Height = 20 }; _TbModes[0].text = "Circle"; _TbModes[1].text = "Rectangle"; _TbModes.SelectedTab = _Implant.BrushMode; _Panel.Controls.Add(pnlToggles); _Panel.Controls.Add(_AssetField); _Panel.Controls.Add(_RootField); _Panel.Controls.Add(_Layers); _Panel.Controls.Add(_SliDensity); _Panel.Controls.Add(_SliRotation); _Panel.Controls.Add(_SliOffsetY); _Panel.Controls.Add(_TbModes); _Panel.Controls.Add(_SliMinRadius); _Panel.Controls.Add(_SliMaxRadius); _Panel.Controls.Add(_SliRectWidth); _Panel.Controls.Add(_SliRectHeight); _Panel.Controls.Add(_Help); _Frame.Grid.Controls.Add(_Panel); ChangeMode(); UpdateRotation(); _AssetField.ObjectChanged += _AssetField_ObjectChanged; _RootField.ObjectChanged += _RootField_ObjectChanged; _Layers.LayersChanged += _Layers_LayersChanged; _SliDensity.ValueChanged += _SliDensity_ValueChanged; _SliRotation.ValueChanged += _SliRotation_ValueChanged; _TbModes.SelectedTabChanged += _TbModes_SelectedTabChanged; _SliMinRadius.ValueChanged += _SliMinRadius_ValueChanged; _SliMaxRadius.ValueChanged += _SliMaxRadius_ValueChanged; _SliRectWidth.ValueChanged += _SliRectWidth_ValueChanged; _SliRectHeight.ValueChanged += _SliRectHeight_ValueChanged; _SliOffsetY.ValueChanged += _SliOffsetY_ValueChanged; _TbEnable.Changed += _TbEnable_Changed; _TbUniform.Changed += _TbUniform_Changed; }
private void CreateUI() { _CounterLimitField = new CounterLimitAccessKeyField(this) { Row = 2, Column = 0, ColumnSpan = 2, Visibility = Visibility.Hidden }; _TimeLimitField = new TimeLimitAccessKeyField(this) { Row = 2, Column = 0, ColumnSpan = 2, Visibility = Visibility.Hidden }; _Frame = new Frame("MainFrame"); _Frame.Grid.RowDefinitions.Add(ButtonRowHeight, GridUnitType.Pixel); // _BtnAdd _Frame.Grid.RowDefinitions.Add(1, GridUnitType.Star); // _ItemsList _Frame.Grid.RowDefinitions.Add(_CounterLimitField.LayoutHeight + 2, GridUnitType.Pixel); // _ObjectField _Frame.Grid.RowDefinitions.Add(30, GridUnitType.Pixel); // Build button _Frame.Grid.RowDefinitions.Add(20, GridUnitType.Pixel); // Build path _Frame.Grid.ColumnDefinitions.Add(1, GridUnitType.Star); // TimeLimit _Frame.Grid.ColumnDefinitions.Add(1, GridUnitType.Star); // Counter Limit _BtnAddTimeLimit = new Skill.Framework.UI.Button() { Row = 0, Column = 0, Margin = new Thickness(2) }; _BtnAddTimeLimit.Content.text = "Time"; _BtnAddTimeLimit.Content.tooltip = "add timelimit accessy key"; _BtnAddTimeLimit.Click += _BtnAddTimeLimit_Click; _BtnAddCounterLimit = new Skill.Framework.UI.Button() { Row = 0, Column = 1, Margin = new Thickness(2) }; _BtnAddCounterLimit.Content.text = "Counter"; _BtnAddCounterLimit.Content.tooltip = "add counterlimit accessy key"; _BtnAddCounterLimit.Click += _BtnAddCounterLimit_Click; _ItemsList = new Skill.Framework.UI.ListBox() { Row = 1, Column = 0, ColumnSpan = 2, Margin = new Thickness(2) }; _ItemsList.BackgroundVisible = true; _ItemsList.DisableFocusable(); _Frame.Controls.Add(new Box() { Row = 2, Column = 0, ColumnSpan = 2 }); _Frame.Controls.Add(_BtnAddTimeLimit); _Frame.Controls.Add(_BtnAddCounterLimit); _Frame.Controls.Add(_ItemsList); _Frame.Controls.Add(_CounterLimitField); _Frame.Controls.Add(_TimeLimitField); _BtnBuild = new Skill.Framework.UI.Button() { Row = 3, Column = 0, ColumnSpan = 2, Margin = new Skill.Framework.UI.Thickness(0, 2) }; _BtnBuild.Content.text = "Build"; _Frame.Controls.Add(_BtnBuild); _BuildPathField = new UI.TextField() { Row = 4, Column = 0, ColumnSpan = 2, Margin = new Skill.Framework.UI.Thickness(0, 2) }; _BuildPathField.Label.text = "Path"; _BuildPathField.Text = Asset.BuildPath; _Frame.Controls.Add(_BuildPathField); _BtnBuild.Click += _BtnBuild_Click; _BuildPathField.TextChanged += _BuildPathField_TextChanged; _ItemsList.SelectionChanged += _ItemsPanel_SelectionChanged; }
private void CreateUI() { _ChangeCheck = new ChangeCheck(); _ChangeCheck.ColumnDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star); _ChangeCheck.ColumnDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star); _ChangeCheck.RowDefinitions.Add(24, Skill.Framework.UI.GridUnitType.Pixel); // _BtnAdd , _BtnRemove _ChangeCheck.RowDefinitions.Add(164, Skill.Framework.UI.GridUnitType.Pixel); // _PointsScrollView _ChangeCheck.RowDefinitions.Add(86, Skill.Framework.UI.GridUnitType.Pixel); // _PnlPoperties _ChangeCheck.RowDefinitions.Add(130, Skill.Framework.UI.GridUnitType.Pixel); //_PnlTools _BtnAdd = new Button() { Row = 0, Column = 0 }; _BtnAdd.Content.text = "Add"; _BtnAdd.Content.tooltip = "Add new point the end of the path."; _BtnAdd.Content.image = Resources.UITextures.Plus; _BtnRemove = new Button() { Row = 0, Column = 1 }; _BtnRemove.Content.text = "Remove"; _BtnRemove.Content.tooltip = "Remove selected point."; _BtnRemove.Content.image = Resources.UITextures.Minus; _PointsScrollView = new Skill.Framework.UI.ScrollView() { Row = 1, Column = 0, ColumnSpan = 2, AlwayShowVertical = true, Padding = new Skill.Framework.UI.Thickness(0, 2) }; _GridPoints = new Skill.Framework.UI.SelectionGrid() { XCount = 5 }; _PointsScrollView.Controls.Add(_GridPoints); _PointsScrollView.RenderAreaChanged += _PointsScrollView_RenderAreaChanged; _SelectedPointPropertiesBackground = new Skill.Framework.UI.Box() { Row = 2, Column = 0, ColumnSpan = 2 }; _PnlPoperties = new Skill.Framework.UI.StackPanel() { Row = 2, Column = 0, ColumnSpan = 2, Orientation = Skill.Framework.UI.Orientation.Vertical, Padding = new Skill.Framework.UI.Thickness(2) }; _FFTime = new FloatField() { Height = 16, Margin = new Skill.Framework.UI.Thickness(0, 2, 0, 4) }; _FFTime.Label.text = "Time"; _VFValue = new Vector3Field() { Height = 20 }; _VFValue.Label.text = "Position"; _VFInTangent = new Vector3Field() { Height = 20 }; _VFInTangent.Label.text = "InTangent"; _VFOutTangent = new Vector3Field() { Height = 20 }; _VFOutTangent.Label.text = "OutTangent"; _PnlPoperties.Controls.Add(_FFTime); _PnlPoperties.Controls.Add(_VFValue); _PnlPoperties.Controls.Add(_VFInTangent); _PnlPoperties.Controls.Add(_VFOutTangent); _PnlTools = new Skill.Framework.UI.Grid() { Row = 5, Column = 0, ColumnSpan = 2, Padding = new Skill.Framework.UI.Thickness(2) }; _PnlTools.ColumnDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star); _PnlTools.ColumnDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star); _PnlTools.ColumnDefinitions.Add(2, Skill.Framework.UI.GridUnitType.Star); _PnlTools.RowDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star); // _LmGroundLayer _PnlTools.RowDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star); // _BtnGroundAll , _BtnGroundSelected _PnlTools.RowDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star); // _LblFLinearTime _PnlTools.RowDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star); _PnlTools.RowDefinitions.Add(1, Skill.Framework.UI.GridUnitType.Star); _LmGroundLayer = new LayerMaskField() { Row = 0, Column = 0, ColumnSpan = 3, Layers = _Path.GroundLayer, Margin = new Framework.UI.Thickness(2) }; _LmGroundLayer.Label.text = "Ground Layer"; _BtnGroundSelected = new Button() { Row = 1, Column = 0, ColumnSpan = 2, Margin = new Skill.Framework.UI.Thickness(2, 2) }; _BtnGroundSelected.Content.text = "Ground Selected"; _BtnGroundSelected.Content.tooltip = "put selected on ground"; _BtnGroundAll = new Button() { Row = 1, Column = 2, Margin = new Skill.Framework.UI.Thickness(2, 2) }; _BtnGroundAll.Content.text = "Ground All"; _BtnGroundAll.Content.tooltip = "put all points on ground"; _LblFLinearTime = new LabelField() { Row = 2, Column = 0, Margin = new Skill.Framework.UI.Thickness(0, 2) }; _LblFLinearTime.Label.text = "Time"; _FFLinearTime = new FloatField() { Row = 2, Column = 1, Margin = new Skill.Framework.UI.Thickness(0, 2), Value = _Path.PathTime }; _BtnSetLinearTime = new Button() { Row = 2, Column = 2, Margin = new Skill.Framework.UI.Thickness(2, 2) }; _BtnSetLinearTime.Content.text = "Set Time by Distance"; _BtnSetLinearTime.Content.tooltip = "Set time of nodes by relative distance"; _SliSmoothValue = new Skill.Editor.UI.Slider() { Row = 3, Column = 0, ColumnSpan = 3, MinValue = 0.0f, MaxValue = 1.0f, Value = _Path.SmoothValue }; _SliSmoothValue.Label.text = "Smooth Value"; _BtnSmoothCurve = new Button() { Row = 4, Column = 0, ColumnSpan = 2, Margin = new Skill.Framework.UI.Thickness(2, 2) }; _BtnSmoothCurve.Content.text = "Smooth Curve"; _BtnSmoothCurve.Content.tooltip = "Smooth the in and out tangents of the keys."; _BtnSmoothPoint = new Button() { Row = 4, Column = 2, Margin = new Skill.Framework.UI.Thickness(2, 2) }; _BtnSmoothPoint.Content.text = "Smooth Point"; _BtnSmoothPoint.Content.tooltip = "Smooth the in and out tangents of the selected key."; _PnlTools.Controls.Add(_LmGroundLayer); _PnlTools.Controls.Add(_BtnGroundSelected); _PnlTools.Controls.Add(_BtnGroundAll); _PnlTools.Controls.Add(_LblFLinearTime); _PnlTools.Controls.Add(_FFLinearTime); _PnlTools.Controls.Add(_BtnSetLinearTime); _PnlTools.Controls.Add(_SliSmoothValue); _PnlTools.Controls.Add(_BtnSmoothPoint); _PnlTools.Controls.Add(_BtnSmoothCurve); _ChangeCheck.Controls.Add(_BtnAdd); _ChangeCheck.Controls.Add(_BtnRemove); _ChangeCheck.Controls.Add(_PointsScrollView); _ChangeCheck.Controls.Add(_SelectedPointPropertiesBackground); _ChangeCheck.Controls.Add(_PnlPoperties); _ChangeCheck.Controls.Add(_PnlTools); _Frame = new Skill.Framework.UI.Frame("EditorFrame"); _Frame.Grid.Controls.Add(_ChangeCheck); _BtnAdd.Click += _BtnAdd_Click; _BtnRemove.Click += _BtnRemove_Click; _ChangeCheck.Changed += _ChangeCheck_Changed; _GridPoints.SelectedChanged += _GridPoints_SelectedChanged; _FFTime.ValueChanged += SelectedPoint_ValueChanged; _VFValue.ValueChanged += SelectedPoint_ValueChanged; _VFInTangent.ValueChanged += SelectedPoint_ValueChanged; _VFOutTangent.ValueChanged += SelectedPoint_ValueChanged; _FFLinearTime.ValueChanged += _FFLinearTime_ValueChanged; _BtnSmoothPoint.Click += _BtnSmoothPoint_Click; _BtnSmoothCurve.Click += _BtnSmoothCurve_Click; _BtnSetLinearTime.Click += _BtnSetLinearTime_Click; _SliSmoothValue.ValueChanged += _SliSmoothValue_ValueChanged; _LmGroundLayer.LayersChanged += _LmGroundLayer_LayersChanged; _BtnGroundSelected.Click += _BtnGroundSelected_Click; _BtnGroundAll.Click += _BtnGroundAll_Click; }
private void CreateUI() { _Frame = new Skill.Framework.UI.Frame("Frame"); _Panel = new Skill.Framework.UI.StackPanel(); _Frame.Grid.Controls.Add(_Panel); _FrameHeight = 2; Thickness margin = new Thickness(2); _Receiver = new ObjectField <GameObject>() { Margin = margin }; _Receiver.Label.text = "Receiver"; _Panel.Controls.Add(_Receiver); _FrameHeight += _Receiver.Height + margin.Vertical; _FunctionName = new Skill.Editor.UI.TextField() { Margin = margin }; _FunctionName.Label.text = "Function"; _Panel.Controls.Add(_FunctionName); _FrameHeight += _FunctionName.Height + margin.Vertical; _MessageOptions = new EnumPopup() { Margin = margin }; _MessageOptions.Label.text = "Message Options"; _Panel.Controls.Add(_MessageOptions); _FrameHeight += _MessageOptions.Height + margin.Vertical; _ParameterType = new EnumPopup() { Margin = margin }; _ParameterType.Label.text = "Parameter Type"; _Panel.Controls.Add(_ParameterType); _FrameHeight += _ParameterType.Height + margin.Vertical; _Float = new FloatField() { Margin = margin }; _Float.Label.text = "Float"; _Panel.Controls.Add(_Float); _FrameHeight += _Float.Height + margin.Vertical; _Int = new IntField() { Margin = margin }; _Int.Label.text = "Float"; _Panel.Controls.Add(_Int); _FrameHeight += _Int.Height + margin.Vertical; _Boolean = new Skill.Editor.UI.ToggleButton() { Margin = margin, Left = true }; _Boolean.Label.text = "Boolean"; _Panel.Controls.Add(_Boolean); _FrameHeight += _Boolean.Height + margin.Vertical; _ObjectReference = new ObjectField <Object>() { Margin = margin }; _ObjectReference.Label.text = "Object"; _Panel.Controls.Add(_ObjectReference); _FrameHeight += _ObjectReference.Height + margin.Vertical; _String = new Skill.Editor.UI.TextField() { Margin = margin }; _String.Label.text = "String"; _Panel.Controls.Add(_String); _FrameHeight += _String.Height + margin.Vertical; _Receiver.Object = _Data.Receiver; _FunctionName.Text = _Data.FunctionName; _MessageOptions.Value = _Data.MessageOptions; _ParameterType.Value = _Data.ParameterType; _Float.Value = _Data.Float; _Int.Value = _Data.Int; _Boolean.IsChecked = _Data.Boolean; _ObjectReference.Object = _Data.ObjectReference; _String.Text = _Data.String; UpdateVisibility(); _Receiver.ObjectChanged += _Receiver_ObjectChanged; _FunctionName.TextChanged += _FunctionName_TextChanged; _MessageOptions.ValueChanged += _MessageOptions_ValueChanged; _ParameterType.ValueChanged += _ParameterType_ValueChanged; _Float.ValueChanged += _Float_ValueChanged; _Int.ValueChanged += _Int_ValueChanged; _Boolean.Changed += _Boolean_Changed; _ObjectReference.ObjectChanged += _ObjectReference_ObjectChanged; _String.TextChanged += _String_TextChanged; }
private void CreateUI() { _ObjectField = new CacheObjectField(this) { Row = 2, Column = 1 }; _MainPanel = new ChangeCheck() { Row = 1, Column = 0 }; _MainPanel.RowDefinitions.Add(ButtonRowHeight, GridUnitType.Pixel); // _BtnAdd _MainPanel.RowDefinitions.Add(1, GridUnitType.Star); // _ItemsList _MainPanel.RowDefinitions.Add(_ObjectField.LayoutHeight, GridUnitType.Pixel); // _ObjectField _BtnAdd = new Skill.Framework.UI.Button() { Row = 0, Column = 0, Margin = new Thickness(2) }; _BtnAdd.Content.text = "Add"; _BtnAdd.Click += new System.EventHandler(_BtnAdd_Click); _ItemsList = new ListBox() { Row = 1, Column = 0, Margin = new Thickness(2) }; _ItemsList.BackgroundVisible = true; _ItemsList.DisableFocusable(); _MainPanel.Controls.Add(new Box() { Row = 2, Column = 1 }); _MainPanel.Controls.Add(_BtnAdd); _MainPanel.Controls.Add(_ItemsList); _MainPanel.Controls.Add(_ObjectField); _PnlControls = new StackPanel() { Row = 0, Column = 0 }; _BtnInitializeOnAwake = new UI.ToggleButton() { Height = 18 }; _BtnInitializeOnAwake.Label.text = "Initialize On Awake"; _BtnInitializeOnAwake.Label.tooltip = "create all cached objects on awake"; _BtnInitializeOnAwake.IsChecked = _Data.InitializeOnAwake; _BtnMakeAsChild = new UI.ToggleButton() { Height = 18 }; _BtnMakeAsChild.Label.text = "Make as Child"; _BtnMakeAsChild.Label.tooltip = "create all cached objects as childs of group"; _BtnMakeAsChild.IsChecked = _Data.MakeAsChild; _FlCleanInterval = new FloatField() { Height = 18 }; _FlCleanInterval.Label.text = "Clean Interval"; _FlCleanInterval.Label.tooltip = "Clean Interval of this group"; _FlCleanInterval.Value = _Data.CleanInterval; _PnlControls.Controls.Add(_BtnInitializeOnAwake); _PnlControls.Controls.Add(_BtnMakeAsChild); _PnlControls.Controls.Add(_FlCleanInterval); _Frame = new Frame("MainFrame"); _Frame.Grid.RowDefinitions.Add(56, GridUnitType.Pixel); // _PnlControls _Frame.Grid.RowDefinitions.Add(1, GridUnitType.Star); // _MainPanel _Frame.Grid.Controls.Add(_PnlControls); _Frame.Grid.Controls.Add(_MainPanel); _MainPanel.Changed += new EventHandler(_ChangeCheck_Changed); _ItemsList.SelectionChanged += _ItemsPanel_SelectionChanged; _BtnInitializeOnAwake.Changed += Properties_Changed; _BtnMakeAsChild.Changed += Properties_Changed; _FlCleanInterval.ValueChanged += Properties_Changed; }
private void CreateUI() { _Panel = new StackPanel() { Padding = new Skill.Framework.UI.Thickness(2, 4, 2, 0) }; _TextureField = new Skill.Editor.UI.ObjectField <Texture2D>() { Object = _PaintColor.Texture, HorizontalAlignment = Skill.Framework.UI.HorizontalAlignment.Center, Width = 80, Height = 80, Margin = new Skill.Framework.UI.Thickness(2) }; #region _TbChannels _TbChannels = new UI.TabHeader(4, true) { Margin = new Thickness(0, 2, 0, 10), HorizontalAlignment = HorizontalAlignment.Center, Width = 200, Height = 20 }; _TbChannels[0].text = "R"; _TbChannels[1].text = "G"; _TbChannels[2].text = "B"; _TbChannels[3].text = "A"; _TbChannels.SetTabSelected(0, _PaintColor.ChannelR); _TbChannels.SetTabSelected(1, _PaintColor.ChannelG); _TbChannels.SetTabSelected(2, _PaintColor.ChannelB); _TbChannels.SetTabSelected(3, _PaintColor.ChannelA); #endregion #region _LayersField and _PUV and _TbBrush Grid layersPanel = new Grid() { Height = 32, Padding = new Thickness(2, 6) }; layersPanel.ColumnDefinitions.Add(90, GridUnitType.Pixel); layersPanel.ColumnDefinitions.Add(50, GridUnitType.Pixel); layersPanel.ColumnDefinitions.Add(10, GridUnitType.Pixel); layersPanel.ColumnDefinitions.Add(45, GridUnitType.Pixel); layersPanel.ColumnDefinitions.Add(1, GridUnitType.Star); _TbBrush = new UI.ToggleButton() { Column = 0, IsChecked = _PaintColor.Brush, Left = true }; _TbBrush.Label.text = "Brush View"; layersPanel.Controls.Add(_TbBrush); _PUV = new Popup() { Row = 0, Column = 1 }; PopupOption uv1 = new PopupOption(0) { Name = "UV1" }; uv1.Content.text = "UV 1"; PopupOption uv2 = new PopupOption(1) { Name = "UV2" }; uv2.Content.text = "UV 2"; _PUV.Options.Add(uv1); _PUV.Options.Add(uv2); _PUV.SelectedIndex = _PaintColor.UV2 ? 1 : 0; layersPanel.Controls.Add(_PUV); Label lbl = new Label() { Text = "Layers", Column = 3 }; layersPanel.Controls.Add(lbl); _LayersField = new LayerMaskField() { Row = 0, Column = 4 }; _LayersField.Layers = _PaintColor.LayerMask; _LayersField.Label.text = string.Empty; layersPanel.Controls.Add(_LayersField); #endregion _PnlFavoriteColors = new Grid() { Height = 22, Margin = new Thickness(0, 2) }; _FavoriteColors = new Color[] { new Color(1.0f, 0.0f, 0.0f, 0.0f), // red new Color(0.0f, 1.0f, 0.0f, 0.0f), // green new Color(0.0f, 0.0f, 1.0f, 0.0f), // blue new Color(0.0f, 0.0f, 0.0f, 1.0f), // Alpha new Color(1.0f, 1.0f, 1.0f, 1.0f), // white new Color(0.0f, 0.0f, 0.0f, 0.0f) }; // black _PnlFavoriteColors.Controls.Add(new Box() { Row = 0, Column = 0, ColumnSpan = _FavoriteColors.Length }); for (int i = 0; i < _FavoriteColors.Length; i++) { _PnlFavoriteColors.ColumnDefinitions.Add(1, GridUnitType.Star); Skill.Framework.UI.Button btn = new Skill.Framework.UI.Button() { Tag = i.ToString(), Margin = new Thickness(4), Style = new GUIStyle(), Column = i }; string toolTip = string.Empty; Texture2D background = null; if (i == 0) { background = Skill.Editor.Resources.UITextures.Colors.Red; toolTip = "Red"; } else if (i == 1) { background = Skill.Editor.Resources.UITextures.Colors.Green; toolTip = "Green"; } else if (i == 2) { background = Skill.Editor.Resources.UITextures.Colors.Blue; toolTip = "Blue"; } else if (i == 3) { background = Skill.Editor.Resources.UITextures.Colors.Transparent; toolTip = "Alpha"; } else if (i == 4) { background = Skill.Editor.Resources.UITextures.Colors.White; toolTip = "White"; } else if (i == 5) { background = Skill.Editor.Resources.UITextures.Colors.Black; toolTip = "Black"; } btn.Style.normal.background = btn.Style.focused.background = btn.Style.hover.background = btn.Style.active.background = background; btn.Content.tooltip = toolTip; btn.Click += btn_Click; _PnlFavoriteColors.Controls.Add(btn); } _ColorField = new ColorField() { Color = _PaintColor.Color, Margin = new Thickness(2) }; _SliRadius = new Skill.Editor.UI.Slider() { Value = _PaintColor.Radius, MinValue = 1, MaxValue = 40, Margin = new Thickness(2), Height = 16 }; _SliRadius.Label.text = "Radius"; _SliRadius.Label.tooltip = "Shift + (A/D)"; _SliStrength = new Skill.Editor.UI.Slider() { Value = _PaintColor.Strength, MinValue = 1f, MaxValue = 100f, Margin = new Thickness(2), Height = 16 }; _SliStrength.Label.text = "Strength"; _SliFalloff = new Skill.Editor.UI.Slider() { Value = _PaintColor.Falloff, MinValue = 0.0f, MaxValue = 1.0f, Margin = new Thickness(2), Height = 16 }; _SliFalloff.Label.text = "Falloff"; _HelpBox = new HelpBox() { Height = 60, Message = "Hold CTRL and drag with Right Click to paint.\nTexture must be read/write enable\nValid texture format:\n ARGB32, RGBA32, RGB24 and Alpha8" }; _BtnSaveTexture = new Skill.Framework.UI.Button() { Margin = new Thickness(2), Height = 40 }; _BtnSaveTexture.Content.text = "Save Texture"; _TbShadowMode = new UI.ToggleButton() { Left = false, Margin = new Thickness(2), Height = 20 }; _TbShadowMode.Label.text = "Shadow Mode"; _Panel.Controls.Add(_TextureField); _Panel.Controls.Add(_TbChannels); _Panel.Controls.Add(_PnlFavoriteColors); _Panel.Controls.Add(_ColorField); _Panel.Controls.Add(layersPanel); _Panel.Controls.Add(_SliRadius); _Panel.Controls.Add(_SliStrength); _Panel.Controls.Add(_SliFalloff); _Panel.Controls.Add(_TbShadowMode); _Panel.Controls.Add(_HelpBox); _Panel.Controls.Add(_BtnSaveTexture); _Frame = new Frame("Frame"); _Frame.Grid.Controls.Add(_Panel); _TextureField.ObjectChanged += _TextureField_ObjectChanged; _TbBrush.Changed += _TbBrush_Changed; _TbShadowMode.Changed += _TbShadowMode_Changed; _TbChannels.TabChanged += Channel_Changed; _LayersField.LayersChanged += _LayersField_LayersChanged; _PUV.OptionChanged += _PUV_OptionChanged; _ColorField.ColorChanged += _ColorField_ColorChanged; _SliRadius.ValueChanged += _SliRadius_ValueChanged; _SliStrength.ValueChanged += _SliStrength_ValueChanged; _SliFalloff.ValueChanged += _SliFalloff_ValueChanged; _BtnSaveTexture.Click += _BtnSaveTexture_Click; }
private void CreateUI() { _ObjectField = new ImplantObjectField(this) { Row = 4, Column = 1 }; _MainPanel = new ChangeCheck(); _MainPanel.RowDefinitions.Add(26, GridUnitType.Pixel); // property lable _MainPanel.RowDefinitions.Add(124, GridUnitType.Pixel); // properties _MainPanel.RowDefinitions.Add(ButtonRowHeight, GridUnitType.Pixel); // button add _MainPanel.RowDefinitions.Add(1, GridUnitType.Star); // object list _MainPanel.RowDefinitions.Add(_ObjectField.LayoutHeight, GridUnitType.Pixel); // object filed _LblDefaultProperties = new DropShadowLabel() { Row = 0, Column = 0, Margin = new Thickness(0, 0, 0, 6) }; _LblDefaultProperties.Text = "Default properties"; ImplantAsset asset = target as ImplantAsset; if (asset.DefaultObject == null) { asset.DefaultObject = CreateNew(); } asset.DefaultObject.OverrideProperties = true; _PropertiesField = new ImplantObjectPropertiesField() { Row = 1, Column = 0, Object = asset.DefaultObject }; _ItemsList = new ListBox() { Row = 3, Column = 0, Margin = new Thickness(0, 2) }; _ItemsList.BackgroundVisible = true; _ItemsList.DisableFocusable(); _BtnAdd = new Skill.Framework.UI.Button() { Row = 2, Column = 0, Margin = new Thickness(2) }; _BtnAdd.Content.text = "Add"; _BtnAdd.Click += new System.EventHandler(_BtnAdd_Click); _MainPanel.Controls.Add(new Box() { Row = 4, Column = 0 }); _MainPanel.Controls.Add(new Box() { Row = 0, Column = 0, RowSpan = 2 }); _MainPanel.Controls.Add(_LblDefaultProperties); _MainPanel.Controls.Add(_PropertiesField); _MainPanel.Controls.Add(_BtnAdd); _MainPanel.Controls.Add(_ItemsList); _MainPanel.Controls.Add(_ObjectField); _Frame = new Frame("MainFrame"); _Frame.Grid.Controls.Add(_MainPanel); _MainPanel.Changed += new EventHandler(_ChangeCheck_Changed); _ItemsList.SelectionChanged += _ItemsList_SelectionChanged; }