public void GetExists() { using (var lua = new NLua.Lua()) { lua.LoadCoroutineManager(); lua.DoString("function test() coroutine.yield(1) coroutine.yield(2) coroutine.yield(3) end " + "function test2() coroutine.yield(4) coroutine.yield(5) coroutine.yield(6) end"); lua.CreateCoroutine("test"); Assert.IsTrue(lua.ExistsCoroutine("test")); Assert.IsFalse(lua.ExistsCoroutine("test2")); lua.CreateCoroutine("test2"); Assert.IsTrue(lua.ExistsCoroutine("test")); Assert.IsTrue(lua.ExistsCoroutine("test2")); } }
public void CleanDeadCoroutines() { using (var lua = new NLua.Lua()) { lua.LoadCoroutineManager(); lua.DoString("function test() return 1 end " + "function test2() coroutine.yield(1) return 2 end"); lua.CreateCoroutine("test"); lua.CreateCoroutine("test2"); lua.UpdateCoroutines(); lua.CleanDeadCoroutines(); Assert.IsTrue(!lua.ExistsCoroutine("test")); Assert.IsTrue(lua.ExistsCoroutine("test2")); lua.UpdateCoroutines(); lua.CleanDeadCoroutines(); Assert.IsTrue(!lua.ExistsCoroutine("test")); Assert.IsTrue(!lua.ExistsCoroutine("test2")); } }