LuaInterface.ObjectTranslator.popValues C# (CSharp) Method

popValues() private method

private popValues ( IntPtr luaState, int oldTop ) : object[]
luaState IntPtr
oldTop int
return object[]
        internal object[] popValues(IntPtr luaState,int oldTop)
        {
            int newTop=LuaDLL.lua_gettop(luaState);
            if(oldTop==newTop)
            {
                return null;
            }
            else
            {
                ArrayList returnValues=new ArrayList();
                for(int i=oldTop+1;i<=newTop;i++)
                {
                    returnValues.Add(getObject(luaState,i));
                }
                LuaDLL.lua_settop(luaState,oldTop);
                return returnValues.ToArray();
            }
        }

Same methods

ObjectTranslator::popValues ( IntPtr luaState, int oldTop, Type popTypes ) : object[]

Usage Example

示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name = "chunk"></param>
        /// <param name = "name"></param>
        /// <returns></returns>
        public LuaFunction LoadString(string chunk, string name)
        {
            int oldTop = LuaLib.lua_gettop(luaState);

            executing = true;

            try
            {
                if (LuaLib.luaL_loadbuffer(luaState, chunk, name) != 0)
                {
                    ThrowExceptionFromError(oldTop);
                }
            }
            finally
            {
                executing = false;
            }

            var result = translator.getFunction(luaState, -1);

            translator.popValues(luaState, oldTop);
            return(result);
        }
All Usage Examples Of LuaInterface.ObjectTranslator::popValues