private static int ChangeStartValue(IntPtr L)
    {
        int result;

        try
        {
            ToLua.CheckArgsCount(L, 3);
            TweenerCore <float, float, FloatOptions> tweenerCore = (TweenerCore <float, float, FloatOptions>)ToLua.CheckObject(L, 1, typeof(TweenerCore <float, float, FloatOptions>));
            object  newStartValue = ToLua.ToVarObject(L, 2);
            float   newDuration   = (float)LuaDLL.luaL_checknumber(L, 3);
            Tweener o             = tweenerCore.ChangeStartValue(newStartValue, newDuration);
            ToLua.PushObject(L, o);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaDLL.toluaL_exception(L, e, null);
        }
        return(result);
    }