Skip to content

Commit 6e4dc08

Browse files
committed
+ filters are cumulative. So &&
1 parent de7a232 commit 6e4dc08

File tree

3 files changed

+11
-7
lines changed

3 files changed

+11
-7
lines changed

src/Bevy.cs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -398,19 +398,24 @@ public interface IEventParam
398398

399399
internal sealed class EventParam<T> : SystemParam<World>, IEventParam, IIntoSystemParam<World> where T : notnull
400400
{
401-
private readonly List<T> _events = new();
401+
private readonly List<T> _eventsLastFrame = new (), _eventsThisFrame = new();
402402

403403
internal EventParam()
404404
{
405-
Writer = new EventWriter<T>(_events);
406-
Reader = new EventReader<T>(_events);
405+
Writer = new EventWriter<T>(_eventsThisFrame);
406+
Reader = new EventReader<T>(_eventsLastFrame);
407407
}
408408

409409
public EventWriter<T> Writer { get; }
410410
public EventReader<T> Reader { get; }
411411

412412

413-
public void Clear() => _events.Clear();
413+
public void Clear()
414+
{
415+
_eventsLastFrame.Clear();
416+
_eventsLastFrame.AddRange(_eventsThisFrame);
417+
_eventsThisFrame.Clear();
418+
}
414419

415420
public static ISystemParam<World> Generate(World arg)
416421
{
@@ -779,7 +784,7 @@ internal Commands(World world)
779784
_world = world;
780785
}
781786

782-
public EntityCommand Entity(EcsID id)
787+
public EntityCommand Entity(EcsID id = 0)
783788
{
784789
var ent = _world.Entity(id);
785790
return new EntityCommand(_world, ent.ID);

src/World.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,6 @@ internal ref T GetUntrusted<T>(EcsID entity, EcsID id, int size) where T : struc
322322
if (IsDeferred && !Has(entity, id))
323323
{
324324
Unsafe.SkipInit<T>(out var val);
325-
var isManaged = RuntimeHelpers.IsReferenceOrContainsReferences<T>();
326325
return ref Unsafe.Unbox<T>(SetDeferred(entity, id, val, size)!);
327326
}
328327

tools/TinyEcs.Generator/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ static string CreateDataAndFilterStructsContent()
219219
var createSubIterators = GenerateSequence(i + 1, "\n", j => $"_iter{j} = T{j}.CreateIterator(iterator);");
220220

221221
var callSubIterators = GenerateSequence(i + 1, "\n", j => $"var i{j} = _iter{j}.MoveNext();");
222-
var callResultsSubIterators = GenerateSequence(i + 1, " | ", j => $"i{j} ");
222+
var callResultsSubIterators = GenerateSequence(i + 1, " && ", j => $"i{j}");
223223
var setTicksSubIterators = GenerateSequence(i + 1, "\n", j => $"_iter{j}.SetTicks(lastRun, thisRun);");
224224

225225
sb.AppendLine($@"

0 commit comments

Comments
 (0)