Move parameter guarding into its own module
This commit is contained in:
parent
65a60a2a65
commit
71e92641f7
2 changed files with 14 additions and 7 deletions
|
|
@ -3,6 +3,7 @@
|
||||||
(chicken base)
|
(chicken base)
|
||||||
(chicken module)
|
(chicken module)
|
||||||
(chicken sort)
|
(chicken sort)
|
||||||
|
(engine guards)
|
||||||
raylib
|
raylib
|
||||||
(srfi 1)
|
(srfi 1)
|
||||||
(srfi 4)
|
(srfi 4)
|
||||||
|
|
@ -399,13 +400,6 @@
|
||||||
;; Frame generation and game loop
|
;; Frame generation and game loop
|
||||||
(export resolve-queues next-frame *clear-color* perform-render)
|
(export resolve-queues next-frame *clear-color* perform-render)
|
||||||
|
|
||||||
;; Utility function for guarding parameter values
|
|
||||||
(define (guarded-parameter default predicate)
|
|
||||||
(make-parameter default (lambda (val)
|
|
||||||
(if (predicate val)
|
|
||||||
val
|
|
||||||
default))))
|
|
||||||
|
|
||||||
;; Resolve the entity and system queues. This is exported which allows breaking iteration
|
;; Resolve the entity and system queues. This is exported which allows breaking iteration
|
||||||
(define (resolve-queues)
|
(define (resolve-queues)
|
||||||
(resolve-entity-queue)
|
(resolve-entity-queue)
|
||||||
|
|
|
||||||
13
engine/guards.scm
Normal file
13
engine/guards.scm
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
(module (engine guards) ()
|
||||||
|
(import scheme
|
||||||
|
(chicken base)
|
||||||
|
(chicken module))
|
||||||
|
|
||||||
|
;; Utility function for guarding parameter values
|
||||||
|
(export guarded-parameter)
|
||||||
|
(define (guarded-parameter default predicate)
|
||||||
|
(make-parameter default (lambda (val)
|
||||||
|
(if (predicate val)
|
||||||
|
val
|
||||||
|
default))))
|
||||||
|
)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue