private static int SetCallback(IntPtr L) { int result; try { ToLua.CheckArgsCount(L, 4); WorldMapController worldMapController = (WorldMapController)ToLua.CheckObject(L, 1, typeof(WorldMapController)); LuaFunction moveCoordinateLuaFunc = ToLua.CheckLuaFunction(L, 2); LuaFunction touchCoordinateLuaFunc = ToLua.CheckLuaFunction(L, 3); LuaFunction updateLuaFunc = ToLua.CheckLuaFunction(L, 4); worldMapController.SetCallback(moveCoordinateLuaFunc, touchCoordinateLuaFunc, updateLuaFunc); result = 0; } catch (Exception e) { result = LuaDLL.toluaL_exception(L, e, null); } return(result); }