probably bugs, but faster.
This commit is contained in:
@@ -41,18 +41,18 @@
|
|||||||
|
|
||||||
(defscreen talking-screen
|
(defscreen talking-screen
|
||||||
:on-show
|
:on-show
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(utils/setup-viewport screen 1280 960)
|
(utils/setup-viewport screen 1280 960)
|
||||||
{})
|
{})
|
||||||
:on-render
|
:on-render
|
||||||
(fn [{:keys [camera ^FitViewport viewport] :as screen} entities]
|
(fn [{:keys [camera ^FitViewport viewport] :as screen} entities options]
|
||||||
(.apply viewport)
|
(.apply viewport)
|
||||||
|
|
||||||
(render! screen (vals entities))
|
(render! screen (vals entities))
|
||||||
entities)
|
entities)
|
||||||
|
|
||||||
:on-talk
|
:on-talk
|
||||||
(fn [{:keys [create-talk target-id color text x y scale scene-viewport id] :as screen} entities]
|
(fn [screen entities {:keys [create-talk target-id color text x y scale scene-viewport id]}]
|
||||||
(let [font (bitmap-font "ego/font.fnt" )
|
(let [font (bitmap-font "ego/font.fnt" )
|
||||||
p (NinePatchEntity. (skin! (skin "ui/ui.json") :get-patch "ui-bg"))
|
p (NinePatchEntity. (skin! (skin "ui/ui.json") :get-patch "ui-bg"))
|
||||||
_ (nine-patch! p :set-padding 25 25 5 15)
|
_ (nine-patch! p :set-padding 25 25 5 15)
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
(assoc entities id talk)))
|
(assoc entities id talk)))
|
||||||
|
|
||||||
:on-update-camera
|
:on-update-camera
|
||||||
(fn [{:keys [scene-viewport scene-camera viewport] :as screen} entities]
|
(fn [{:keys [^FitViewport viewport] :as screen} entities {:keys [scene-viewport scene-camera]}]
|
||||||
(reduce-kv (fn [entities id e]
|
(reduce-kv (fn [entities id e]
|
||||||
(if (:id e)
|
(if (:id e)
|
||||||
(let [[x y] (scene-world->talk-world scene-viewport [(:source-x e)
|
(let [[x y] (scene-world->talk-world scene-viewport [(:source-x e)
|
||||||
@@ -93,11 +93,11 @@
|
|||||||
entities))
|
entities))
|
||||||
|
|
||||||
:stop-talk
|
:stop-talk
|
||||||
(fn [{:keys [id] } entities]
|
(fn [screen entities {:keys [id]}]
|
||||||
(dissoc entities (or id :fg-actions)))
|
(dissoc entities (or id :fg-actions)))
|
||||||
|
|
||||||
|
|
||||||
:on-resize (fn [{:keys [^FitViewport viewport width height]} entities]
|
:on-resize (fn [{:keys [^FitViewport viewport]} entities {:keys [width height]}]
|
||||||
(.update viewport width height)))
|
(.update viewport width height)))
|
||||||
|
|
||||||
(def choice-height 40)
|
(def choice-height 40)
|
||||||
@@ -117,7 +117,7 @@
|
|||||||
|
|
||||||
(defscreen choice-screen
|
(defscreen choice-screen
|
||||||
:on-show
|
:on-show
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(utils/setup-viewport screen 1280 960)
|
(utils/setup-viewport screen 1280 960)
|
||||||
(let [font (bitmap-font "ego/font.fnt" )
|
(let [font (bitmap-font "ego/font.fnt" )
|
||||||
tr (bitmap-font! font :get-region)
|
tr (bitmap-font! font :get-region)
|
||||||
@@ -134,7 +134,7 @@
|
|||||||
:x 5 :y 5 :width 1270)}}))
|
:x 5 :y 5 :width 1270)}}))
|
||||||
|
|
||||||
:on-render
|
:on-render
|
||||||
(fn [{:keys [^FitViewport viewport] :as screen} entities]
|
(fn [{:keys [^FitViewport viewport] :as screen} entities options]
|
||||||
(.apply viewport)
|
(.apply viewport)
|
||||||
(when (seq (get-in entities [:state :choices]))
|
(when (seq (get-in entities [:state :choices]))
|
||||||
(render! screen [(get-in entities [:state :np])])
|
(render! screen [(get-in entities [:state :np])])
|
||||||
@@ -142,7 +142,7 @@
|
|||||||
entities)
|
entities)
|
||||||
|
|
||||||
:on-present-choices
|
:on-present-choices
|
||||||
(fn [{:keys [choices callback]} entities]
|
(fn [screen entities {:keys [choices callback]}]
|
||||||
(let [choice-count (count choices)
|
(let [choice-count (count choices)
|
||||||
font (get-in entities [:state :font])]
|
font (get-in entities [:state :font])]
|
||||||
(-> entities
|
(-> entities
|
||||||
@@ -159,8 +159,8 @@
|
|||||||
(assoc-in [:state :callback] callback)
|
(assoc-in [:state :callback] callback)
|
||||||
(assoc-in [:state :np :height] (* choice-height (inc choice-count))))))
|
(assoc-in [:state :np :height] (* choice-height (inc choice-count))))))
|
||||||
|
|
||||||
:on-touch-up (fn [screen entities]
|
:on-touch-up (fn [screen entities options]
|
||||||
(let [[x y] (utils/unproject screen)]
|
(let [[x y] (utils/unproject screen options)]
|
||||||
(when (seq (get-in entities [:state :choices]))
|
(when (seq (get-in entities [:state :choices]))
|
||||||
(when-let [choice (first (filter #(utils/intersects? % [x y]) (vals entities)))]
|
(when-let [choice (first (filter #(utils/intersects? % [x y]) (vals entities)))]
|
||||||
((get-in entities [:state :callback]) (:index choice))
|
((get-in entities [:state :callback]) (:index choice))
|
||||||
@@ -169,8 +169,8 @@
|
|||||||
(assoc-in [:state :choices] [])
|
(assoc-in [:state :choices] [])
|
||||||
(select-keys [:state]))))))
|
(select-keys [:state]))))))
|
||||||
|
|
||||||
:on-mouse-moved (fn [screen entities]
|
:on-mouse-moved (fn [screen entities options]
|
||||||
(let [[x y] (utils/unproject screen)
|
(let [[x y] (utils/unproject screen options)
|
||||||
entities (assoc-in entities [:state :last-pos] [x y])
|
entities (assoc-in entities [:state :last-pos] [x y])
|
||||||
choice-count (dec (count entities))]
|
choice-count (dec (count entities))]
|
||||||
(doseq [e (vals entities)
|
(doseq [e (vals entities)
|
||||||
@@ -178,17 +178,17 @@
|
|||||||
(style-label e (get-in entities [:state :font]) [x y]))
|
(style-label e (get-in entities [:state :font]) [x y]))
|
||||||
entities))
|
entities))
|
||||||
|
|
||||||
:on-resize (fn [{:keys [width height ^FitViewport viewport]} entities]
|
:on-resize (fn [{:keys [^FitViewport viewport]} entities {:keys [width height]}]
|
||||||
(.update viewport width height)))
|
(.update viewport width height)))
|
||||||
|
|
||||||
(defscreen toast-screen
|
(defscreen toast-screen
|
||||||
:on-show
|
:on-show
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(utils/setup-viewport screen 1280 960)
|
(utils/setup-viewport screen 1280 960)
|
||||||
{})
|
{})
|
||||||
|
|
||||||
:on-render
|
:on-render
|
||||||
(fn [{:keys [camera ^FitViewport viewport] :as screen} entities]
|
(fn [{:keys [camera ^FitViewport viewport] :as screen} entities options]
|
||||||
(.apply viewport)
|
(.apply viewport)
|
||||||
(let [entities (utils/apply-tweens screen entities (:tweens entities))]
|
(let [entities (utils/apply-tweens screen entities (:tweens entities))]
|
||||||
(when (:dialogue entities)
|
(when (:dialogue entities)
|
||||||
@@ -197,7 +197,7 @@
|
|||||||
entities))
|
entities))
|
||||||
|
|
||||||
:on-toast
|
:on-toast
|
||||||
(fn [{:keys [message] :as screen} entities]
|
(fn [screen entities {:keys [message]}]
|
||||||
(let [font (bitmap-font "ego/font.fnt" )
|
(let [font (bitmap-font "ego/font.fnt" )
|
||||||
p (nine-patch {:region (:object (utils/get-texture "talk-bg-2.png")) :left 9 :top 9 :right 9 :bottom 9})
|
p (nine-patch {:region (:object (utils/get-texture "talk-bg-2.png")) :left 9 :top 9 :right 9 :bottom 9})
|
||||||
_ (nine-patch! p :set-padding 25 25 5 15)
|
_ (nine-patch! p :set-padding 25 25 5 15)
|
||||||
@@ -220,9 +220,9 @@
|
|||||||
:finish #(dissoc % :dialogue))))))
|
:finish #(dissoc % :dialogue))))))
|
||||||
|
|
||||||
:stop-talk
|
:stop-talk
|
||||||
(fn [{:keys [target-id] } entities]
|
(fn [_ entities {:keys [target-id]}]
|
||||||
(dissoc entities :dialogue))
|
(dissoc entities :dialogue))
|
||||||
|
|
||||||
|
|
||||||
:on-resize (fn [{:keys [^FitViewport viewport width height]} entities]
|
:on-resize (fn [{:keys [^FitViewport viewport]} entities {:keys [width height]}]
|
||||||
(.update viewport width height)))
|
(.update viewport width height)))
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
(defscreen fade-screen
|
(defscreen fade-screen
|
||||||
:on-show
|
:on-show
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(utils/setup-viewport screen 320 240)
|
(utils/setup-viewport screen 320 240)
|
||||||
|
|
||||||
{:fade (assoc (utils/get-texture "black.png")
|
{:fade (assoc (utils/get-texture "black.png")
|
||||||
@@ -31,13 +31,13 @@
|
|||||||
|
|
||||||
|
|
||||||
:on-render
|
:on-render
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(render! screen [(:fade entities)])
|
(render! screen [(:fade entities)])
|
||||||
entities)
|
entities)
|
||||||
|
|
||||||
:update-fade (fn [{:keys [opacity]} entities]
|
:update-fade (fn [_ entities {:keys [opacity]}]
|
||||||
(assoc-in entities [:fade :opacity] opacity))
|
(assoc-in entities [:fade :opacity] opacity))
|
||||||
|
|
||||||
:on-resize (fn [{:keys [width height ^FitViewport viewport]} entities]
|
:on-resize (fn [{:keys [^FitViewport viewport]} entities {:keys [width height]}]
|
||||||
(.update ^FitViewport viewport width height)))
|
(.update ^FitViewport viewport width height)))
|
||||||
|
|
||||||
|
|||||||
@@ -29,8 +29,8 @@
|
|||||||
(assoc-in [:tweens :fade-out] (tween/tween :fade-out screen [:opacity] 1.0 0.0 0.2 :ease tween/ease-out-cubic
|
(assoc-in [:tweens :fade-out] (tween/tween :fade-out screen [:opacity] 1.0 0.0 0.2 :ease tween/ease-out-cubic
|
||||||
:finish #(assoc % :shown? false)))))
|
:finish #(assoc % :shown? false)))))
|
||||||
|
|
||||||
(defn mouse-down [screen entities]
|
(defn mouse-down [screen entities options]
|
||||||
(let [[x y] (utils/unproject screen)
|
(let [[x y] (utils/unproject screen options)
|
||||||
selected-entity (first (filter #((:box %) x y) (vals (:items entities))))]
|
selected-entity (first (filter #((:box %) x y) (vals (:items entities))))]
|
||||||
(assoc entities :selected-item (:item selected-entity))))
|
(assoc entities :selected-item (:item selected-entity))))
|
||||||
|
|
||||||
@@ -40,9 +40,9 @@
|
|||||||
(< y 80)
|
(< y 80)
|
||||||
(> y 880)))
|
(> y 880)))
|
||||||
|
|
||||||
(defn mouse-drag [screen {:keys [selected-item] :as entities}]
|
(defn mouse-drag [screen {:keys [selected-item] :as entities} options]
|
||||||
(when (interactable? entities)
|
(when (interactable? entities)
|
||||||
(let [[x y] (utils/unproject screen)
|
(let [[x y] (utils/unproject screen options)
|
||||||
hovered-entity (first (filter #((:box %) x y) (vals (:items entities))))]
|
hovered-entity (first (filter #((:box %) x y) (vals (:items entities))))]
|
||||||
(cond
|
(cond
|
||||||
(and selected-item (mouse-outside-inventory? [x y]))
|
(and selected-item (mouse-outside-inventory? [x y]))
|
||||||
@@ -58,12 +58,12 @@
|
|||||||
(assoc entities :hovered-item (:item hovered-entity) :dragged? true)))))
|
(assoc entities :hovered-item (:item hovered-entity) :dragged? true)))))
|
||||||
|
|
||||||
|
|
||||||
(defn mouse-move [screen entities]
|
(defn mouse-move [screen entities options]
|
||||||
(let [[x y] (utils/unproject screen)
|
(let [[x y] (utils/unproject screen options)
|
||||||
hovered-entity (first (filter #((:box %) x y) (vals (:items entities))))]
|
hovered-entity (first (filter #((:box %) x y) (vals (:items entities))))]
|
||||||
(assoc entities :hovered-item (:item hovered-entity))))
|
(assoc entities :hovered-item (:item hovered-entity))))
|
||||||
|
|
||||||
(defn left-click [screen {:keys [selected-item hovered-item dragged?] :as entities}]
|
(defn left-click [screen {:keys [selected-item hovered-item dragged?] :as entities} options]
|
||||||
(let [room-entities (-> @(resolve 'advent.screens.scene/scene)
|
(let [room-entities (-> @(resolve 'advent.screens.scene/scene)
|
||||||
:entities
|
:entities
|
||||||
deref)]
|
deref)]
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
(interaction-script room-entities)
|
(interaction-script room-entities)
|
||||||
(close screen entities true false)))))
|
(close screen entities true false)))))
|
||||||
|
|
||||||
(defn right-click [screen {:keys [selected-item] :as entities} ]
|
(defn right-click [screen {:keys [selected-item] :as entities} options]
|
||||||
(let [
|
(let [
|
||||||
room-entities (-> @(resolve 'advent.screens.scene/scene)
|
room-entities (-> @(resolve 'advent.screens.scene/scene)
|
||||||
:entities
|
:entities
|
||||||
@@ -110,7 +110,7 @@
|
|||||||
|
|
||||||
(defscreen inventory-screen
|
(defscreen inventory-screen
|
||||||
:on-show
|
:on-show
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(utils/setup-viewport screen 1280 960)
|
(utils/setup-viewport screen 1280 960)
|
||||||
|
|
||||||
(let [hovered-text (assoc (label "Hello" (style :label (utils/get-font "ego/font.fnt") (color :white)) :set-font-scale 0.25) :x 0 :y 850 :width 1280 )]
|
(let [hovered-text (assoc (label "Hello" (style :label (utils/get-font "ego/font.fnt") (color :white)) :set-font-scale 0.25) :x 0 :y 850 :width 1280 )]
|
||||||
@@ -131,7 +131,7 @@
|
|||||||
:hovered-text hovered-text}))
|
:hovered-text hovered-text}))
|
||||||
|
|
||||||
:on-render
|
:on-render
|
||||||
(fn [{:keys [^FitViewport viewport] :as screen} {:keys [shown? tweens] :as entities}]
|
(fn [{:keys [^FitViewport viewport] :as screen} {:keys [shown? tweens] :as entities} options]
|
||||||
(.apply viewport)
|
(.apply viewport)
|
||||||
(let [entities (utils/apply-tweens screen entities tweens)
|
(let [entities (utils/apply-tweens screen entities tweens)
|
||||||
opacity (get-in entities [:opacity])
|
opacity (get-in entities [:opacity])
|
||||||
@@ -155,7 +155,7 @@
|
|||||||
(render! screen [(:hovered-text entities)]))
|
(render! screen [(:hovered-text entities)]))
|
||||||
entities))
|
entities))
|
||||||
|
|
||||||
:show-screen (fn [{items :items :as screen} entities]
|
:show-screen (fn [screen entities {:keys [items]}]
|
||||||
(log/info "showing inventory")
|
(log/info "showing inventory")
|
||||||
(when-not (:shown? entities)
|
(when-not (:shown? entities)
|
||||||
(-> entities
|
(-> entities
|
||||||
@@ -187,11 +187,11 @@
|
|||||||
:on-touch-dragged mouse-drag
|
:on-touch-dragged mouse-drag
|
||||||
:on-touch-down mouse-down
|
:on-touch-down mouse-down
|
||||||
|
|
||||||
:on-touch-up (fn [screen entities]
|
:on-touch-up (fn [screen entities options]
|
||||||
(when (interactable? entities)
|
(when (interactable? entities)
|
||||||
(if (= (button-code :left) (:button screen))
|
(if (= (button-code :left) (:button options))
|
||||||
(left-click screen entities)
|
(left-click screen entities options)
|
||||||
(right-click screen entities))))
|
(right-click screen entities options))))
|
||||||
|
|
||||||
:on-resize (fn [{:keys [width height ^FitViewport viewport] :as screen} entities]
|
:on-resize (fn [{:keys [^FitViewport viewport] :as screen} entities {:keys [width height]}]
|
||||||
(.update viewport width height true)))
|
(.update viewport width height true)))
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
(defscreen safe-screen
|
(defscreen safe-screen
|
||||||
:on-show
|
:on-show
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(utils/setup-viewport screen 320 240)
|
(utils/setup-viewport screen 320 240)
|
||||||
|
|
||||||
(let [inputed-key (utils/get-texture "inside-house/inputed-key.png")]
|
(let [inputed-key (utils/get-texture "inside-house/inputed-key.png")]
|
||||||
@@ -60,14 +60,14 @@
|
|||||||
|
|
||||||
|
|
||||||
:on-render
|
:on-render
|
||||||
(fn [{:keys [^FitViewport viewport] :as screen} entities]
|
(fn [{:keys [^FitViewport viewport] :as screen} entities options]
|
||||||
(.apply viewport)
|
(.apply viewport)
|
||||||
(when (:shown? entities)
|
(when (:shown? entities)
|
||||||
(render! screen [(:fade entities) (:safe entities)])
|
(render! screen [(:fade entities) (:safe entities)])
|
||||||
(render! screen (take (count (:button-choices entities)) (:entered-keys entities))))
|
(render! screen (take (count (:button-choices entities)) (:entered-keys entities))))
|
||||||
entities)
|
entities)
|
||||||
|
|
||||||
:show-screen (fn [{:keys [success failure]} entities]
|
:show-screen (fn [_ entities {:keys [success failure]}]
|
||||||
(sound! (utils/load-sound "inside-house/open-safe.ogg") :play (utils/current-sound-volume 0.3))
|
(sound! (utils/load-sound "inside-house/open-safe.ogg") :play (utils/current-sound-volume 0.3))
|
||||||
(assoc entities
|
(assoc entities
|
||||||
:shown? true
|
:shown? true
|
||||||
@@ -75,12 +75,12 @@
|
|||||||
:success success
|
:success success
|
||||||
:failure failure))
|
:failure failure))
|
||||||
|
|
||||||
:on-mouse-moved (fn [screen entities]
|
:on-mouse-moved (fn [screen entities options]
|
||||||
entities)
|
entities)
|
||||||
|
|
||||||
:on-touch-up (fn [screen entities]
|
:on-touch-up (fn [screen entities options]
|
||||||
(when (:shown? entities)
|
(when (:shown? entities)
|
||||||
(let [[x y] (utils/unproject screen)]
|
(let [[x y] (utils/unproject screen options)]
|
||||||
(if-let [button (get-button [x y])]
|
(if-let [button (get-button [x y])]
|
||||||
(do (sound! (:sound button) :play (utils/current-sound-volume 0.3))
|
(do (sound! (:sound button) :play (utils/current-sound-volume 0.3))
|
||||||
(let [new-state (update-in entities [:button-choices] #(conj % (:id button)))]
|
(let [new-state (update-in entities [:button-choices] #(conj % (:id button)))]
|
||||||
@@ -107,6 +107,6 @@
|
|||||||
(sound! (utils/load-sound "inside-house/close-safe.ogg") :play (utils/current-sound-volume 0.3))
|
(sound! (utils/load-sound "inside-house/close-safe.ogg") :play (utils/current-sound-volume 0.3))
|
||||||
(close entities)))))))
|
(close entities)))))))
|
||||||
|
|
||||||
:on-resize (fn [{:keys [width height ^FitViewport viewport]} entities]
|
:on-resize (fn [{:keys [^FitViewport viewport]} entities {:keys [width height]}]
|
||||||
(.update viewport width height)))
|
(.update viewport width height)))
|
||||||
|
|
||||||
|
|||||||
@@ -229,8 +229,8 @@ void main ()
|
|||||||
interactable-entities)))]
|
interactable-entities)))]
|
||||||
interacting-entity))
|
interacting-entity))
|
||||||
|
|
||||||
(defn left-click [screen entities]
|
(defn left-click [screen entities options]
|
||||||
(let [[x y] (utils/unproject screen)
|
(let [[x y] (utils/unproject screen options)
|
||||||
_ (log/info (str "clicked " x y))
|
_ (log/info (str "clicked " x y))
|
||||||
interaction (get-interaction entities x y)
|
interaction (get-interaction entities x y)
|
||||||
interacting-entity (get-interacting-entity entities x y)
|
interacting-entity (get-interacting-entity entities x y)
|
||||||
@@ -1055,8 +1055,8 @@ void main ()
|
|||||||
(assoc e :y (+ (:y e) (:offset-y e)))
|
(assoc e :y (+ (:y e) (:offset-y e)))
|
||||||
e)))
|
e)))
|
||||||
|
|
||||||
(defn mouse-moved [{:keys [input-x input-y viewport] :as screen} entities]
|
(defn mouse-moved [screen entities {:keys [input-x input-y] :as options}]
|
||||||
(utils/update-override screen (assoc-in entities [:cursor :last-pos] [input-x input-y])))
|
(utils/update-override screen (assoc-in entities [:cursor :last-pos] [input-x input-y]) options))
|
||||||
|
|
||||||
(defn grab-layers [entities]
|
(defn grab-layers [entities]
|
||||||
(update-in entities [:room]
|
(update-in entities [:room]
|
||||||
@@ -1100,12 +1100,12 @@ void main ()
|
|||||||
|
|
||||||
(defscreen scene
|
(defscreen scene
|
||||||
:on-timer
|
:on-timer
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(when-let [timer-fn (get-in entities [:room :timers (:id screen) 2])]
|
(when-let [timer-fn (get-in entities [:room :timers (:id screen) 2])]
|
||||||
(timer-fn screen entities)))
|
(timer-fn screen entities)))
|
||||||
|
|
||||||
:on-show
|
:on-show
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(log/info "Initializing scene.")
|
(log/info "Initializing scene.")
|
||||||
|
|
||||||
(let [screen (assoc screen :total-time 0)]
|
(let [screen (assoc screen :total-time 0)]
|
||||||
@@ -1222,7 +1222,7 @@ void main ()
|
|||||||
(apply-state screen entities)
|
(apply-state screen entities)
|
||||||
entities)))))
|
entities)))))
|
||||||
|
|
||||||
:on-resume (fn [screen {{:keys [current override last active was-active]} :cursor :as entities}]
|
:on-resume (fn [screen {{:keys [current override last active was-active]} :cursor :as entities} options]
|
||||||
(let [current (or override (get-selected-inventory-item) :main)
|
(let [current (or override (get-selected-inventory-item) :main)
|
||||||
image-path (if active "cursor_light.png" "cursor.png")]
|
image-path (if active "cursor_light.png" "cursor.png")]
|
||||||
(graphics! :set-cursor (utils/cursor image-path (or (:cursor current) current))))
|
(graphics! :set-cursor (utils/cursor image-path (or (:cursor current) current))))
|
||||||
@@ -1231,13 +1231,13 @@ void main ()
|
|||||||
|
|
||||||
|
|
||||||
:on-key-up
|
:on-key-up
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(when (= (key-code :escape) (:key screen))
|
(when (= (key-code :escape) (:key options))
|
||||||
(utils/toggle-fullscreen!))
|
(utils/toggle-fullscreen!))
|
||||||
nil)
|
nil)
|
||||||
|
|
||||||
:on-render
|
:on-render
|
||||||
(fn [{:keys [^OrthographicCamera camera ^FitViewport viewport] :as screen} entities]
|
(fn [{:keys [^OrthographicCamera camera ^FitViewport viewport] :as screen} entities options]
|
||||||
(steam/update)
|
(steam/update)
|
||||||
(.apply viewport)
|
(.apply viewport)
|
||||||
(if (get-in entities [:closing? :value])
|
(if (get-in entities [:closing? :value])
|
||||||
@@ -1321,7 +1321,7 @@ void main ()
|
|||||||
(set! (. camera zoom) (:zoom (:cam entities)))
|
(set! (. camera zoom) (:zoom (:cam entities)))
|
||||||
(set! (.. camera position x) (:x (:cam entities) 160.0))
|
(set! (.. camera position x) (:x (:cam entities) 160.0))
|
||||||
(set! (.. camera position y) (:y (:cam entities) 120.0)))
|
(set! (.. camera position y) (:y (:cam entities) 120.0)))
|
||||||
(let [#_#_entities (utils/update-override screen entities)
|
(let [#_#_entities (utils/update-override screen entities options)
|
||||||
entities (play-key-sounds screen entities)
|
entities (play-key-sounds screen entities)
|
||||||
entities (update-current-sound-vols! entities)
|
entities (update-current-sound-vols! entities)
|
||||||
entities (remove-ended-sounds screen entities)]
|
entities (remove-ended-sounds screen entities)]
|
||||||
@@ -1335,10 +1335,10 @@ void main ()
|
|||||||
|
|
||||||
entities))))
|
entities))))
|
||||||
|
|
||||||
:on-resize (fn [{:keys [^FitViewport viewport width height]} entities]
|
:on-resize (fn [{:keys [^FitViewport viewport]} entities {:keys [width height]}]
|
||||||
(.update viewport width height))
|
(.update viewport width height true))
|
||||||
|
|
||||||
:on-hide (fn [screen entities]
|
:on-hide (fn [screen entities options]
|
||||||
(doseq [snd (->> (get-in entities [:musics])
|
(doseq [snd (->> (get-in entities [:musics])
|
||||||
vals
|
vals
|
||||||
(filter identity))]
|
(filter identity))]
|
||||||
@@ -1351,56 +1351,57 @@ void main ()
|
|||||||
mouse-moved
|
mouse-moved
|
||||||
|
|
||||||
:on-touch-down
|
:on-touch-down
|
||||||
(fn [{:keys [input-x input-y ^FitViewport viewport] :as screen} entities]
|
(fn [{:keys [^FitViewport viewport] :as screen} entities {:keys [input-x input-y] :as options}]
|
||||||
(when (utils/contains-point? (.getScreenX viewport) (.getScreenY viewport)
|
(when (utils/contains-point? (.getScreenX viewport) (.getScreenY viewport)
|
||||||
(.getScreenWidth viewport) (.getScreenHeight viewport)
|
(.getScreenWidth viewport) (.getScreenHeight viewport)
|
||||||
input-x input-y)
|
input-x input-y)
|
||||||
(when (and (= (button-code :left)
|
(when (and (= (button-code :left)
|
||||||
(:button screen))
|
(:button options))
|
||||||
(get-in entities [:state :active?])
|
(get-in entities [:state :active?])
|
||||||
(not (get-in entities [:state :hud-active?]))
|
(not (get-in entities [:state :hud-active?]))
|
||||||
(= 0.0 (get-in entities [:fade :opacity])))
|
(= 0.0 (get-in entities [:fade :opacity])))
|
||||||
(let [[x y] (utils/unproject screen)
|
(let [[x y] (utils/unproject screen options)
|
||||||
interaction (get-interaction entities x y)
|
interaction (get-interaction entities x y)
|
||||||
interacting-entity (get-interacting-entity entities x y)]
|
interacting-entity (get-interacting-entity entities x y)]
|
||||||
(assoc-in entities [:cursor :down-target] (or (:id interacting-entity ) (:id interaction) nil))))))
|
(assoc-in entities [:cursor :down-target] (or (:id interacting-entity ) (:id interaction) nil))))))
|
||||||
|
|
||||||
:on-touch-up (fn [{:keys [input-x input-y ^FitViewport viewport] :as screen} entities]
|
:on-touch-up (fn [{:keys [^FitViewport viewport] :as screen} entities {:keys [input-x input-y] :as options}]
|
||||||
|
|
||||||
(when (utils/contains-point? (.getScreenX viewport) (.getScreenY viewport)
|
(when (utils/contains-point? (.getScreenX viewport) (.getScreenY viewport)
|
||||||
(.getScreenWidth viewport) (.getScreenHeight viewport)
|
(.getScreenWidth viewport) (.getScreenHeight viewport)
|
||||||
input-x input-y)
|
input-x input-y)
|
||||||
(if (= (button-code :right)
|
(if (= (button-code :right)
|
||||||
(:button screen))
|
(:button options))
|
||||||
(do
|
(do
|
||||||
(screen! hud :on-return-item {}))
|
(screen! hud :on-return-item {}))
|
||||||
(when (and (get-in entities [:state :active?])
|
(when (and (get-in entities [:state :active?])
|
||||||
(or (not (get-in entities [:state :hud-active?]))
|
(or (not (get-in entities [:state :hud-active?]))
|
||||||
(get-in entities [:fg-actions :script-running?]))
|
(get-in entities [:fg-actions :script-running?]))
|
||||||
(= 0.0 (get-in entities [:fade :opacity])))
|
(= 0.0 (get-in entities [:fade :opacity])))
|
||||||
(left-click screen entities)))))
|
(left-click screen entities options)))))
|
||||||
|
|
||||||
:on-deactivate (fn [screen entities]
|
:on-deactivate (fn [screen entities options]
|
||||||
(assoc-in entities [:state :active?] false))
|
(assoc-in entities [:state :active?] false))
|
||||||
|
|
||||||
:on-reactivate (fn [{:keys [came-from-inventory?] :as screen} entities]
|
:on-reactivate (fn [screen entities {:keys [came-from-inventory?]}]
|
||||||
(-> entities
|
(-> entities
|
||||||
(assoc-in [:state :active?] true)
|
(assoc-in [:state :active?] true)
|
||||||
(assoc-in [:cursor :came-from-inventory?] came-from-inventory?)))
|
(assoc-in [:cursor :came-from-inventory?] came-from-inventory?)))
|
||||||
|
|
||||||
:on-end-safe (fn [screen entities]
|
:on-end-safe (fn [screen entities options]
|
||||||
((actions/get-script entities
|
((actions/get-script entities
|
||||||
(actions/play-animation entities :ego :end-squat)) entities)
|
(actions/play-animation entities :ego :end-squat)) entities)
|
||||||
(-> entities
|
(-> entities
|
||||||
(assoc-in [:state :active?] true)
|
(assoc-in [:state :active?] true)
|
||||||
(assoc-in [:cursor :override] nil)))
|
(assoc-in [:cursor :override] nil)))
|
||||||
|
|
||||||
:on-open-inventory (fn [screen entities]
|
:on-open-inventory (fn [screen entities options]
|
||||||
(open-inventory screen entities))
|
(open-inventory screen entities))
|
||||||
|
|
||||||
:on-click-inventory (fn [screen entities]
|
:on-click-inventory (fn [screen entities options]
|
||||||
(click-inventory screen entities))
|
(click-inventory screen entities))
|
||||||
:on-save (fn [screen entities]
|
|
||||||
|
:on-save (fn [screen entities options]
|
||||||
(when-not (get-in entities [:fg-actions :script-running?])
|
(when-not (get-in entities [:fg-actions :script-running?])
|
||||||
(let [date (.format (java.text.SimpleDateFormat. "MM/dd/YY") (java.util.Date.))
|
(let [date (.format (java.text.SimpleDateFormat. "MM/dd/YY") (java.util.Date.))
|
||||||
save-name (str (-> entities :room :name) " - " date)]
|
save-name (str (-> entities :room :name) " - " date)]
|
||||||
@@ -1410,7 +1411,7 @@ void main ()
|
|||||||
date)
|
date)
|
||||||
(screen! toast-screen :on-toast { :message (str "Saved \"" save-name "\"")}))))
|
(screen! toast-screen :on-toast { :message (str "Saved \"" save-name "\"")}))))
|
||||||
|
|
||||||
:on-menu (fn [{:keys [viewport] :as screen} entities]
|
:on-menu (fn [{:keys [viewport] :as screen} entities options]
|
||||||
(when-not (or (get-in entities [:tweens :fade-out])
|
(when-not (or (get-in entities [:tweens :fade-out])
|
||||||
(get-in entities [:tweens :fade-in]))
|
(get-in entities [:tweens :fade-in]))
|
||||||
|
|
||||||
@@ -1427,10 +1428,10 @@ void main ()
|
|||||||
(set-screen! @(resolve 'advent.core/advent) @(resolve 'advent.screens.title/title-screen))
|
(set-screen! @(resolve 'advent.core/advent) @(resolve 'advent.screens.title/title-screen))
|
||||||
%))))))
|
%))))))
|
||||||
|
|
||||||
:on-start-script (fn [{:keys [script]} entities]
|
:on-start-script (fn [{:keys [script]} entities options]
|
||||||
(script entities)
|
(script entities)
|
||||||
entities)
|
entities)
|
||||||
:hud-active? (fn [{:keys [hud-active?]} entities]
|
:hud-active? (fn [{:keys [hud-active?]} entities options]
|
||||||
(assoc-in entities [:state :hud-active?] hud-active?))) ()
|
(assoc-in entities [:state :hud-active?] hud-active?))) ()
|
||||||
|
|
||||||
|
|
||||||
@@ -1459,19 +1460,19 @@ void main ()
|
|||||||
|
|
||||||
(defscreen demo
|
(defscreen demo
|
||||||
:on-show
|
:on-show
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(let [screen (assoc screen :total-time 0)]
|
(let [screen (assoc screen :total-time 0)]
|
||||||
(utils/setup-viewport screen 640 480)
|
(utils/setup-viewport screen 640 480)
|
||||||
{:label (assoc (label "Demo version - DO NOT COPY" (color :white) ) :y 460 :x 5 :baseline 0 :opacity 0.5)}))
|
{:label (assoc (label "Demo version - DO NOT COPY" (color :white) ) :y 460 :x 5 :baseline 0 :opacity 0.5)}))
|
||||||
|
|
||||||
:on-render
|
:on-render
|
||||||
(fn [{:keys [^FitViewport viewport] :as screen} entities]
|
(fn [{:keys [^FitViewport viewport] :as screen} entities options]
|
||||||
(.apply viewport)
|
(.apply viewport)
|
||||||
(render! screen [(:label entities)])
|
(render! screen [(:label entities)])
|
||||||
entities)
|
entities)
|
||||||
|
|
||||||
:on-resize
|
:on-resize
|
||||||
(fn [{:keys [^FitViewport viewport width height]} entities]
|
(fn [{:keys [^FitViewport viewport]} entities {:keys [width height]}]
|
||||||
(.update viewport width height true))
|
(.update viewport width height true))
|
||||||
|
|
||||||
)
|
)
|
||||||
@@ -1736,7 +1737,7 @@ void main ()
|
|||||||
|
|
||||||
(defscreen hud
|
(defscreen hud
|
||||||
:on-show
|
:on-show
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(let [screen (assoc screen :total-time 0)]
|
(let [screen (assoc screen :total-time 0)]
|
||||||
(utils/setup-viewport screen 320 240)
|
(utils/setup-viewport screen 320 240)
|
||||||
|
|
||||||
@@ -1774,7 +1775,7 @@ void main ()
|
|||||||
#_#_:fps (assoc (label "" (color :white) ) :x 5 :baseline 0 :opacity 0.1)}))
|
#_#_:fps (assoc (label "" (color :white) ) :x 5 :baseline 0 :opacity 0.1)}))
|
||||||
|
|
||||||
:on-render
|
:on-render
|
||||||
(fn [{:keys [^FitViewport viewport] :as screen} entities]
|
(fn [{:keys [^FitViewport viewport] :as screen} entities options]
|
||||||
(.apply viewport)
|
(.apply viewport)
|
||||||
#_(let [entities (utils/apply-tweens screen entities (:tweens entities))
|
#_(let [entities (utils/apply-tweens screen entities (:tweens entities))
|
||||||
entities (update-in entities [:inventory] animate screen )
|
entities (update-in entities [:inventory] animate screen )
|
||||||
@@ -1816,11 +1817,11 @@ void main ()
|
|||||||
entities))
|
entities))
|
||||||
|
|
||||||
:on-resize
|
:on-resize
|
||||||
(fn [{:keys [^FitViewport viewport width height]} entities]
|
(fn [{:keys [^FitViewport viewport]} entities {:keys [width height]}]
|
||||||
(.update viewport width height true))
|
(.update viewport width height true))
|
||||||
|
|
||||||
:on-give-item
|
:on-give-item
|
||||||
(fn [{:keys [item] :as screen} [ entities]]
|
(fn [screen entities {:keys [item]}]
|
||||||
(doto
|
(doto
|
||||||
(-> entities
|
(-> entities
|
||||||
(update-in [:inv-fsm :pending-states] conj [:acquire item])
|
(update-in [:inv-fsm :pending-states] conj [:acquire item])
|
||||||
@@ -1831,7 +1832,7 @@ void main ()
|
|||||||
(#(println (get-in % [:inv-fsm :pending-states])))))
|
(#(println (get-in % [:inv-fsm :pending-states])))))
|
||||||
|
|
||||||
:on-remove-item
|
:on-remove-item
|
||||||
(fn [{:keys [item] :as screen} [ entities]]
|
(fn [screen entities {:keys [item]}]
|
||||||
(-> entities
|
(-> entities
|
||||||
(update-in [:inv-fsm :pending-states] conj [:remove item])
|
(update-in [:inv-fsm :pending-states] conj [:remove item])
|
||||||
(update-in [:inv-fsm] (fn [{:keys [state state-data] :as fsm}]
|
(update-in [:inv-fsm] (fn [{:keys [state state-data] :as fsm}]
|
||||||
@@ -1844,7 +1845,7 @@ void main ()
|
|||||||
(update-in fsm [:pending-states] conj [:none state-data]))))))
|
(update-in fsm [:pending-states] conj [:none state-data]))))))
|
||||||
|
|
||||||
:on-return-item
|
:on-return-item
|
||||||
(fn [screen [ entities]]
|
(fn [screen entities options]
|
||||||
(if (hud-interactable?)
|
(if (hud-interactable?)
|
||||||
(-> entities
|
(-> entities
|
||||||
(update-in [:inv-fsm :pending-states] conj [:none (get-in entities [:inv-fsm :state-data])]))))
|
(update-in [:inv-fsm :pending-states] conj [:none (get-in entities [:inv-fsm :state-data])]))))
|
||||||
@@ -1859,7 +1860,7 @@ void main ()
|
|||||||
|
|
||||||
|
|
||||||
:on-reactivate
|
:on-reactivate
|
||||||
(fn [{:keys [script-started? item] :as screen} entities]
|
(fn [screen entities {:keys [script-started? item]}]
|
||||||
(let [selected-item? (and (:value item)
|
(let [selected-item? (and (:value item)
|
||||||
(:cursor item))]
|
(:cursor item))]
|
||||||
(if (and (not script-started?) selected-item?)
|
(if (and (not script-started?) selected-item?)
|
||||||
@@ -1867,8 +1868,8 @@ void main ()
|
|||||||
(transition-hud screen entities :none nil))))
|
(transition-hud screen entities :none nil))))
|
||||||
|
|
||||||
:on-touch-down
|
:on-touch-down
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(let [[x y] (utils/unproject screen)
|
(let [[x y] (utils/unproject screen options)
|
||||||
hovered-inventory? ((:mouse-in? (:inventory entities)) x y)
|
hovered-inventory? ((:mouse-in? (:inventory entities)) x y)
|
||||||
hovered-close? (utils/intersects? (:close entities) [x y])
|
hovered-close? (utils/intersects? (:close entities) [x y])
|
||||||
hovered-save? (utils/intersects? (:save entities) [x y])]
|
hovered-save? (utils/intersects? (:save entities) [x y])]
|
||||||
@@ -1876,8 +1877,8 @@ void main ()
|
|||||||
|
|
||||||
#_#_:on-mouse-moved
|
#_#_:on-mouse-moved
|
||||||
|
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(let [[x y] (utils/unproject screen)
|
(let [[x y] (utils/unproject screen options)
|
||||||
hovered-inventory? ((:mouse-in? (:inventory entities)) x y)
|
hovered-inventory? ((:mouse-in? (:inventory entities)) x y)
|
||||||
hovered-close? (utils/intersects? (:close entities) [x y])
|
hovered-close? (utils/intersects? (:close entities) [x y])
|
||||||
hovered-save? (utils/intersects? (:save entities) [x y])]
|
hovered-save? (utils/intersects? (:save entities) [x y])]
|
||||||
@@ -1907,9 +1908,9 @@ void main ()
|
|||||||
|
|
||||||
|
|
||||||
:on-touch-up
|
:on-touch-up
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(if (= (button-code :left) (:button screen))
|
(if (= (button-code :left) (:button options))
|
||||||
(let [[x y] (utils/unproject screen)]
|
(let [[x y] (utils/unproject screen options)]
|
||||||
(cond
|
(cond
|
||||||
(not (hud-interactable?))
|
(not (hud-interactable?))
|
||||||
nil
|
nil
|
||||||
|
|||||||
@@ -94,7 +94,7 @@
|
|||||||
|
|
||||||
(defscreen splash-screen
|
(defscreen splash-screen
|
||||||
:on-show
|
:on-show
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(println screen)
|
(println screen)
|
||||||
(utils/setup-viewport screen 1280 960)
|
(utils/setup-viewport screen 1280 960)
|
||||||
(log/info "Starting splash screen.")
|
(log/info "Starting splash screen.")
|
||||||
@@ -125,7 +125,7 @@
|
|||||||
|
|
||||||
|
|
||||||
:on-render
|
:on-render
|
||||||
(fn [{:keys [^FitViewport viewport] :as screen} entities]
|
(fn [{:keys [^FitViewport viewport] :as screen} entities options]
|
||||||
(steam/update)
|
(steam/update)
|
||||||
(.apply viewport)
|
(.apply viewport)
|
||||||
(clear!)
|
(clear!)
|
||||||
@@ -141,17 +141,17 @@
|
|||||||
:show-screen (fn [entities]
|
:show-screen (fn [entities]
|
||||||
entities)
|
entities)
|
||||||
|
|
||||||
:on-touch-up (fn [screen entities]
|
:on-touch-up (fn [screen entities options]
|
||||||
(if (get-in entities [:current-step :can-skip])
|
(if (get-in entities [:current-step :can-skip])
|
||||||
(assoc entities :current-step nil :queued-skip? false)
|
(assoc entities :current-step nil :queued-skip? false)
|
||||||
(assoc entities :queued-skip? true)))
|
(assoc entities :queued-skip? true)))
|
||||||
|
|
||||||
:on-key-up
|
:on-key-up
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(when (= (key-code :escape) (:key screen))
|
(when (= (key-code :escape) (:key screen))
|
||||||
(utils/toggle-fullscreen!))
|
(utils/toggle-fullscreen!))
|
||||||
nil)
|
nil)
|
||||||
|
|
||||||
:on-resize (fn [{:keys [^FitViewport viewport width height]} entities]
|
:on-resize (fn [{:keys [^FitViewport viewport]} entities {:keys [width height]} ]
|
||||||
(.update viewport width height false)
|
(.update viewport width height false)
|
||||||
nil))
|
nil))
|
||||||
|
|||||||
@@ -337,7 +337,7 @@
|
|||||||
|
|
||||||
(defscreen title-screen
|
(defscreen title-screen
|
||||||
:on-show
|
:on-show
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(utils/setup-viewport screen 1280 960)
|
(utils/setup-viewport screen 1280 960)
|
||||||
(log/info "Starting title screen.")
|
(log/info "Starting title screen.")
|
||||||
|
|
||||||
@@ -412,7 +412,7 @@
|
|||||||
|
|
||||||
|
|
||||||
:on-render
|
:on-render
|
||||||
(fn [{:keys [^FitViewport viewport] :as screen} entities]
|
(fn [{:keys [^FitViewport viewport] :as screen} entities options]
|
||||||
(steam/update)
|
(steam/update)
|
||||||
(.apply viewport)
|
(.apply viewport)
|
||||||
(clear!)
|
(clear!)
|
||||||
@@ -433,14 +433,14 @@
|
|||||||
:show-screen (fn [entities] entities)
|
:show-screen (fn [entities] entities)
|
||||||
|
|
||||||
:on-key-up
|
:on-key-up
|
||||||
(fn [screen entities]
|
(fn [screen entities options]
|
||||||
(when (= (key-code :escape) (:key screen))
|
(when (= (key-code :escape) (:key screen))
|
||||||
(utils/toggle-fullscreen!))
|
(utils/toggle-fullscreen!))
|
||||||
nil)
|
nil)
|
||||||
|
|
||||||
|
|
||||||
:on-ui-changed
|
:on-ui-changed
|
||||||
(fn [{:keys [^Actor actor] :as screen} entities]
|
(fn [screen entities {:keys [^Actor actor] :as options}]
|
||||||
(when-not (get-in entities [:tweens :fade-out])
|
(when-not (get-in entities [:tweens :fade-out])
|
||||||
(let [e (-> actor .getUserObject)
|
(let [e (-> actor .getUserObject)
|
||||||
actor-key (:key e)]
|
actor-key (:key e)]
|
||||||
@@ -550,6 +550,6 @@
|
|||||||
:else
|
:else
|
||||||
entities))))
|
entities))))
|
||||||
|
|
||||||
:on-resize (fn [{:keys [^FitViewport viewport width height]} entities]
|
:on-resize (fn [{:keys [^FitViewport viewport] :as screen} entities {:keys [width height]}]
|
||||||
(.update viewport width height false)
|
(.update viewport width height false)
|
||||||
nil))
|
nil))
|
||||||
|
|||||||
@@ -337,9 +337,9 @@
|
|||||||
[cam viewport stage]))
|
[cam viewport stage]))
|
||||||
|
|
||||||
(defn unproject
|
(defn unproject
|
||||||
([screen]
|
([screen options]
|
||||||
(unproject screen [(:input-x screen) (:input-y screen)]) )
|
(unproject screen options [(:input-x options) (:input-y options)]) )
|
||||||
([screen [x y]]
|
([screen options [x y]]
|
||||||
(let [pj (.unproject ^FitViewport (:viewport screen) (vector-2 x y))
|
(let [pj (.unproject ^FitViewport (:viewport screen) (vector-2 x y))
|
||||||
x (.x pj)
|
x (.x pj)
|
||||||
y (.y pj)]
|
y (.y pj)]
|
||||||
@@ -362,9 +362,9 @@
|
|||||||
(and is-script-running
|
(and is-script-running
|
||||||
(not (#{:end :none-but-arrow} (or (get-in entities [:fg-actions :last-skip-type]) :end))))))
|
(not (#{:end :none-but-arrow} (or (get-in entities [:fg-actions :last-skip-type]) :end))))))
|
||||||
|
|
||||||
(defn update-override [{:keys [^FitViewport viewport] :as screen} entities]
|
(defn update-override [{:keys [^FitViewport viewport] :as screen} entities options]
|
||||||
(let [raw-pos (get-in entities [:cursor :last-pos])
|
(let [raw-pos (get-in entities [:cursor :last-pos])
|
||||||
last-pos (unproject screen raw-pos)
|
last-pos (unproject screen options raw-pos)
|
||||||
mouse-override (find-override entities last-pos)
|
mouse-override (find-override entities last-pos)
|
||||||
out-of-bounds (not (contains-point? (.getScreenX viewport) (.getScreenY viewport)
|
out-of-bounds (not (contains-point? (.getScreenX viewport) (.getScreenY viewport)
|
||||||
(.getScreenWidth viewport) (.getScreenHeight viewport)
|
(.getScreenWidth viewport) (.getScreenHeight viewport)
|
||||||
|
|||||||
Reference in New Issue
Block a user