From 83cc561cce4780a99399370c362e85d882cc9d35 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Thu, 20 Jan 2022 20:48:30 +0100 Subject: [PATCH] Turn.every --- packages/core/src/runtime/actor.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/core/src/runtime/actor.ts b/packages/core/src/runtime/actor.ts index f36d59a..441fcde 100644 --- a/packages/core/src/runtime/actor.ts +++ b/packages/core/src/runtime/actor.ts @@ -450,6 +450,21 @@ export class Turn { if (a !== null) this.enqueue(ref.relay, () => ref.target.message?.(assertion)); } + every(periodMilliseconds: number, a: LocalAction): any { + const facet = this.activeFacet; + facet.preventInertCheck(); + let handle: any = setInterval(() => { + facet.turn(a); + }, periodMilliseconds); + facet.onStop(() => { + if (handle !== null) { + clearInterval(handle); + handle = null; + } + }); + return handle; + } + after(delayMilliseconds: number, a: LocalAction): any { const facet = this.activeFacet; const release = facet.preventInertCheck();