void Start()
    {
        ClothesRequirements requirements = new ClothesRequirements();

        requirements.Woman    = Woman;
        requirements.Location = Mathf.Max(Location);
        requirements.Woman    = Formal;
        requirements.Formal   = Formal;

        ClothesFactory factory = new ClothesFactory(requirements);
        IClothes       v       = factory.Create();

        Debug.Log(v);
    }
    public IClothes Create(ClothesRequirements requirements)
    {
        switch (requirements.Location)
        {
        case 1:
            return(new Swimwear());

        case 2:
            if (requirements.Formal)
            {
                return(new Tuxedo());
            }
            else
            {
                return(new DressyCasual());
            }
            return(new DressyCasual());

        case 3:
            if (requirements.Formal)
            {
                return(new BusinessProfessional());
            }
            else
            {
                return(new BusinessCasual());
            }
            return(new DressyCasual());

        case 4:
            if (requirements.Formal)
            {
                return(new DressyCasual());
            }
            else
            {
                return(new CasualWear());
            }

        default:
            return(new CasualWear());
        }
    }
 public ClothesFactory(ClothesRequirements requirements)
 {
     _factory      = requirements.Woman ? (IClothesFactory) new WomenFactory() : new MenFactory();
     _requirements = requirements;
 }