public HashSet<OSRIC_CLASS> AvailableClassesByAttributes(OSRICAttributeModel _atm) { HashSet<OSRIC_CLASS> retSet = new HashSet<OSRIC_CLASS>(); bool addClass; foreach(OSRIC_CLASS oc in Enum.GetValues(typeof(OSRIC_CLASS))) { if(oc == OSRIC_CLASS.None) { retSet.Add(oc); continue; } int classIndex = classMinimums.GetYIndexOf(oc.GetDesc()); addClass = true; foreach(OSRIC_ATTRIBUTES oa in Enum.GetValues(typeof(OSRIC_ATTRIBUTES))) { if(_atm.GetBaseAttribute(oa)<classMinimums.GetValue(oa.GetDesc(),classIndex)) addClass = false; } if(addClass) retSet.Add(oc); } return retSet; }