private IEntityComponentRenderer CreateRenderer(EntityComponentRendererType rendererType) { var renderer = CreateRendererCore(rendererType); var handler = RendererCreated; if (handler != null) { handler(this, new EntityComponentRendererEventArgs(this, renderer)); } return(renderer); }
private void EntitySystemOnComponentTypeAdded(object sender, Type type) { var rendererTypeAttribute = type.GetTypeInfo().GetCustomAttribute <DefaultEntityComponentRendererAttribute>(); if (rendererTypeAttribute == null) { return; } var renderType = AssemblyRegistry.GetType(rendererTypeAttribute.TypeName); if (renderType != null && typeof(IEntityComponentRenderer).GetTypeInfo().IsAssignableFrom(renderType.GetTypeInfo()) && renderType.GetTypeInfo().DeclaredConstructors.Any(x => !x.IsStatic && x.GetParameters().Length == 0)) { var entityComponentRendererType = new EntityComponentRendererType(type, renderType, rendererTypeAttribute.Order); RendererTypes.Add(entityComponentRendererType); } }
protected virtual IEntityComponentRenderer CreateRendererCore(EntityComponentRendererType rendererType) { return (IEntityComponentRenderer)Activator.CreateInstance(rendererType.RendererType); }
private IEntityComponentRenderer CreateRenderer(EntityComponentRendererType rendererType) { var renderer = CreateRendererCore(rendererType); var handler = RendererCreated; if (handler != null) { handler(this, new EntityComponentRendererEventArgs(this, renderer)); } return renderer; }
protected virtual IEntityComponentRenderer CreateRendererCore(EntityComponentRendererType rendererType) { return((IEntityComponentRenderer)Activator.CreateInstance(rendererType.RendererType)); }
private void EntitySystemOnComponentTypeAdded(object sender, Type type) { var rendererTypeAttribute = type.GetTypeInfo().GetCustomAttribute<DefaultEntityComponentRendererAttribute>(); if (rendererTypeAttribute == null) { return; } var renderType = AssemblyRegistry.GetType(rendererTypeAttribute.TypeName); if (renderType != null && typeof(IEntityComponentRenderer).GetTypeInfo().IsAssignableFrom(renderType.GetTypeInfo()) && renderType.GetTypeInfo().DeclaredConstructors.Any(x => !x.IsStatic && x.GetParameters().Length == 0)) { var entityComponentRendererType = new EntityComponentRendererType(type, renderType, rendererTypeAttribute.Order); RendererTypes.Add(entityComponentRendererType); } }