diff --git a/src/Hypercube.Ecs/Components/Signature.cs b/src/Hypercube.Ecs/Components/Signature.cs index ab16006..a84332b 100644 --- a/src/Hypercube.Ecs/Components/Signature.cs +++ b/src/Hypercube.Ecs/Components/Signature.cs @@ -31,13 +31,14 @@ public Signature() public Signature(params ComponentMeta[] components) { _components = components; - _hashCode = GetHashCode(_components); - + foreach (ref var component in components.AsSpan()) { if (component.Id > _maxId) _maxId = component.Id; } + + _hashCode = GetHashCode(_components); } public Signature(Span components) : this(components.ToArray())