]> git.jsancho.org Git - gacela.git/blobdiff - src/engine.scm
Set engine systems while running
[gacela.git] / src / engine.scm
index 4e311a0d9db97ca872e2cf9bfa162bca67d9e262..33c8a6f0f190b02ddb3ef4cac12568bc6bfebf13 100644 (file)
@@ -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 ()
         (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
        set-entity!
        set-entity-components!
        remove-entity-components!
-       with-engine)
+       with-engine
+       set-engine-systems!)
 
 
 ;;; Engine execution