public Task <DreamValue> Call(DreamProc proc, DreamObject src, DreamObject usr, DreamProcArguments arguments) { _callTcs = new(); _callProcNotify = proc.CreateState(Thread, src, usr, arguments); // The field may be mutated by SafeResume, so cache the task var callTcs = _callTcs; SafeResume(); return(callTcs.Task); }
public void Call(DreamProc proc, DreamObject src, DreamProcArguments arguments) { var state = proc.CreateState(Thread, src, Usr, arguments); Thread.PushProcState(state); }