Sort systems by priority

This commit is contained in:
BirDt_ 2026-03-28 19:29:47 +08:00
parent 69f1f584ea
commit 700b7a9cda

View file

@ -2,6 +2,7 @@
(import scheme (import scheme
(chicken base) (chicken base)
(chicken module) (chicken module)
(chicken sort)
raylib raylib
(srfi 1) (srfi 1)
(srfi 69) (srfi 69)
@ -171,6 +172,13 @@
(lambda (n el) (lambda (n el)
(eqv? n (system-name el)))))) (eqv? n (system-name el))))))
;; Sort the systems list by priority
(define (sort-systems)
(sort! systems
(lambda (x y)
(< (system-priority x)
(system-priority y)))))
;; System addition/deletion queues ;; System addition/deletion queues
(define add-system-queue '()) (define add-system-queue '())
(define del-system-queue '()) (define del-system-queue '())
@ -204,7 +212,8 @@
;; Resolve all queued system changes ;; Resolve all queued system changes
(define (resolve-system-queue) (define (resolve-system-queue)
(remove-queued-systems) (remove-queued-systems)
(add-queued-systems)) (add-queued-systems)
(sort-systems))
;; System creation/removal interface ;; System creation/removal interface
(export add-system remove-system) (export add-system remove-system)