当前位置: 首页>>代码示例>>C++>>正文


C++ LuaObject::SetMetaTable方法代码示例

本文整理汇总了C++中luaplus::LuaObject::SetMetaTable方法的典型用法代码示例。如果您正苦于以下问题:C++ LuaObject::SetMetaTable方法的具体用法?C++ LuaObject::SetMetaTable怎么用?C++ LuaObject::SetMetaTable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在luaplus::LuaObject的用法示例。


在下文中一共展示了LuaObject::SetMetaTable方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: CreateScriptObject

void BaseScriptComponent::CreateScriptObject(void)
{
    LuaStateManager* pStateMgr = LuaStateManager::Get();
    AC_ASSERT(pStateMgr);
	AC_ASSERT(!m_scriptObject.IsNil());
	
	LuaPlus::LuaObject metaTableObj = pStateMgr->GetGlobalVars().Lookup(METATABLE_NAME);
	AC_ASSERT(!metaTableObj.IsNil());
	
	LuaPlus::LuaObject boxedPtr = pStateMgr->GetLuaState()->BoxPointer(this);
	boxedPtr.SetMetaTable(metaTableObj);
	m_scriptObject.SetLightUserData("__object", this);
	m_scriptObject.SetMetaTable(metaTableObj);
}
开发者ID:JDHDEV,项目名称:AlphaEngine,代码行数:14,代码来源:BaseScriptComponent.cpp

示例2: CreateScriptObject

void LuaScriptComponent::CreateScriptObject()
{
	LuaStateManager* pStateManager = LuaStateManager::Get();
	CB_ASSERT(pStateManager);
	CB_ASSERT(!m_ScriptObject.IsNil());

	LuaPlus::LuaObject metaTableObj = pStateManager->GetGlobalVars().Lookup(LUA_METATABLE_NAME);
	CB_ASSERT(!metaTableObj.IsNil());

	// bind the __object field in lua to this object
	LuaPlus::LuaObject boxedPtr = pStateManager->GetLuaState()->BoxPointer(this);
	boxedPtr.SetMetaTable(metaTableObj);
	m_ScriptObject.SetLightUserData("__object", this);
	m_ScriptObject.SetMetaTable(metaTableObj);
}
开发者ID:deanmarsinelli,项目名称:City-Protectors,代码行数:15,代码来源:ScriptComponent.cpp

示例3:

    // /////////////////////////////////////////////////////////////////
    //
    // /////////////////////////////////////////////////////////////////
    LuaStateManager::LuaStateManager(void) : m_GlobalState(true)
    {
        //Create our metatable...
        m_MetaTable = m_GlobalState->GetGlobals().CreateTable("LuaStateManagerMetaTable");
        m_MetaTable.SetObject("__index", m_MetaTable);

        // Here we register two functions to make them accessible to script.
        m_MetaTable.RegisterObjectDirect("DoFile", (LuaStateManager *)0, &LuaStateManager::DoFile);
        m_MetaTable.RegisterObjectDirect("DoResourceFile", (LuaStateManager *)0, &LuaStateManager::DoResourceFile);
        m_MetaTable.RegisterObjectDirect("PrintDebugMessage", (LuaStateManager *)0, &LuaStateManager::PrintDebugMessage);

        LuaPlus::LuaObject luaStateManObj = m_GlobalState->BoxPointer(this);
        luaStateManObj.SetMetaTable(m_MetaTable);

        // And here we expose the metatable as a named entity.
        m_GlobalState->GetGlobals().SetObject("LuaStateManager", luaStateManObj);
    }
开发者ID:pjohalloran,项目名称:gameframework,代码行数:20,代码来源:LuaStateManager.cpp


注:本文中的luaplus::LuaObject::SetMetaTable方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。