From e4d4df9fdd81f1b1ed860d05e3f1f1d3e59750fc Mon Sep 17 00:00:00 2001 From: Evan Hemsley Date: Sun, 22 Mar 2020 16:07:58 -0700 Subject: [PATCH] resizeable message store --- encompass-cs/Collections/TypedMessageStore.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/encompass-cs/Collections/TypedMessageStore.cs b/encompass-cs/Collections/TypedMessageStore.cs index f5bd150..c8a263e 100644 --- a/encompass-cs/Collections/TypedMessageStore.cs +++ b/encompass-cs/Collections/TypedMessageStore.cs @@ -14,7 +14,7 @@ namespace Encompass // messages are placed in a contiguous region // so we can return the collection as a Span private int _nextIndex = 0; - private readonly TMessage[] _store = new TMessage[128]; + private TMessage[] _store = new TMessage[128]; private readonly List<(TMessage, double)> _delayedStore = new List<(TMessage, double)>(128); private readonly List<(TMessage, double)> _delayedStoreIgnoringTimeDilation = new List<(TMessage, double)>(128); private readonly Dictionary> _entityToIndices = new Dictionary>(); @@ -59,6 +59,10 @@ namespace Encompass public void Add(in TMessage message) { var index = _nextIndex++; + if (index >= _store.Length) + { + Array.Resize(ref _store, _store.Length * 2); + } _store[index] = message; if (message is IHasEntity entityMessage) {