diff --git a/Sources/Sandbox.Game/Game/World/MyScriptManager.cs b/Sources/Sandbox.Game/Game/World/MyScriptManager.cs index d19ef9b22a..ce29a391e7 100644 --- a/Sources/Sandbox.Game/Game/World/MyScriptManager.cs +++ b/Sources/Sandbox.Game/Game/World/MyScriptManager.cs @@ -256,9 +256,9 @@ private void TryAddEntityScripts(MyModContext context, Assembly assembly) foreach (var type in assembly.GetTypes()) { var descriptorArray = type.GetCustomAttributes(typeof(MyEntityComponentDescriptor), false); - if (descriptorArray != null && descriptorArray.Length > 0) + foreach (var descriptorAttribute in descriptorArray) { - var descriptor = (MyEntityComponentDescriptor)descriptorArray[0]; + var descriptor = (MyEntityComponentDescriptor)descriptorAttribute; try { var component = (MyGameLogicComponent)Activator.CreateInstance(type); diff --git a/Sources/VRage.Game/Components/MyEntityComponentBase.cs b/Sources/VRage.Game/Components/MyEntityComponentBase.cs index f38fa7cd46..2746fc7116 100644 --- a/Sources/VRage.Game/Components/MyEntityComponentBase.cs +++ b/Sources/VRage.Game/Components/MyEntityComponentBase.cs @@ -4,7 +4,7 @@ namespace VRage.Game.Components { - [AttributeUsage(AttributeTargets.Class)] + [AttributeUsage(AttributeTargets.Class, AllowMultiple=true)] public class MyEntityComponentDescriptor : System.Attribute { public Type EntityBuilderType;