diff options
| author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2019-02-23 12:15:46 -0500 |
|---|---|---|
| committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2019-02-23 12:15:46 -0500 |
| commit | 3504fd5080dbcfd0172299c5c6d13895e53ad163 (patch) | |
| tree | caab8e868566262b3aa4d80aa6a06cdf13e7c21d /src/views.h | |
| parent | 15b511e694f976686fdec1fb9f959f8a92f3b594 (diff) | |
| download | dispatcher-3504fd5080dbcfd0172299c5c6d13895e53ad163.tar.gz dispatcher-3504fd5080dbcfd0172299c5c6d13895e53ad163.tar.bz2 dispatcher-3504fd5080dbcfd0172299c5c6d13895e53ad163.zip | |
Removed position caches
There aren't going to be enough entities at once for position checking to ever really be a bottleneck, I don't think. Removing the caches makes the range logic a bit more intuitive, and it removes the possibility of accidentally not updating a cache when it needs to be.
Diffstat (limited to 'src/views.h')
| -rw-r--r-- | src/views.h | 14 |
1 files changed, 14 insertions, 0 deletions
| diff --git a/src/views.h b/src/views.h index 69bd2b5..540dc52 100644 --- a/src/views.h +++ b/src/views.h | |||
| @@ -55,6 +55,20 @@ namespace views { | |||
| 55 | }); | 55 | }); |
| 56 | } | 56 | } |
| 57 | 57 | ||
| 58 | inline auto atGridPos(vec2s pos) | ||
| 59 | { | ||
| 60 | return ranges::view::filter([pos] (const Entity& entity) { | ||
| 61 | return entity.gridPos == pos; | ||
| 62 | }); | ||
| 63 | } | ||
| 64 | |||
| 65 | inline auto isMovingTo(vec2s pos) | ||
| 66 | { | ||
| 67 | return ranges::view::filter([pos] (const Entity& entity) { | ||
| 68 | return entity.moving && entity.destPos == pos; | ||
| 69 | }); | ||
| 70 | } | ||
| 71 | |||
| 58 | 72 | ||
| 59 | 73 | ||
| 60 | } | 74 | } |
