From b0d5f027e1349d5b3323c8146c7b1757736d7077 Mon Sep 17 00:00:00 2001
From: Michiel Cottaar <MichielCottaar@protonmail.com>
Date: Sat, 25 May 2024 15:40:22 +0100
Subject: [PATCH] Process events

---
 src/variables.jl | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/variables.jl b/src/variables.jl
index ca0978c..b324470 100644
--- a/src/variables.jl
+++ b/src/variables.jl
@@ -322,6 +322,15 @@ function (var::Variable)(block::AbstractBlock, args...; kwargs...)
     return var.f(block, args...; kwargs...)
 end
 
+# Special case for BuildingBlock events
+function (var::Variable)(event::Tuple{<:Number, <:AbstractBlock}, args...; kwargs...)
+    if applicable(var.f, event, args...; kwargs...)
+        return var.f(event, args...; kwargs...)
+    end
+    # falling back to just processing the `AbstractBlock`
+    return var(event[2], args...; kwargs...)
+end
+
 function (var::AlternateVariable)(args...; kwargs...)
     other_var = variables[var.other_var]
     apply_from_other(res::Number) = var.from_other(res)
-- 
GitLab