public override ISector BuildDecorator() { int fireDamage = GenerateRandomValue.GetRandom(101); int temp = GenerateRandomValue.GetRandom(30, 45); int windSpeed = GenerateRandomValue.GetRandom(80, 250); ISector sector = new Sector(fireDamage); if (GenerateRandomValue.NextDouble() < chanceOfDecorate) { sector = FactoryDecorator.CreateDecorator(sector, DecoratorTypeEnum.DryGrass); } if (GenerateRandomValue.NextDouble() < chanceOfDecorate) { sector = FactoryDecorator.CreateDecorator(sector, DecoratorTypeEnum.BigTrees); } if (GenerateRandomValue.NextDouble() < chanceOfDecorate) { sector = FactoryDecorator.CreateDecorator(sector, DecoratorTypeEnum.ScaredPeople); } if (temp > 30) { sector = FactoryDecorator.CreateDecorator(sector, DecoratorTypeEnum.HotDay, temp); } if (windSpeed > 80) { sector = FactoryDecorator.CreateDecorator(sector, DecoratorTypeEnum.WindyDay, windSpeed); } return(sector); }
public override ISector BuildDecorator() { int fireDamage = GenerateRandomValue.GetRandom(101); var sector = new Sector(fireDamage); return(FactoryDecorator.CreateDecorator(sector, DecoratorTypeEnum.Basic)); }
public override ISector BuildDecorator() { int fireDamage = GenerateRandomValue.GetRandom(101); int rain = GenerateRandomValue.GetRandom(1, 500); ISector sector = new Sector(fireDamage); if (rain > 50) { sector = FactoryDecorator.CreateDecorator(sector, DecoratorTypeEnum.RainingDay, rain); } return(sector); }
public static ISector CreateDecorator(ISector sector, DecoratorTypeEnum type, int value = 0) { FactoryDecorator sectorFactory = null; switch (type) { case DecoratorTypeEnum.BigTrees: sectorFactory = new BigTreesFactory(sector); break; case DecoratorTypeEnum.DryGrass: sectorFactory = new DryGrassFactory(sector); break; case DecoratorTypeEnum.HotDay: sectorFactory = new HotDayFactory(sector, value); break; case DecoratorTypeEnum.RainingDay: sectorFactory = new RainingDayFactory(sector, value); break; case DecoratorTypeEnum.ScaredPeople: var scaredPeople = GenerateRandomValue.GetRandom(0, 6); sectorFactory = new ScaredPeopleFactory(sector, scaredPeople); break; case DecoratorTypeEnum.WindyDay: sectorFactory = new WindyDayFactory(sector, value); break; case DecoratorTypeEnum.Basic: sectorFactory = new BasicFactory(sector); break; } return(sectorFactory.CreateSector()); }