Пример #1
0
        void OnEnable()
        {
            CreateUI();
            ImplantAsset data = target as ImplantAsset;

            if (data != null)
            {
                if (data.Objects != null)
                {
                    foreach (var item in data.Objects)
                    {
                        if (item != null)
                        {
                            ImplantObjectListItem field = new ImplantObjectListItem(this, item);
                            _ItemsList.Controls.Add(field);
                        }
                    }
                }
            }
            else
            {
                _ItemsList.Controls.Clear();
            }
            if (_ItemsList.Controls.Count > 0)
            {
                _ItemsList.SelectedIndex = 0;
            }
        }
Пример #2
0
        void _ChangeCheck_Changed(object sender, EventArgs e)
        {
            ImplantAsset data = target as ImplantAsset;

            if (data != null)
            {
                EditorUtility.SetDirty(data);
            }
        }
Пример #3
0
 private void ApplyChanges()
 {
     if (_IsCollectionChanged)
     {
         ImplantAsset data = target as ImplantAsset;
         if (data != null)
         {
             data.Objects = new ImplantObject[_ItemsList.Controls.Count];
             for (int i = 0; i < _ItemsList.Controls.Count; i++)
             {
                 ImplantObjectListItem field = (ImplantObjectListItem)_ItemsList.Controls[i];
                 data.Objects[i] = field.Object;
             }
             EditorUtility.SetDirty(data);
         }
         _IsCollectionChanged = false;
     }
 }
Пример #4
0
        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;
        }