void MapEditor::OnLevelMapList(VectorMapEx<String, Value>& mapList) { Vector<String> files = GetDirectoryFiles( AppendFileName( GetFileDirectory(GetExeFilePath()), "Maps")); Sort(files); for (int i = 0; i < files.GetCount(); ++i) mapList.Add(files[i], files[i]); }
bool FileExists( const std::wstring &swFile ) { int nTopDirectory = swFile.find_last_of( L"\\" ) + 1; std::wstring swFilePath = swFile; swFilePath.resize( nTopDirectory ); std::wstring swFileName = std::wstring( &swFile[nTopDirectory] ); std::list<std::wstring> liDirectoryFiles = GetDirectoryFiles( swFilePath + L"*" ); for( auto iter = liDirectoryFiles.begin(), end = liDirectoryFiles.end(); iter != end; ++iter ) { if( *iter == swFileName ) return true; } return false; }
void MapEditor::OnLoadMap() { WithMapLoadLayout<TopWindow> dlg; CtrlLayoutOKCancel(dlg, t_("Load Map...")); String dir = AppendFileName( GetFileDirectory(GetExeFilePath()), "Mipmaps"); Vector<String> files = GetDirectoryFiles(dir, "*.map"); Sort(files); if (files.GetCount() <= 0) { Exclamation(t_("No any file to load!")); return; } for (int i = 0; i < files.GetCount(); ++i) dlg.MapList.Add(files[i], files[i]); dlg.MapList.SetIndex(0); if (dlg.Execute() != IDOK) return; String fp = AppendFileName(dir, (~dlg.MapList).ToString()); if (!FileExists(fp)) { Exclamation(NFormat(t_("File not found: %s"), fp)); return; } if (!LoadFromXMLFile(_map, fp)) { Exclamation(NFormat(t_("Error while loading map from file: %s"), fp)); return; } UpdateLevelList(); UpdateEditorCtrls(); }
DWORD WINAPI GenerateEntry(TMyPAZEntry **ppMyPAZEntry) { Large_Integer Count; GetDirectoryFiles((LPVoid *)ppMyPAZEntry, L"*.*", sizeof(**ppMyPAZEntry), NULL, &Count, GenEntryCallBack); return Count.LowPart; }