int CLuaFunctionDefs::GetResourceGUIElement ( lua_State* luaVM )
{
    // Resource given?
    CResource* pResource = NULL;
    if ( lua_istype ( luaVM, 1, LUA_TLIGHTUSERDATA ) )
    {
        pResource = lua_toresource ( luaVM, 1 );
    }

    // No resource given, get this resource's root
    else if ( lua_istype ( luaVM, 1, LUA_TNONE ) )
    {
        // Find our vm and get the root
        CLuaMain* pLuaMain = m_pLuaManager->GetVirtualMachine ( luaVM );
        if ( pLuaMain )
        {
            pResource = pLuaMain->GetResource ();
        }
    }
    else
        m_pScriptDebugging->LogBadPointer ( luaVM, "getResourceGUIElement", "resource", 1 );

    // Did we get a resource?
    if ( pResource )
    {
        // Grab the gui entity. If it exists, return it
        CClientEntity* pEntity = pResource->GetResourceGUIEntity ();
        if ( pEntity )
        {
            lua_pushelement ( luaVM, pEntity );
            return 1;
        }
    }
    else
        m_pScriptDebugging->LogBadType ( luaVM, "getResourceGUIElement" );

    // Failed
    lua_pushboolean ( luaVM, false );
    return 1;
}
int CLuaFunctionDefs::GetResourceGUIElement ( lua_State* luaVM )
{
    // Verify arguments
    CResource* pResource = NULL;
    CScriptArgReader argStream ( luaVM );
    argStream.ReadUserData ( pResource, NULL );

    // No resource given, get this resource's root
        if ( pResource == NULL )
        {
        // Find our vm and get the root
            CLuaMain* pLuaMain = m_pLuaManager->GetVirtualMachine ( luaVM );
            if ( pLuaMain )
            {
                pResource = pLuaMain->GetResource ();
            }
        }

        // Did we get a resource?
        if ( pResource )
        {
            // Grab the gui entity. If it exists, return it
            CClientEntity* pEntity = pResource->GetResourceGUIEntity ();
            if ( pEntity )
            {
                lua_pushelement ( luaVM, pEntity );
                return 1;
            }
        }
    else
        m_pScriptDebugging->LogBadType ( luaVM );

    // Failed
    lua_pushboolean ( luaVM, false );
    return 1;
}