mirror of
https://github.com/copyrighttxt/watrbx-game-engine.git
synced 2026-09-07 05:57:47 +00:00
GEEKING
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using Microsoft.Ccr.Core;
|
||||
|
||||
namespace Roblox;
|
||||
|
||||
public class Interleaver
|
||||
{
|
||||
private readonly Port<Action> exclusive = new Port<Action>();
|
||||
|
||||
private readonly Port<Action> concurrent = new Port<Action>();
|
||||
|
||||
public void DoExclusive(Action action)
|
||||
{
|
||||
exclusive.Post(action);
|
||||
}
|
||||
|
||||
public void DoConcurrent(Action action)
|
||||
{
|
||||
concurrent.Post(action);
|
||||
}
|
||||
|
||||
public Interleaver()
|
||||
{
|
||||
CcrService.Singleton.Activate<Interleave>(Arbiter.Interleave(new TeardownReceiverGroup(), new ExclusiveReceiverGroup(Arbiter.Receive(persist: true, exclusive, delegate(Action action)
|
||||
{
|
||||
action();
|
||||
})), new ConcurrentReceiverGroup(Arbiter.Receive(persist: true, concurrent, delegate(Action action)
|
||||
{
|
||||
action();
|
||||
}))));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user