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