GetAllWith() now by default clears the list before adding entities. new argument allow caller to specify behaviour

Because, holy shit, I just spent too long trying to figure out the most
bizarre bug that was being caused by the list *not* being cleared and
I forgot that I had to with the way this was written originally!
This commit is contained in:
Gered 2013-09-01 03:43:15 -04:00
parent b306101d89
commit 0a08631df6

View file

@ -104,10 +104,14 @@ namespace Blarg.GameFramework.Entities
} }
public void GetAllWith<T>(EntityList list) where T : Component public void GetAllWith<T>(EntityList list, bool clearListFirst = true) where T : Component
{ {
if (list == null) if (list == null)
throw new ArgumentNullException("list", "Must provide a list to store matching Entity's in."); throw new ArgumentNullException("list", "Must provide a list to store matching Entity's in.");
if (clearListFirst)
list.Clear();
EntityToComponentMap componentEntities = _components.Get(typeof(T)); EntityToComponentMap componentEntities = _components.Get(typeof(T));
if (componentEntities == null) if (componentEntities == null)
return; return;