Beispiel #1
0
void* CClass::Create(lua_State *pState)
{
	void* pObj = NULL;

	SQR_TRY
	{
		if(IsAbstract())
		{
			ostringstream strm;
			strm << GetClassName() << " 是注册给lua的抽象类,不允许在lua中创建!" << endl;
			GenErr(strm.str().c_str());
		}

		pObj = m_pFunCreateObj();
	}
	SQR_CATCH(exp)
	{
		ostringstream str;
		str << GetClassName() << "在lua中创建对象的时候发生错误" << endl;

		exp.AppendMsg(str.str().c_str());
		LogExp(exp);
	}
	SQR_TRY_END;

	return pObj;
}
Beispiel #2
0
// SetArraySize
//------------------------------------------------------------------------------
void ReflectionInfo::SetArraySize( void * array, size_t size ) const
{
	ASSERT( IsStruct() );
	ASSERT( !IsAbstract() );
	SetArraySizeV( array, size );
}
Beispiel #3
0
// CreateStruct
//------------------------------------------------------------------------------
Struct * ReflectionInfo::CreateStruct() const
{
	ASSERT( IsStruct() );
	ASSERT( !IsAbstract() );
	return (Struct *)Create();
}
Beispiel #4
0
// CreateObject
//------------------------------------------------------------------------------
RefObject * ReflectionInfo::CreateObject() const
{
	ASSERT( IsObject() );
	ASSERT( !IsAbstract() );
	return (RefObject *)Create();
}