private void OnTriggerEnter(Collider other) { var creator = other.GetComponent <DecoratorCreator>(); if (!creator) { return; } var newDecorator = creator.CreateDecorator(_brick); _brick = newDecorator; }
public IDecoratableComponent CreateDecorator(IDecoratableComponent decorator) { switch (type) { case Types.AddForce: print("Created force decorator"); return(new AddForceDecorator(decorator)); case Types.IncreaseSize: print("Created Size decorator"); return(new IncreaseSizeDecorator(decorator)); default: return(new AddForceDecorator(decorator)); } }
public AddForceDecorator(IDecoratableComponent decoratableComponent) : base(decoratableComponent) { }
public IncreaseSizeDecorator(IDecoratableComponent decoratableComponent) : base(decoratableComponent) { }
protected Decorator(IDecoratableComponent decoratableComponent) { DecoratableComponent = decoratableComponent; }