public void CopyFrom(RelationItem source) { this.target = source.target; _defs.Clear(); foreach (RelationDef info in source._defs) { RelationDef info2 = new RelationDef(); info2.copyFrom(info); _defs.Add(info2); } }
public void CopyFrom(Relations source) { ClearAll(); List <RelationItem> arr = source._items; foreach (RelationItem ri in arr) { RelationItem item = new RelationItem(_owner); item.CopyFrom(ri); _items.Add(item); } }
public void Add(GObject target, RelationType relationType, bool usePercent = false) { foreach (RelationItem item in _items) { if (item.target == target) { item.Add(relationType, usePercent); return; } } RelationItem newItem = new RelationItem(_owner); newItem.target = target; newItem.Add(relationType, usePercent); _items.Add(newItem); }
public void ClearFor(GObject target) { int cnt = _items.Count; int i = 0; while (i < cnt) { RelationItem item = _items[i]; if (item.target == target) { item.Dispose(); _items.RemoveAt(i); cnt--; } else { i++; } } }
public void Remove(GObject target, RelationType relationType) { int cnt = _items.Count; int i = 0; while (i < cnt) { RelationItem item = _items[i]; if (item.target == target) { item.Remove(relationType); if (item.isEmpty) { item.Dispose(); _items.RemoveAt(i); cnt--; } } else { i++; } } }