예제 #1
0
void CScriptProxy::SerializeTable( TSerialize ser, const char* name )
{
	CHECK_SCRIPT_STACK;

	SmartScriptTable table;
	if (ser.IsReading())
	{
		if (ser.BeginOptionalGroup(name,true))
		{
			table = SmartScriptTable(m_pThis->GetScriptSystem());
			ser.Value( "table", table );
			m_pThis->SetValue(name, table);
			ser.EndGroup();
		}
	}
	else
	{
		if (m_pThis->GetValue(name, table))
		{
			ser.BeginGroup(name);
			ser.Value( "table", table );
			ser.EndGroup();
		}
	}
}
예제 #2
0
CXmlScriptLoad::CXmlScriptLoad() : m_nRefs(0), m_pSS(gEnv->pScriptSystem)
{
	m_tableStack.push( SmartScriptTable(m_pSS) );
}
예제 #3
0
IReadXMLSinkPtr CXmlScriptLoad::BeginArray( const char * name, const XmlNodeRef& definition )
{
	m_tableStack.push( SmartScriptTable(m_pSS) );
	return this;
}