public TechnoExt(Pointer <TechnoClass> OwnerObject) : base(OwnerObject) { _extComponent = new ExtComponent <TechnoExt>(this, 0, "TechnoExt root component"); _decoratorComponent = new DecoratorComponent(); _extComponent.OnAwake += () => ScriptManager.CreateScriptableTo(_extComponent, Type.Scripts, this); _extComponent.OnAwake += () => _decoratorComponent.AttachToComponent(_extComponent); }
public void TestDecorator() { DecoratorComponentBase component = new DecoratorComponent(); component.Operation(); ConcreteDecorator decorator = new ConcreteDecorator(component); decorator.Operation(); }
public List <DecoratorComponent> GetAllDecoratorsTypes() { var abstractClass = typeof(DecoratorComponent); var derivedClass = AppDomain.CurrentDomain.GetAssemblies() .SelectMany(z => z.GetTypes()) .Where(z => abstractClass.IsAssignableFrom(z) && !z.IsInterface && !z.IsAbstract && z.Name != "DecoratorConcreteComponent") .ToList(); List <DecoratorComponent> decoratorsTypes = new List <DecoratorComponent>(); foreach (var type in derivedClass) { DecoratorComponent decorator = (DecoratorComponent)Activator.CreateInstance(type); decoratorsTypes.Add(decorator); } return(decoratorsTypes); }
public ConversionFromPLNtoUSDDecorator(DecoratorComponent baseComponent) : base(baseComponent) { }
public TaxDecorator(DecoratorComponent baseComponent) : base(baseComponent) { }
public CommissionDecorator(DecoratorComponent baseComponent) : base(baseComponent) { }