本文整理汇总了C++中IBattle::GetEngineVersion方法的典型用法代码示例。如果您正苦于以下问题:C++ IBattle::GetEngineVersion方法的具体用法?C++ IBattle::GetEngineVersion怎么用?C++ IBattle::GetEngineVersion使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IBattle
的用法示例。
在下文中一共展示了IBattle::GetEngineVersion方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Run
bool Spring::Run( IBattle& battle )
{
std::string executable = SlPaths::GetSpringBinary(battle.GetEngineVersion());
if ( !wxFile::Exists(TowxString(executable)) ) {
executable = SlPaths::GetSpringBinary(SlPaths::GetCompatibleVersion(battle.GetEngineVersion())); //fallback, no exact version found, try fallback version
if ( !wxFile::Exists(TowxString(executable)) ) {
customMessageBoxNoModal( SL_MAIN_ICON, wxFormat(_T("The spring executable version '%s' was not found at the set location '%s', please re-check.")) % battle.GetEngineVersion() % executable, _T("Executable not found") );
ui().mw().ShowConfigure( MainWindow::OPT_PAGE_SPRING );
return false;
}
}
wxArrayString params;
const std::string demopath = battle.GetPlayBackFilePath();
if (!demopath.empty()){
params.push_back(TowxString(demopath));
return LaunchEngine(executable, params);
}
const wxString scripttxt = TowxString(SlPaths::GetLobbyWriteDir()) + _T("script.txt");
try {
wxFile f( scripttxt, wxFile::write );
battle.DisableHostStatusInProxyMode( true );
f.Write( WriteScriptTxt(battle) );
battle.DisableHostStatusInProxyMode( false );
f.Close();
} catch ( std::exception& e ) {
wxLogError( wxString::Format( _T("Couldn't write %s, exception caught:\n %s"), scripttxt.c_str(), TowxString( e.what() ).c_str() ) );
return false;
} catch (...) {
wxLogError( wxString::Format( _T("Couldn't write %s"), scripttxt.c_str()));
return false;
}
params.push_back(scripttxt);
return LaunchEngine(executable, params);
}