当前位置: 首页>>代码示例>>C++>>正文


C++ IBattle::ModExists方法代码示例

本文整理汇总了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;
//.........这里部分代码省略.........
开发者ID:SpliFF,项目名称:springlobby,代码行数:101,代码来源:battlelistfilter.cpp


注:本文中的IBattle::ModExists方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。