public List<object> call(string func, params object[] list)

{

int top1 = LuaDLL.lua_gettop(LuaState.getInstance.L);

LuaDLL.lua_getglobal(LuaState.getInstance.L, func);

foreach(object o in list)

{

if(o.GetType() == typeof(string))

{

LuaDLL.lua_pushstring(LuaState.getInstance.L, (string)o);

}else if(o.GetType() == typeof(Int64))

{

LuaDLL.lua_pushnumber(LuaState.getInstance.L, (Int64)o);

}else if(o.GetType() == typeof(double))

{

LuaDLL.lua_pushnumber(LuaState.getInstance.L, (double)o);

}

else if (o.GetType() == typeof(bool))

{

LuaDLL.lua_pushboolean(LuaState.getInstance.L, (bool)o);

}

else if (o.GetType() == typeof(Dictionary<object,object>))

{

pushMapParams(LuaState.getInstance.L, (Dictionary<object, object>)o);

}

else

{

LuaDLL.lua_pushlightuserdata(LuaState.getInstance.L,(IntPtr)o);

}

}

。。。。

}