protected override void Add() { if (SelectedMob != null) { if (TrackByID) { var existingMob = SelectedMobs.FirstOrDefault(x => x.Name == SelectedMob.Name && x.Id == SelectedMob.Id); if (existingMob == null) { SelectedMobs.Add(new Target(SelectedMob.Name, SelectedMob.Id, true)); } } else { var existingMob = SelectedMobs.FirstOrDefault(x => x.Name == SelectedMob.Name); if (existingMob == null) { SelectedMobs.Add(new Target(SelectedMob.Name, SelectedMob.Id, false)); } else { // Found existing track by Id, flip it to generic tracking. existingMob.TrackById = false; } } SelectedMob = null; } else { if (string.IsNullOrWhiteSpace(Value)) { return; } SelectedMobs.Add(new Target(Value, 0, false)); Value = ""; } }
protected override void Clear() { SelectedMobs.Clear(); Value = ""; }