示例#1
0
        private void CleanUpTrackedEntities()
        {
            if (_trackedEntitiesToRemove.Count <= 0)
            {
                return;
            }

            foreach (var entity in _trackedEntitiesToRemove)
            {
                TrackedEntities.Remove(entity);
            }

            _trackedEntitiesToRemove.Clear();
        }
示例#2
0
 public void AddTrackedEntity(IEntity entity)
 {
     TrackedEntities.Add(entity);
     entity.Destroy += OnTrackedEntityDestroyed;
 }
示例#3
0
 public bool AnythingCollidesWith(Tile tile) =>
 TrackedEntities.Any(entity => entity != tile &&
                     tile.GetCurrentBounds().Intersects(entity.GetCurrentBounds()));