LuaInterface.LuaField.Set C# (CSharp) Method

Set() public method

public Set ( IntPtr L ) : int
L System.IntPtr
return int
        public int Set(IntPtr L)
        {
            try
            {
                int count = LuaDLL.lua_gettop(L);

                if (count == 3 && TypeChecker.CheckTypes(L, 2, kclass, typeof(object)))
                {
                    object arg0 = ToLua.ToVarObject(L, 2);
                    object arg1 = ToLua.ToVarObject(L, 3);
                    arg1 = TypeChecker.ChangeType(arg1, field.FieldType);
                    field.SetValue(arg0, arg1);
                    return 0;
                }
                else if (count == 6 && TypeChecker.CheckTypes(L, 2, kclass, typeof(object), typeof(uint), typeof(Binder), typeof(CultureInfo)))
                {
                    object arg0 = ToLua.ToVarObject(L, 2);
                    object arg1 = ToLua.ToVarObject(L, 3);
                    BindingFlags arg2 = (BindingFlags)LuaDLL.lua_tonumber(L, 4);
                    Binder arg3 = (Binder)ToLua.ToObject(L, 5);
                    CultureInfo arg4 = (CultureInfo)ToLua.ToObject(L, 6);
                    arg1 = TypeChecker.ChangeType(arg1, field.FieldType);
                    field.SetValue(arg0, arg1, arg2, arg3, arg4);
                    return 0;
                }
                else
                {
                    return LuaDLL.luaL_throw(L, "invalid arguments to method: LuaField.Set");
                }
            }
            catch (Exception e)
            {
                return LuaDLL.toluaL_exception(L, e);
            }
        }

Usage Example

 static int Set(IntPtr L)
 {
     try
     {
         LuaInterface.LuaField obj = (LuaInterface.LuaField)ToLua.CheckObject(L, 1, typeof(LuaInterface.LuaField));
         return(obj.Set(L));
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }