(module (lose-screen) () (import scheme (chicken base) (chicken module) raylib (imugi core) (imugi input) (imugi scene) (imugi math) (imugi resource) (imugi drawing) (bd ui)) (define draw-player-sprite (make-system 'draw-player-sprite 0 'global '() (lambda () (push-render-object 'screen -1 (lambda () (draw-texture-2d (vec 50 300) (texture "../res/sprites/player/lose.png") (make-color 1 1 1 1))))))) (define draw-enemy-sprite (make-system 'draw-enemy-sprite 0 'global '() (lambda () (push-render-object 'screen -1 (lambda () (draw-texture-2d (vec 500 300) (texture "../res/sprites/enemy/win.png") (make-color 1 1 1 1))))))) (export lose-screen) (define (lose-screen arena-scene menu-scene) (play-sound (load-sound "../res/music/Lose.wav")) (scene push-actions draw-labels handle-buttons draw-player-sprite draw-enemy-sprite (entity (title (vec 0 (/ (cdr (*window-size*)) 6)) "You have lost!" centered: (cons #t #f))) (entity (button ;; Roughly centered. ;; these are ugly, hardcoded values. (vec (- (/ (car (*window-size*)) 2) 50) (- (/ (car (*window-size*)) 2) 100)) ;; Nested footer text (footer (vec 0 0) ;; this vec doesn't matter, it's overwritten internally "Play Again?") (lambda () ((arena-scene menu-scene))))) (entity (button ;; Roughly centered. ;; these are ugly, hardcoded values. (vec (- (/ (car (*window-size*)) 2) 50) (- (/ (car (*window-size*)) 2) 170)) ;; Nested footer text (footer (vec 0 0) ;; this vec doesn't matter, it's overwritten internally "Back to Menu") (lambda () ((menu-scene (lambda () ((arena-scene menu-scene)))))))))) )