public void UpdateSelection(object selection) { if (this.MaxSelection > 0) { if (selection is ArtifactData) { ArtifactData artifactData = selection as ArtifactData; if (artifactData.IsFavorite || artifactData.CheckEquiped()) { return; } } if (this.mSelection.Contains(selection)) { this.mSelection.Remove(selection); } else if (this.mSelection.Count < this.MaxSelection) { this.mSelection.Add(selection); } this.UpdateSelection(); this.TriggerSelectionChange(); } else { this.mSelection.Clear(); this.mSelection.Add(selection); this.UpdateSelection(); this.TriggerSelectionChange(); } }