Level termination monitor
This commit is contained in:
parent
c9f984a023
commit
3fef18c711
|
@ -674,6 +674,24 @@
|
|||
(sub (position player-id ? ?))
|
||||
(assert (level-size level-size-vec))))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; LevelTerminationMonitor
|
||||
|
||||
(define (spawn-level-termination-monitor)
|
||||
(spawn (lambda (e s)
|
||||
(match e
|
||||
[(? patch/removed?)
|
||||
(log-info "Player died! Terminating level.")
|
||||
(quit)]
|
||||
[(message (at-meta (level-completed)))
|
||||
(log-info "Level completed! Terminating level.")
|
||||
(quit)]
|
||||
[_ #f]))
|
||||
(void)
|
||||
(sub (game-piece-configuration player-id ? ? ?))
|
||||
(sub (level-completed) #:meta-level 1)
|
||||
(assert (level-running) #:meta-level 1)))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; LevelSpawner
|
||||
|
||||
|
@ -691,6 +709,7 @@
|
|||
(spawn-display-controller level-size-vec)
|
||||
(spawn-physics-engine)
|
||||
(spawn-player-avatar initial-player-x initial-player-y)
|
||||
(spawn-level-termination-monitor)
|
||||
actions))
|
||||
|
||||
(define (spawn-numbered-level level-number)
|
||||
|
|
Loading…
Reference in New Issue