static int StopCoroutine(IntPtr L) { int count = LuaDLL.lua_gettop(L); Type[] types0 = { typeof(FSMBase), typeof(Coroutine) }; Type[] types1 = { typeof(FSMBase), typeof(IEnumerator) }; Type[] types2 = { typeof(FSMBase), typeof(string) }; if (count == 2 && LuaScriptMgr.CheckTypes(L, types0, 1)) { FSMBase obj = LuaScriptMgr.GetNetObject <FSMBase>(L, 1); Coroutine arg0 = LuaScriptMgr.GetNetObject <Coroutine>(L, 2); obj.StopCoroutine(arg0); return(0); } else if (count == 2 && LuaScriptMgr.CheckTypes(L, types1, 1)) { FSMBase obj = LuaScriptMgr.GetNetObject <FSMBase>(L, 1); IEnumerator arg0 = LuaScriptMgr.GetNetObject <IEnumerator>(L, 2); obj.StopCoroutine(arg0); return(0); } else if (count == 2 && LuaScriptMgr.CheckTypes(L, types2, 1)) { FSMBase obj = LuaScriptMgr.GetNetObject <FSMBase>(L, 1); string arg0 = LuaScriptMgr.GetString(L, 2); obj.StopCoroutine(arg0); return(0); } else { LuaDLL.luaL_error(L, "invalid arguments to method: FSMBase.StopCoroutine"); } return(0); }