Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public override ISector BuildDecorator()
        {
            int fireDamage = GenerateRandomValue.GetRandom(101);
            var sector     = new Sector(fireDamage);

            return(FactoryDecorator.CreateDecorator(sector, DecoratorTypeEnum.Basic));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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());
        }