public static void SelectItem(CASClothingCategory ths, CASPart part, CASPartPreset preset, bool allowMultiple) { ICASModel cASModel = Responder.Instance.CASModel; List <CASPart> wornParts = cASModel.GetWornParts(part.BodyType); bool flag = false; if (ths.IsAccessoryType(ths.mCurrentPart)) { if ((part.Key == ths.mInvalidCASPart.Key) && (!allowMultiple)) { ths.RemoveAllPartsOfType(ths.mCurrentPart); CASClothingCategory.sAccessoriesSelection = (int)ths.mCurrentPart; } else { flag = true; CASClothingCategory.sAccessoriesSelection = (int)part.BodyType; CASController.Singleton.SetAccessoryCam(part.BodyType, true); if (!allowMultiple) { if (part.BodyType == BodyTypes.Earrings) { ths.RemoveAllPartsOfType(BodyTypes.LeftEarring); ths.RemoveAllPartsOfType(BodyTypes.RightEarring); } else if ((part.BodyType == BodyTypes.LeftEarring) || (part.BodyType == BodyTypes.RightEarring)) { ths.RemoveAllPartsOfType(BodyTypes.Earrings); } } } } else if (!wornParts.Contains(part)) { flag = true; } if (preset != null) { ths.mCurrentPreset = preset; if (preset.mPresetString != null) { if (flag) { ths.mModel.RequestAddCASPart(part, preset.mPresetString); } else { ths.mModel.RequestCommitPresetToPart(part, preset.mPresetString); } } } else if (flag) { ths.mModel.RequestAddCASPart(part, false); CASSelectionGrid.SetSelectionIndex((uint)part.BodyType); } Audio.StartSound("ui_tertiary_button"); }