mirror of
https://github.com/celisej567/source-sdk-2013.git
synced 2026-09-23 20:09:45 +03:00
Adding vscript implementation
This commit is contained in:
25
sp/src/vscript/squirrel/samples/coroutines.nut
Normal file
25
sp/src/vscript/squirrel/samples/coroutines.nut
Normal file
@@ -0,0 +1,25 @@
|
||||
function coroutine_test(a,b)
|
||||
{
|
||||
::print(a+" "+b+"\n");
|
||||
local ret = ::suspend("suspend 1");
|
||||
::print("the coroutine says "+ret+"\n");
|
||||
ret = ::suspend("suspend 2");
|
||||
::print("the coroutine says "+ret+"\n");
|
||||
ret = ::suspend("suspend 3");
|
||||
::print("the coroutine says "+ret+"\n");
|
||||
return "I'm done"
|
||||
}
|
||||
|
||||
local coro = ::newthread(coroutine_test);
|
||||
|
||||
local susparam = coro.call("test","coroutine"); //starts the coroutine
|
||||
|
||||
local i = 1;
|
||||
do
|
||||
{
|
||||
::print("suspend passed ["+susparam+"]\n")
|
||||
susparam = coro.wakeup("ciao "+i);
|
||||
++i;
|
||||
}while(coro.getstatus()=="suspended")
|
||||
|
||||
::print("return passed ["+susparam+"]\n")
|
||||
Reference in New Issue
Block a user