Allow entities to be stored in maps

This commit is contained in:
oakes
2014-06-19 21:33:16 -04:00
parent 5b93cc6a00
commit fbb4e9f2b5

View File

@@ -11,11 +11,20 @@
(defprotocol Entity
(draw-entity! [this screen batch] "Draws the entity"))
(defn draw-map!
[m screen batch]
(doseq [[k v] m]
(try
(draw-entity! v screen batch)
(catch Exception _))))
(extend-protocol Entity
clojure.lang.PersistentArrayMap
(draw-entity! [this screen batch])
(draw-entity! [this screen batch]
(draw-map! this screen batch))
clojure.lang.PersistentHashMap
(draw-entity! [this screen batch])
(draw-entity! [this screen batch]
(draw-map! this screen batch))
nil
(draw-entity! [this screen batch]))