Merge branch 'fix-input-issue'
This commit is contained in:
@@ -515,20 +515,24 @@ keywords and functions in pairs."
|
|||||||
(let [run-fn! (fn [k & args]
|
(let [run-fn! (fn [k & args]
|
||||||
(doseq [screen screen-objects]
|
(doseq [screen screen-objects]
|
||||||
(apply (get screen k) args)))]
|
(apply (get screen k) args)))]
|
||||||
(.setScreen game-object
|
(when-let [old-screen (.getScreen game-object)]
|
||||||
(reify Screen
|
(.dispose old-screen))
|
||||||
(show [this]
|
(on-gl
|
||||||
(input! :set-input-processor (InputMultiplexer.))
|
(.setScreen game-object
|
||||||
(run-fn! :show)
|
(reify Screen
|
||||||
(doseq [{:keys [screen]} screen-objects]
|
(show [this]
|
||||||
(doseq [[_ listener] (:input-listeners @screen)]
|
(input! :set-input-processor (InputMultiplexer.))
|
||||||
(add-input! listener))))
|
(run-fn! :show)
|
||||||
(render [this d] (run-fn! :render d))
|
|
||||||
(hide [this] (run-fn! :hide))
|
(doseq [{:keys [screen]} screen-objects]
|
||||||
(pause [this] (run-fn! :pause))
|
(doseq [[_ listener] (:input-listeners @screen)]
|
||||||
(resize [this w h] (run-fn! :resize w h))
|
(add-input! listener))))
|
||||||
(resume [this] (run-fn! :resume))
|
(render [this d] (run-fn! :render d))
|
||||||
(dispose [this])))))
|
(hide [this] (run-fn! :hide))
|
||||||
|
(pause [this] (run-fn! :pause))
|
||||||
|
(resize [this w h] (run-fn! :resize w h))
|
||||||
|
(resume [this] (run-fn! :resume))
|
||||||
|
(dispose [this]))))))
|
||||||
|
|
||||||
(defn set-screen-wrapper!
|
(defn set-screen-wrapper!
|
||||||
"Sets a function that wraps around all screen functions, allowing you to
|
"Sets a function that wraps around all screen functions, allowing you to
|
||||||
|
|||||||
Reference in New Issue
Block a user