本文整理汇总了C++中IBattle::ModExists方法的典型用法代码示例。如果您正苦于以下问题:C++ IBattle::ModExists方法的具体用法?C++ IBattle::ModExists怎么用?C++ IBattle::ModExists使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IBattle
的用法示例。
在下文中一共展示了IBattle::ModExists方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FilterBattle
bool BattleListFilter::FilterBattle( IBattle& battle )
{
if ( !m_activ )
return true;
if ( m_filter_highlighted->IsChecked() )
{
try
{
wxString host = battle.GetFounder().GetNick();
if ( !useractions().DoActionOnUser( UserActions::ActHighlight, host ) )
return false;
for ( unsigned int i = 0; i < battle.GetNumUsers(); ++i ) {
wxString name = battle.GetUser( i ).GetNick();
if ( !useractions().DoActionOnUser( UserActions::ActHighlight, name ) )
return false;
}
}catch(...){}
}
//Battle Status Check
if ( !m_filter_status_start->GetValue() && battle.GetInGame() )
return false;
if ( !m_filter_status_locked->GetValue() && battle.IsLocked() )
return false;
if ( !m_filter_status_pass->GetValue() && battle.IsPassworded() )
return false;
if ( !m_filter_status_full->GetValue() && battle.IsFull() )
return false;
if ( !m_filter_status_open->GetValue() && !battle.IsPassworded() && !battle.IsLocked() && !battle.GetInGame() && !battle.IsFull() )
return false;
//Rank Check
/** @fixme Is `nonsenserank' useful, or can it be removed? Why is
* it here in the first place?
*/
/* `Nonsense', in this context, apparently means that the battle
* requires rank 100, exactly, AND we're filtering for values less
* than some number.
*/
bool nonsenserank = ( m_filter_rank_mode == BUTTON_MODE_SMALLER ) && ( battle.GetRankNeeded() == 100) ;
if ( m_filter_rank_choice_value != -1 /* don't have "all" selected */
&& !nonsenserank /* Nonsensical `nonsenserank' flag isn't set. */
&& !_IntCompare( battle.GetRankNeeded(),
m_filter_rank_choice_value,
m_filter_rank_mode ) )
return false;
//Player Check
if ( ( m_filter_player_choice_value != -1 ) && !_IntCompare( battle.GetNumUsers() - battle.GetSpectators() , m_filter_player_choice_value , m_filter_player_mode ) )
return false;
//MaxPlayer Check
if ( ( m_filter_maxplayer_choice_value != -1 ) && !_IntCompare( battle.GetMaxPlayers() , m_filter_maxplayer_choice_value , m_filter_maxplayer_mode ) )
return false;
//Spectator Check
if ( ( m_filter_spectator_choice_value != -1 ) && !_IntCompare( battle.GetSpectators() , m_filter_spectator_choice_value , m_filter_spectator_mode ) )
return false;
//Only Maps i have Check
if ( m_filter_map_show->GetValue() && !battle.MapExists() )
return false;
//Only Mods i have Check
if ( m_filter_mod_show->GetValue() && !battle.ModExists() )
return false;
//Strings Plain Text & RegEx Check (Case insensitiv)
//Description:
if ( ! StringMatches(battle.GetDescription(),
m_filter_description_edit->GetValue(),
m_filter_description_expression) )
return false;
//Host:
try { //!TODO
if ( ! StringMatches(battle.GetFounder().GetNick(),
m_filter_host_edit->GetValue(),
m_filter_host_expression) )
return false;
} catch (...) {}
//Map:
if ( ! StringMatches(battle.GetHostMapName(),
m_filter_map_edit->GetValue(),
m_filter_map_expression) )
return false;
//Mod:
if ( ! StringMatches(battle.GetHostModName(),
m_filter_mod_edit->GetValue(),
m_filter_mod_expression) )
return false;
return true;
//.........这里部分代码省略.........