while (iter.HasNext())
{
CPyObject menu = iter.Next();
std::string name = "menu_" + encode_id(menu[0].AsString());
stream << name << " ";
stream << menu[1] << " ";
stream << encode_str(menu[2].AsString()) << " ";
stream << GetResource(menu[3], res_mesh, name) << " ";
WriteStatementBlock(menu[4], stream, name);
CPyObject items = menu[5];
CPyIter item_iter = items.GetIter();
stream << items.Len() << " ";
while (item_iter.HasNext())
{
CPyObject item = item_iter.Next();
std::string item_name = "mno_" + encode_id(item[0].AsString());
stream << std::endl;
stream << item_name << " ";
WriteStatementBlock(item[1], stream, name + ", " + item_name + ", conditions");
stream << encode_str(item[2].AsString()) << " ";
WriteStatementBlock(item[3], stream, name + ", " + item_name + ", consequences");
if (item.Len() > 4)
stream << encode_str(item[4].AsString()) << " ";
else
stream << ". ";
}
stream << std::endl;
}
}
void ModuleSystem::WriteMeshes()
{
PrepareModule("meshes");
std::ofstream stream(m_output_path + "meshes.txt");
CPyIter iter = m_meshes.GetIter();
stream << m_meshes.Size() << std::endl;
while (iter.HasNext())
{
CPyObject mesh = iter.Next();
std::string name = "mesh_" + encode_id(mesh[0].AsString());
stream << name << " ";
stream << mesh[1] << " ";
stream << GetResource(mesh[2], res_mesh, name) << " ";
Проба пера , попробовал тут, по моему это то что нужно.
Спасибо Vanok вот так отлично получается