using System; namespace Awperative; public abstract partial class DockerEntity { public Component AddComponent() where Generic : Component => AddComponent([]); public Component AddComponent(object[] __args) where Generic : Component { if(typeof(Generic).GetConstructor((Type[]) __args) == null) { Debug.LogError("Component does not contain a valid constructor"); return null; }; try { Component component = (Generic)Activator.CreateInstance(typeof(Generic), __args); if(component == null) { Debug.LogError("Failed to create component"); return null; } _components.Add(component); component.Initiate(this); return component; }catch { Debug.LogError("Failed to create component"); return null; } } }