コード例 #1
0
        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");
        }