Make the filter-fn the first arg to be consistent with filter
This commit is contained in:
@@ -20,26 +20,23 @@ screen map.
|
||||
"Returns the entities in `screen-object`, optionally filtered by a supplied
|
||||
function.
|
||||
|
||||
(e main-screen :player?)"
|
||||
(e :player? main-screen)
|
||||
(e texture? main-screen)"
|
||||
([screen-object]
|
||||
(-> screen-object :entities deref))
|
||||
([screen-object filter-fn]
|
||||
([filter-fn screen-object]
|
||||
(vec (filter filter-fn (e screen-object)))))
|
||||
|
||||
(defn e!
|
||||
"Resets the entities in `screen-object`, or associates values to the entities
|
||||
in `screen-object` that match the supplied function. Returns the entities that
|
||||
were changed.
|
||||
"Associates values to the entities in `screen-object` that match the supplied
|
||||
function. Returns the entities that were changed.
|
||||
|
||||
(e! main-screen [])
|
||||
(e! main-screen :player? :health 10)"
|
||||
([screen-object new-entities]
|
||||
(reset! (:entities screen-object) new-entities))
|
||||
([screen-object filter-fn & args]
|
||||
(swap! (:entities screen-object)
|
||||
(fn [entities]
|
||||
(vec (for [e entities]
|
||||
(if (filter-fn e)
|
||||
(apply assoc e args)
|
||||
e)))))
|
||||
(e screen-object filter-fn)))
|
||||
(e! :player? main-screen :health 10)"
|
||||
[filter-fn screen-object & args]
|
||||
(swap! (:entities screen-object)
|
||||
(fn [entities]
|
||||
(vec (for [e entities]
|
||||
(if (filter-fn e)
|
||||
(apply assoc e args)
|
||||
e)))))
|
||||
(e filter-fn screen-object))
|
||||
|
||||
Reference in New Issue
Block a user