Ejemplo n.º 1
0
 public void AddDecor(IDecor decor)
 {
     IsSolid  = IsSolid || decor.IsSolid;
     IsOpaque = IsOpaque || decor.IsOpaque;
     TotalNoiseSuppression += decor.NoiseSuppression;
     Decors.Add(decor);
 }
Ejemplo n.º 2
0
        public void RemoveDecor(IDecor decor)
        {
            Decors.Remove(decor);
            TotalNoiseSuppression -= decor.NoiseSuppression;

            if (decor.IsSolid)
            {
                IsSolid = false;
                foreach (var dec in Decors)
                {
                    IsSolid = IsSolid || dec.IsSolid;
                }
            }

            if (decor.IsOpaque)
            {
                IsOpaque = false;
                foreach (var dec in Decors)
                {
                    IsOpaque = IsOpaque || dec.IsOpaque;
                }
            }
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            Rectangle fig      = new Rectangle(12, 12);
            Figure    recToFig = ConvertToFigure(fig);

            Console.WriteLine(recToFig.NameDecor());
            Console.WriteLine(recToFig.Name());

            Console.WriteLine("_______________________________________");
            Menu   menu         = new Menu();
            Button menuToButton = ConvertToButton(menu);

            Console.WriteLine(menuToButton.NameDecor());
            Console.WriteLine(menuToButton.Name());
            Console.WriteLine("_______________________________________");


            IDecor[] array = new IDecor[] { new Button("B1"), new Rectangle(100, 100), new Menu(), new Window(), new DecorA() };
            foreach (IDecor item in array)
            {
                Console.WriteLine(item.ToString());
            }
            Console.ReadKey();
        }
Ejemplo n.º 4
0
 public InvaderDecorator(IDecor invader)
 {
     this.decoratedInvader = invader;
 }
Ejemplo n.º 5
0
 public FirstAnimationInvader(IDecor invader) : base(invader)
 {
     inv = invader as Invader;
     inv.SetImage(Properties.Resources.nullable);
 }