//ActivationQueue activationQueue; // Use this for initialization void Awake () { if (Instance == null) Instance = this; else Destroy(this); }
private void PrepareComponents() { foreach (Component component in ConfigurationManager.Instance.Components) { GameComponent baseComponent = ComponentActivator.CreateInstance(Type.GetType(component.Value), this) as GameComponent; Components.Add(baseComponent); } }
public void CanConstructObjectWithoutParameters() { var context = new CreationContext {ConcreteType = typeof (ClassWithNoDependencies)}; IComponentActivator activator = new ComponentActivator(); var instance = activator.CreateInstance(context); Assert.IsType(typeof (ClassWithNoDependencies), instance); }
public void CanConstructObjectWithParameters() { var stringParameter = "string argument"; var context = new CreationContext {ConcreteType = typeof (ClassDependingOnAString), Arguments = new[] {stringParameter}}; IComponentActivator activator = new ComponentActivator(); var instance = (ClassDependingOnAString)activator.CreateInstance(context); Assert.IsType(typeof(ClassDependingOnAString), instance); Assert.Equal(stringParameter, instance.Dependency); }
public void CanConstructObjectWithoutParameters() { var context = new CreationContext { ConcreteType = typeof(ClassWithNoDependencies) }; IComponentActivator activator = new ComponentActivator(); var instance = activator.CreateInstance(context); Assert.IsType(typeof(ClassWithNoDependencies), instance); }
public void CanConstructObjectWithParameters() { var stringParameter = "string argument"; var context = new CreationContext { ConcreteType = typeof(ClassDependingOnAString), Arguments = new[] { stringParameter } }; IComponentActivator activator = new ComponentActivator(); var instance = (ClassDependingOnAString)activator.CreateInstance(context); Assert.IsType(typeof(ClassDependingOnAString), instance); Assert.Equal(stringParameter, instance.Dependency); }
public ComponentRegistration(Type type, ComponentActivator activator, IEnumerable <Type>?registrationTypes = null) { var registrations = new List <Type>(registrationTypes ?? Array.Empty <Type>()); if (registrations.Count == 0) { // Every registration needs at least one registration type. registrations.Add(type); } ImplementationType = type; RegistrationTypes = registrations; Activator = activator ?? throw new ArgumentNullException(nameof(activator)); }
public CachingActivator(ComponentActivator activator) { _activator = activator ?? throw new ArgumentNullException(nameof(activator)); _result = null; }