ending is beginning to be fun.
This commit is contained in:
@@ -678,8 +678,9 @@
|
||||
:none))))
|
||||
|
||||
|
||||
(defn transition-background [entities new-background [x y] & {:keys [transition-music? between time face]}]
|
||||
(defn transition-background [entities new-background [x y] & {:keys [transition-music? between time face type]}]
|
||||
(let [transition-music? (if (nil? transition-music?) true transition-music?)
|
||||
type (or type :fade)
|
||||
old-music (get-music (get-in @entities [:room-musics (get-in @entities [:state :last-room])]) (get-in @entities [:state :time]))
|
||||
;; TODO FIX
|
||||
new-music (get-music (get-in @entities [:room-musics new-background]) (get-in @entities [:state :time]))
|
||||
@@ -691,7 +692,7 @@
|
||||
(doseq [[k] (get-in entities [:room :timers])]
|
||||
(remove-timer! screen k))
|
||||
(as-> entities e
|
||||
(assoc-in e [:tweens :fade-out] (tween/tween :fade-out screen [:fade :opacity] 0.0 1.0 time))
|
||||
(assoc-in e [:tweens :fade-out] (tween/tween :fade-out screen [type :opacity] 0.0 1.0 time))
|
||||
(if music-changed?
|
||||
(assoc-in e [:tweens :fade-out-music] (tween/tween :fade-out-music screen [:volume :value] 1.0 0.0 time))
|
||||
e)))
|
||||
@@ -700,7 +701,7 @@
|
||||
entities)
|
||||
|
||||
(done? [this screen entities]
|
||||
(>= (get-in entities [:fade :opacity]) 1.0))
|
||||
(>= (get-in entities [type :opacity]) 1.0))
|
||||
|
||||
(terminate [this screen entities]
|
||||
(utils/release-resources screen :room)
|
||||
@@ -732,7 +733,7 @@
|
||||
(assoc-in e [:current-sounds :value] [])
|
||||
(if between (between screen e) e)
|
||||
(assoc-in e [:state :last-room] new-background)
|
||||
(assoc-in e [:tweens :fade-in] (tween/tween :fade-in screen [:fade :opacity] 1.0 0.0 time))
|
||||
(assoc-in e [:tweens :fade-in] (tween/tween :fade-in screen [type :opacity] 1.0 0.0 time))
|
||||
(if-not (get-in entities [:cam :paused?])
|
||||
(-> e
|
||||
(update-in [:tweens] dissoc :cam-zoom :cam-x :cam-y)
|
||||
@@ -764,7 +765,7 @@
|
||||
entities)
|
||||
|
||||
(done? [this screen entities]
|
||||
(<= (get-in entities [:fade :opacity]) 0.0))
|
||||
(<= (get-in entities [type :opacity]) 0.0))
|
||||
|
||||
(terminate [this screen entities]
|
||||
(doseq [[k [start time fn]] (get-in entities [:room :timers])]
|
||||
|
||||
Reference in New Issue
Block a user