private void ApplyKeywordFilter()
{
this.m_FilteredVariants.Clear();
this.m_AvailableKeywords.Clear();
for (int i = 0; i < this.m_Data.keywords.Length; i++)
{
bool flag = true;
for (int j = 0; j < this.m_SelectedKeywords.Count; j++)
{
if (!Enumerable.Contains<string>(this.m_Data.keywords[i], this.m_SelectedKeywords[j]))
{
flag = false;
break;
}
}
if (flag)
{
this.m_FilteredVariants.Add(i);
foreach (string str in this.m_Data.keywords[i])
{
if (!this.m_AvailableKeywords.Contains(str) && !this.m_SelectedKeywords.Contains(str))
{
this.m_AvailableKeywords.Add(str);
}
}
}
}
this.m_AvailableKeywords.Sort();
}