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; } }
void _BtnAdd_Click(object sender, System.EventArgs e) { ImplantObjectListItem newItem = new ImplantObjectListItem(this, CreateNew()); _ItemsList.Controls.Add(newItem); _ItemsList.SelectedItem = newItem; _IsCollectionChanged = true; }
public void NewAfter(EditorListItem item) { int index = _ItemsList.Controls.IndexOf(item); if (index >= 0) { ImplantObjectListItem newItem = new ImplantObjectListItem(this, CreateNew()); _ItemsList.Controls.Insert(index + 1, newItem); _IsCollectionChanged = true; } }
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; } }