Added: Additional constructor for CSheetId with default type, in case the user did not put the type with the sheet name
--HG-- branch : sound_dev
This commit is contained in:
parent
aa7598efe2
commit
3608f0a429
2 changed files with 15 additions and 10 deletions
|
@ -60,6 +60,12 @@ public :
|
|||
*/
|
||||
explicit CSheetId( const std::string& sheetName );
|
||||
|
||||
/**
|
||||
* Constructor, uses defaultType as extension when sheetName
|
||||
* contains no file extension.
|
||||
*/
|
||||
explicit CSheetId( const std::string& sheetName, const std::string &defaultType );
|
||||
|
||||
// build from a string and returns true if the build succeed
|
||||
bool buildSheetId(const std::string& sheetName);
|
||||
|
||||
|
|
|
@ -106,6 +106,14 @@ CSheetId::CSheetId( const string& sheetName )
|
|||
|
||||
} // CSheetId //
|
||||
|
||||
CSheetId::CSheetId( const std::string& sheetName, const std::string &defaultType )
|
||||
{
|
||||
if (CFile::getExtension(sheetName) == "" && defaultType != "")
|
||||
*this = CSheetId(sheetName + "." + defaultType);
|
||||
else
|
||||
*this = CSheetId(sheetName);
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------
|
||||
// Build
|
||||
|
@ -522,16 +530,7 @@ void CSheetId::serialString(NLMISC::IStream &f, const std::string &defaultType)
|
|||
{
|
||||
std::string sheetName;
|
||||
f.serial(sheetName);
|
||||
if (CFile::getExtension(sheetName) == "" && defaultType != "")
|
||||
sheetName += std::string(".") + defaultType;
|
||||
if (!buildSheetId(sheetName))
|
||||
{
|
||||
if(sheetName.empty())
|
||||
nlwarning("SHEETID: Try to create an CSheetId with empty name. TODO: check why.");
|
||||
else
|
||||
nlwarning("SHEETID: The sheet '%s' is not in sheet_id.bin, setting it to Unknown",sheetName.c_str());
|
||||
*this = Unknown;
|
||||
}
|
||||
*this = CSheetId(sheetName, defaultType);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue