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);
    }