From bc2e3064d9870c12b5ea5ce3a4ffa367f5c2609c Mon Sep 17 00:00:00 2001 From: TakeV Date: Mon, 27 May 2024 00:30:07 -0400 Subject: [PATCH] Allow entity-map:get-entity to accept a default value if none is found --- modules/ces/entity/entity-map.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/ces/entity/entity-map.scm b/modules/ces/entity/entity-map.scm index 298ebee..7b989aa 100644 --- a/modules/ces/entity/entity-map.scm +++ b/modules/ces/entity/entity-map.scm @@ -70,10 +70,12 @@ and integer already. Returns false if passed an invalid entity." ((integer? entity) entity) (else (error "Invalid entity-key parameter" entity)))) -(define (get-entity entity-map entity) +(define* (get-entity entity-map entity #:key (default #f)) "Returns the entity with the supplied entity-id if one exists. Returns false if no entity exists with that id." - (hashtable-ref (entity-map-entities entity-map) (entity-key entity) #f)) + (hashtable-ref (entity-map-entities entity-map) + (entity-key entity) + default)) (define* (get-entities entity-map #:key (criteria? game-entity?)) "Returns a list of all entities. When criteria? is provided,