X-Git-Url: https://git.jsancho.org/?p=gacela.git;a=blobdiff_plain;f=src%2Fengine.scm;h=33c8a6f0f190b02ddb3ef4cac12568bc6bfebf13;hp=4e311a0d9db97ca872e2cf9bfa162bca67d9e262;hb=c62dceb1471afb94efa57eef5506fbdf6f2ef679;hpb=0cf99813777069f2fce8fe895fbbdcaaf98699eb diff --git a/src/engine.scm b/src/engine.scm index 4e311a0..33c8a6f 100644 --- a/src/engine.scm +++ b/src/engine.scm @@ -50,9 +50,7 @@ (list e c)) (make-mutex) (make-mutex) - (if (not (= (length systems) 1)) - (join-systems systems) - (car systems)))) + (apply group-systems systems))) (define-syntax define-engine (syntax-rules () @@ -122,6 +120,10 @@ (set-current-engine! old-engine) res))))) +(define (set-engine-systems! engine . systems) + (with-mutex (engine-mutex engine) + (set-engine-system! engine (apply group-systems systems)))) + (export current-engine set-current-engine! get-entity @@ -131,7 +133,8 @@ set-entity! set-entity-components! remove-entity-components! - with-engine) + with-engine + set-engine-systems!) ;;; Engine execution