void OnEnable() { _Data = target as Skill.Framework.Managers.CacheGroup; CreateUI(); if (_Data != null) { if (_Data.Caches != null) { foreach (var item in _Data.Caches) { if (item != null) { CacheGroupListItem field = new CacheGroupListItem(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) { CacheGroupListItem newField = new CacheGroupListItem(this, new Framework.Managers.CacheObject()); _ItemsList.Controls.Add(newField); _ItemsList.SelectedItem = newField; _IsCollectionChanged = true; }
public void NewAfter(EditorListItem item) { int index = _ItemsList.Controls.IndexOf(item); if (index >= 0) { CacheGroupListItem newField = new CacheGroupListItem(this, new Framework.Managers.CacheObject()); _ItemsList.Controls.Insert(index + 1, newField); _IsCollectionChanged = true; } }
private void ApplyChanges() { if (_IsCollectionChanged) { if (_Data != null) { _Data.Caches = new Framework.Managers.CacheObject[_ItemsList.Controls.Count]; for (int i = 0; i < _ItemsList.Controls.Count; i++) { CacheGroupListItem field = (CacheGroupListItem)_ItemsList.Controls[i]; _Data.Caches[i] = field.Object; } EditorUtility.SetDirty(_Data); } _IsCollectionChanged = false; } }