private bool FilterIdols(object obj)
{
var idol = obj as IIdol;
var ok = TypeFilter.HasFlag(idol.Category);
if (FilterOwned)
{
ok &= !m_config.OwnedIdols.Any(x => x.Iid == idol.Iid);
}
if (!string.IsNullOrEmpty(NameFilter))
{
ok &= idol.Name.ToLower().Contains(NameFilter.ToLower()) ||
(idol.Label != null && idol.Label.ToLower().Contains(NameFilter.ToLower()));
}
if (RarityFilter != null)
{
ok &= idol.Rarity == RarityFilter;
}
if (CenterEffectFilter != null)
{
ok &= idol.CenterEffect != null && idol.CenterEffect.GetType() == CenterEffectFilter;
}
if (SkillFilter != null)
{
ok &= idol.Skill != null && idol.Skill.GetType() == SkillFilter;
}
if(ShowOwnedOnly)
{
ok &= m_config.OwnedIdols.Any(x => x.Name == idol.Name);
}
return ok;
}