Skip to content

Commit fa69c13

Browse files
authored
fix: using active states extent for transitions (#105)
1 parent 1015047 commit fa69c13

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/main/kotlin/at/ac/uibk/dps/cirrina/execution/object/StateMachine.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,9 +139,11 @@ internal constructor(
139139
if (candidates.isEmpty()) return null
140140

141141
val evalExtent =
142-
extent.extend(
143-
ContextInMemory().apply { event.data.forEach { create(VAR_PREFIX + it.name, it.value) } }
144-
)
142+
activeState!!
143+
.extent
144+
.extend(
145+
ContextInMemory().apply { event.data.forEach { create(VAR_PREFIX + it.name, it.value) } }
146+
)
145147

146148
return trySelect(candidates, evalExtent)?.also {
147149
event.data.forEach { d -> extent.setOrCreate(VAR_PREFIX + d.name, d.value) }
@@ -227,7 +229,7 @@ internal constructor(
227229
private fun doTransition(transition: Transition, event: Event?) =
228230
Observation.createNotStarted("stateMachine.transition", observationRegistry).observe {
229231
if (!transition.isOr) {
230-
execute(transition.getActionCommands(createContext(this, event)))
232+
execute(transition.getActionCommands(createContext(activeState!!, event)))
231233
}
232234
}
233235

0 commit comments

Comments
 (0)