public void AddDecor(IDecor decor) { IsSolid = IsSolid || decor.IsSolid; IsOpaque = IsOpaque || decor.IsOpaque; TotalNoiseSuppression += decor.NoiseSuppression; Decors.Add(decor); }
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; } } }
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(); }
public InvaderDecorator(IDecor invader) { this.decoratedInvader = invader; }
public FirstAnimationInvader(IDecor invader) : base(invader) { inv = invader as Invader; inv.SetImage(Properties.Resources.nullable); }