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(); } } }
CXmlScriptLoad::CXmlScriptLoad() : m_nRefs(0), m_pSS(gEnv->pScriptSystem) { m_tableStack.push( SmartScriptTable(m_pSS) ); }
IReadXMLSinkPtr CXmlScriptLoad::BeginArray( const char * name, const XmlNodeRef& definition ) { m_tableStack.push( SmartScriptTable(m_pSS) ); return this; }