static int get_id(IntPtr L)
    {
        object o = null;

        try
        {
            o = ToLua.ToObject(L, 1);
            Nova.VolumeAnimationProperty obj = (Nova.VolumeAnimationProperty)o;
            string ret = obj.id;
            LuaDLL.lua_pushstring(L, ret);
            return(1);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e, o, "attempt to index id on a nil value"));
        }
    }
    static int _CreateNova_VolumeAnimationProperty(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 2 && TypeChecker.CheckTypes <Nova.UnifiedAudioSource, float>(L, 1))
            {
                Nova.UnifiedAudioSource arg0 = (Nova.UnifiedAudioSource)ToLua.ToObject(L, 1);
                float arg1 = (float)LuaDLL.lua_tonumber(L, 2);
                Nova.VolumeAnimationProperty obj = new Nova.VolumeAnimationProperty(arg0, arg1);
                ToLua.PushObject(L, obj);
                return(1);
            }
            else if (count == 2 && TypeChecker.CheckTypes <Nova.AudioController, float>(L, 1))
            {
                Nova.AudioController arg0 = (Nova.AudioController)ToLua.ToObject(L, 1);
                float arg1 = (float)LuaDLL.lua_tonumber(L, 2);
                Nova.VolumeAnimationProperty obj = new Nova.VolumeAnimationProperty(arg0, arg1);
                ToLua.PushObject(L, obj);
                return(1);
            }
            else if (count == 3 && TypeChecker.CheckTypes <Nova.UnifiedAudioSource, float, Nova.UseRelativeValue>(L, 1))
            {
                Nova.UnifiedAudioSource arg0 = (Nova.UnifiedAudioSource)ToLua.ToObject(L, 1);
                float arg1 = (float)LuaDLL.lua_tonumber(L, 2);
                Nova.UseRelativeValue        arg2 = (Nova.UseRelativeValue)ToLua.ToObject(L, 3);
                Nova.VolumeAnimationProperty obj  = new Nova.VolumeAnimationProperty(arg0, arg1, arg2);
                ToLua.PushObject(L, obj);
                return(1);
            }
            else if (count == 3 && TypeChecker.CheckTypes <Nova.UnifiedAudioSource, float, float>(L, 1))
            {
                Nova.UnifiedAudioSource arg0 = (Nova.UnifiedAudioSource)ToLua.ToObject(L, 1);
                float arg1 = (float)LuaDLL.lua_tonumber(L, 2);
                float arg2 = (float)LuaDLL.lua_tonumber(L, 3);
                Nova.VolumeAnimationProperty obj = new Nova.VolumeAnimationProperty(arg0, arg1, arg2);
                ToLua.PushObject(L, obj);
                return(1);
            }
            else if (count == 3 && TypeChecker.CheckTypes <Nova.AudioController, float, Nova.UseRelativeValue>(L, 1))
            {
                Nova.AudioController arg0 = (Nova.AudioController)ToLua.ToObject(L, 1);
                float arg1 = (float)LuaDLL.lua_tonumber(L, 2);
                Nova.UseRelativeValue        arg2 = (Nova.UseRelativeValue)ToLua.ToObject(L, 3);
                Nova.VolumeAnimationProperty obj  = new Nova.VolumeAnimationProperty(arg0, arg1, arg2);
                ToLua.PushObject(L, obj);
                return(1);
            }
            else if (count == 3 && TypeChecker.CheckTypes <Nova.AudioController, float, float>(L, 1))
            {
                Nova.AudioController arg0 = (Nova.AudioController)ToLua.ToObject(L, 1);
                float arg1 = (float)LuaDLL.lua_tonumber(L, 2);
                float arg2 = (float)LuaDLL.lua_tonumber(L, 3);
                Nova.VolumeAnimationProperty obj = new Nova.VolumeAnimationProperty(arg0, arg1, arg2);
                ToLua.PushObject(L, obj);
                return(1);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to ctor method: Nova.VolumeAnimationProperty.New"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }