more improvement
This commit is contained in:
@@ -1058,6 +1058,19 @@ void main ()
|
||||
(defn mouse-moved [{:keys [input-x input-y viewport] :as screen} entities]
|
||||
(utils/update-override screen (assoc-in entities [:cursor :last-pos] [input-x input-y])))
|
||||
|
||||
(defn grab-layers [entities]
|
||||
(update-in entities [:room]
|
||||
(fn [{:keys [layers current-layers] :as room}]
|
||||
(cond current-layers
|
||||
room
|
||||
|
||||
(map? layers)
|
||||
(assoc room :current-layers (map (partial get-rendered entities) ((get-in entities [:state :time]) layers)))
|
||||
|
||||
:else
|
||||
(assoc room :current-layers (map (partial get-rendered entities) layers))
|
||||
))))
|
||||
|
||||
(defn add-georgia-to-all-rooms [screen rooms]
|
||||
(let [georgia-talk (utils/make-anim "ego/georgia.png" [30 30] 0.15 [0 1 0 1 0 0 1 0 1 2])
|
||||
georgia-stand (utils/make-anim "ego/georgia.png" [30 30] 0.3 [0 0 0 0 0 0 0 2 0 0 0 0 2])
|
||||
@@ -1232,7 +1245,14 @@ void main ()
|
||||
(let [entities (utils/apply-tweens screen entities (:tweens entities))
|
||||
entities (update-current-sound-vols! entities)
|
||||
entities (remove-ended-sounds screen entities)
|
||||
layers (get-layers entities)
|
||||
get-rendered (partial get-rendered entities)
|
||||
entities (loop [entities entities
|
||||
[[k e] & rest] (seq (get-in entities [:room :entities]))]
|
||||
(if k
|
||||
(recur (update-in entities [:room :entities k] get-rendered) rest)
|
||||
entities))
|
||||
entities (grab-layers entities)
|
||||
layers (get-in entities [:room :current-layers])
|
||||
all-entities (concat (vals entities) layers (vals (get-in entities [:room :entities])))]
|
||||
(screen! fade-screen :update-fade {:opacity (get-in entities [:fade :opacity])})
|
||||
(doseq [m (vals (get-in entities [:musics]))]
|
||||
@@ -1242,8 +1262,8 @@ void main ()
|
||||
(clear!)
|
||||
(doseq [e (sort-by :baseline all-entities)]
|
||||
(if (:parallax e)
|
||||
(render-parallax screen (get-rendered entities e))
|
||||
(render! screen [(get-rendered entities e)]))))
|
||||
(render-parallax screen e)
|
||||
(render! screen [e]))))
|
||||
(let [entities (fade-in-first-time-if-necessary screen entities)
|
||||
entities (utils/apply-tweens screen entities (:tweens entities))
|
||||
entities (update-cursor screen entities)
|
||||
@@ -1289,8 +1309,14 @@ void main ()
|
||||
entities)
|
||||
|
||||
|
||||
layers (get-layers entities)
|
||||
|
||||
entities (grab-layers entities)
|
||||
get-rendered (partial get-rendered entities)
|
||||
entities (loop [entities entities
|
||||
[[k e] & rest] (seq (get-in entities [:room :entities]))]
|
||||
(if k
|
||||
(recur (update-in entities [:room :entities k] get-rendered) rest)
|
||||
entities))
|
||||
layers (get-in entities [:room :current-layers])
|
||||
all-entities (concat (vals entities) layers (vals (get-in entities [:room :entities])))]
|
||||
(clear!)
|
||||
(screen! talking-screen :on-update-camera { :scene-viewport (:viewport screen) :scene-camera (:camera screen)})
|
||||
@@ -1299,17 +1325,17 @@ void main ()
|
||||
(set! (. camera zoom) (:zoom (:cam entities)))
|
||||
(set! (.. camera position x) (:x (:cam entities) 160.0))
|
||||
(set! (.. camera position y) (:y (:cam entities) 120.0)))
|
||||
(let [entities (utils/update-override screen entities)
|
||||
(let [#_#_entities (utils/update-override screen entities)
|
||||
entities (play-key-sounds screen entities)
|
||||
entities (update-current-sound-vols! entities)
|
||||
entities (remove-ended-sounds screen entities)]
|
||||
(doseq [m (vals (get-in entities [:musics]))]
|
||||
(when m
|
||||
(music! m :set-volume (utils/current-music-volume (get-in entities [:volume :value])))))
|
||||
(doseq [e (sort-by :baseline all-entities)]
|
||||
(doseq [e (doall (sort-by :baseline all-entities))]
|
||||
(if (:parallax e)
|
||||
(render-parallax screen (get-rendered entities e))
|
||||
(render! screen [(get-rendered entities e)])))
|
||||
(render-parallax screen e)
|
||||
(render! screen [e])))
|
||||
|
||||
entities))))
|
||||
|
||||
@@ -1470,7 +1496,6 @@ void main ()
|
||||
(transition-done? [this screen entities]))
|
||||
|
||||
(defn accept-state [entities state state-data transitions]
|
||||
(println "entering state" state)
|
||||
(-> entities
|
||||
(assoc-in [:inv-fsm :state] state)
|
||||
(assoc-in [:inv-fsm :state-data] state-data)
|
||||
|
||||
Reference in New Issue
Block a user