コード例 #1
0
        public static AbstractSubBaker CreateSubBaker(this Wearable wearable)
        {
            VisualParamsMapper.CompleteParams(wearable.Params);

            switch (wearable.Type)
            {
            case WearableType.Eyes:
                return(new EyeSubBaker(wearable));

            case WearableType.Skin:
                return(new SkinSubBaker(wearable));

            case WearableType.Hair:
                return(new HairSubBaker(wearable));

            case WearableType.Shape:
                return(new ShapeSubBaker(wearable));

            case WearableType.Tattoo:
                return(new TattooSubBaker(wearable));

            case WearableType.Alpha:
                return(new AlphaMaskSubBaker(wearable));

            case WearableType.Shirt:
                return(new ShirtSubBaker(wearable));

            case WearableType.Jacket:
                return(new JacketSubBaker(wearable));

            case WearableType.Socks:
                return(new SocksSubBaker(wearable));

            case WearableType.Pants:
                return(new PantsSubBaker(wearable));

            case WearableType.Underpants:
                return(new UnderpantsSubBaker(wearable));

            case WearableType.Undershirt:
                return(new UndershirtSubBaker(wearable));

            case WearableType.Shoes:
                return(new ShoesSubBaker(wearable));

            case WearableType.Skirt:
                return(new SkirtSubBaker(wearable));

            case WearableType.Gloves:
                return(new GlovesSubBaker(wearable));

            case WearableType.Universal:
                return(new UniversalSubBaker(wearable));

            default:
                return(null);    /* intentionally returning null here */
            }
        }