예제 #1
0
        private void OnTriggerEnter(Collider other)
        {
            var creator = other.GetComponent <DecoratorCreator>();

            if (!creator)
            {
                return;
            }

            var newDecorator = creator.CreateDecorator(_brick);

            _brick = newDecorator;
        }
예제 #2
0
        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));
            }
        }
예제 #3
0
 public AddForceDecorator(IDecoratableComponent decoratableComponent) : base(decoratableComponent)
 {
 }
 public IncreaseSizeDecorator(IDecoratableComponent decoratableComponent) : base(decoratableComponent)
 {
 }
예제 #5
0
 protected Decorator(IDecoratableComponent decoratableComponent)
 {
     DecoratableComponent = decoratableComponent;
 }