Sets a function that wraps around all screen functions, allowing you to handle errors and perform other custom actions each time they run.
; default behavior (set-screen-wrapper! (fn [screen-atom screen-fn] (screen-fn))) ; if there is an error, print it out and switch to a blank screen ; (this is useful because it makes error recovery easier in a REPL) (set-screen-wrapper! (fn [screen-atom screen-fn] (try (screen-fn) (catch Exception e (.printStackTrace e) (set-screen! my-game blank-screen)))))
Source
(defn set-screen-wrapper! [wrapper-fn] (intern 'play-clj.core 'wrapper wrapper-fn))