using System.Collections; using System.Collections.Generic; using System.Collections.Immutable; namespace Barotrauma { [NetworkSerialize] public readonly record struct NetCollection(ImmutableArray Array) : INetSerializableStruct, IEnumerable { public static readonly NetCollection Empty = new(ImmutableArray.Empty); public NetCollection(params T[] elements) : this(elements.ToImmutableArray()) { } IEnumerator IEnumerable.GetEnumerator() => ((IEnumerable)Array).GetEnumerator(); IEnumerator IEnumerable.GetEnumerator() => ((IEnumerable)Array).GetEnumerator(); } }