Example #1
0
    public void createAnimal()
    {
        AnimalsRequirements requirements = new AnimalsRequirements();

        requirements.HasFourLegs = HasFourLegs;
        requirements.Feline      = Feline;
        requirements.FarmAnimal  = FarmAnimal;
        requirements.Deadly      = Deadly;
        AnimalsFactory factory = new AnimalsFactory(requirements);
        IAnimals       v       = factory.Create();

        Debug.Log(v);
        if (v.ToString() == "Lion")
        {
            Instantiate(Lion);
        }
        else if (v.ToString() == "Catto")
        {
            Instantiate(Cat);
        }
        else if (v.ToString() == "Doggo")
        {
            Instantiate(Dog);
        }
        else if (v.ToString() == "Chicken")
        {
            Instantiate(Chicken);
        }
        else if (v.ToString() == "Penguin")
        {
            Instantiate(Penguin);
        }
    }
 public IAnimals Create(AnimalsRequirements requirements)
 {
     if (requirements.FarmAnimal)
     {
         return(new Chicken());
     }
     else
     {
         return(new Penguin());
     }
 }
 public IAnimals Create(AnimalsRequirements requirements)
 {
     if (requirements.Feline)
     {
         if (requirements.Deadly)
         {
             return(new Lion());
         }
         else
         {
             return(new Catto());
         }
     }
     else
     {
         return(new Doggo());
     }
 }
 public AnimalsFactory(AnimalsRequirements requirements)
 {
     _factory      = requirements.HasFourLegs ? (IAnimalsFactory) new FourLegsFactory() : new TwoLegsfactory();
     _requirements = requirements;
 }